6.6 KiB
Local Path Provisioner
Local Path Provisioner provides a way for the Kubernetes users to
utilize the local storage in each node. Based on the user configuration, the Local Path Provisioner will create
hostPath
based persistent volume on the node automatically. It utilizes the features introduced by Kubernetes Local
Persistent Volume feature, but make it a simpler
solution than the built-in local
volume feature in Kubernetes.
This Helm Chart is based on the official local-path-provisioner chart and on previous work on the Interlegis local-path-provisioner chart.
Introduction
This chart bootstraps a Local Path Provisioner deployment on a Kubernetes cluster using the Helm package manager.
Prerequisites
- Kubernetes 1.12+ with Beta APIs enabled
Configuration
The following table lists the configurable parameters of the Local Path Provisioner for Kubernetes chart and their default values.
Parameter | Description | Default |
---|---|---|
image.repository |
Local Path Provisioner image name | rancher/local-path-provisioner |
image.tag |
Local Path Provisioner image tag | v0.0.18 |
image.pullPolicy |
Image pull policy | IfNotPresent |
storageClass.create |
If true, create a StorageClass |
true |
storageClass.provisionerName |
The provisioner name for the storage class | nil |
storageClass.defaultClass |
If true, set the created StorageClass as the cluster's default StorageClass |
false |
storageClass.name |
The name to assign the created StorageClass | local-path |
storageClass.reclaimPolicy |
ReclaimPolicy field of the class | Delete |
storageClass.hostDir |
Default host path for volumes. Ignored if using customNodePathMap. | /opt/local-path-provisioner |
customNodePathMap |
Custom configuration of where to store the data on each node | [] |
resources |
Local Path Provisioner resource requests & limits | {} |
rbac.create |
If true, create & use RBAC resources | true |
serviceAccount.create |
If true, create the Local Path Provisioner service account | true |
serviceAccount.name |
Name of the Local Path Provisioner service account to use or create | nil |
nodeSelector |
Node labels for Local Path Provisioner pod assignment | {} |
tolerations |
Node taints to tolerate | [] |
affinity |
Pod affinity | {} |
configmap.setup |
Configuration of script to execute setup operations on each node | #!/bin/sh while getopts "m:s:p:" opt do case $opt in p) absolutePath=$OPTARG ;; s) sizeInBytes=$OPTARG ;; m) volMode=$OPTARG ;; esac done mkdir -m 0777 -p ${absolutePath} |
configmap.teardown |
Configuration of script to execute teardown operations on each node | #!/bin/sh while getopts "m:s:p:" opt do case $opt in p) absolutePath=$OPTARG ;; s) sizeInBytes=$OPTARG ;; m) volMode=$OPTARG ;; esac done rm -rf ${absolutePath} |
configmap.name |
configmap name | local-path-config |
configmap.helperPod |
helper pod yaml file | apiVersion: v1 kind: Pod metadata: name: helper-pod spec: containers: - name: helper-pod image: busybox |