The local-path-provisioner module provides the local storage on Kubernetes nodes using HostPath volumes. Creates StorageClass resources to manage the allocation of local storage.
For more details about module, refer to the corresponding documentation section.
Module architecture
The following simplifications are made in the diagram:
- The diagram shows containers in different pods interacting directly with each other. In reality, they communicate via the corresponding Kubernetes Services (internal load balancers). Service names are omitted if they are obvious from the diagram context. Otherwise, the Service name is shown above the arrow.
- Pods may run multiple replicas. However, each pod is shown as a single replica in the diagram.
The Level 2 C4 architecture of the local-path-provisioner module and its interactions with other components of Deckhouse Kubernetes Platform (DKP) are shown in the following diagrams:

Module components
The module consists of the following components:
-
Local-path-provisioner: It performs the following actions when a Pod orders a disk:
- creates a HostPath PersistentVolume;
- creates a local disk folder on the desired node along the path consisting of the path parameter of LocalPathProvisioner custom resource, the PersistentVolume name and the PersistentVolumeClaim name.
It consists of a single container:
- local-path-provisioner: It is an open source project.
-
Helper-pod: It runs an installation script (
SETUP) on the node before creating the volume to prepare the volume directory on the node and a cleanup script (TEARDOWN) after deleting the volume to clear the volume directory on the node.It consists of a single container:
- helper-pod
Module interactions
The module interacts with the following components:
-
Kube-apiserver:
- Manages PersistentVolumeClaim resources.