| apiVersion: v1 |
| kind: Namespace |
| metadata: |
| name: local-path-storage |
| --- |
| apiVersion: v1 |
| kind: ServiceAccount |
| metadata: |
| name: local-path-provisioner-service-account |
| namespace: local-path-storage |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1beta1 |
| kind: ClusterRole |
| metadata: |
| name: local-path-provisioner-role |
| namespace: local-path-storage |
| rules: |
| - apiGroups: [""] |
| resources: ["nodes", "persistentvolumeclaims"] |
| verbs: ["get", "list", "watch"] |
| - apiGroups: [""] |
| resources: ["endpoints", "persistentvolumes", "pods"] |
| verbs: ["*"] |
| - apiGroups: [""] |
| resources: ["events"] |
| verbs: ["create", "patch"] |
| - apiGroups: ["storage.k8s.io"] |
| resources: ["storageclasses"] |
| verbs: ["get", "list", "watch"] |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1beta1 |
| kind: ClusterRoleBinding |
| metadata: |
| name: local-path-provisioner-bind |
| namespace: local-path-storage |
| roleRef: |
| apiGroup: rbac.authorization.k8s.io |
| kind: ClusterRole |
| name: local-path-provisioner-role |
| subjects: |
| - kind: ServiceAccount |
| name: local-path-provisioner-service-account |
| namespace: local-path-storage |
| --- |
| apiVersion: apps/v1beta2 |
| kind: Deployment |
| metadata: |
| name: local-path-provisioner |
| namespace: local-path-storage |
| spec: |
| replicas: 1 |
| selector: |
| matchLabels: |
| app: local-path-provisioner |
| template: |
| metadata: |
| labels: |
| app: local-path-provisioner |
| spec: |
| serviceAccountName: local-path-provisioner-service-account |
| containers: |
| - name: local-path-provisioner |
| image: rancher/local-path-provisioner:v0.0.11 |
| imagePullPolicy: Always |
| command: |
| - local-path-provisioner |
| - --debug |
| - start |
| - --config |
| - /etc/config/config.json |
| volumeMounts: |
| - name: config-volume |
| mountPath: /etc/config/ |
| env: |
| - name: POD_NAMESPACE |
| valueFrom: |
| fieldRef: |
| fieldPath: metadata.namespace |
| volumes: |
| - name: config-volume |
| configMap: |
| name: local-path-config |
| --- |
| apiVersion: storage.k8s.io/v1 |
| kind: StorageClass |
| metadata: |
| name: local-path |
| annotations: |
| storageclass.kubernetes.io/is-default-class: "true" |
| provisioner: rancher.io/local-path |
| volumeBindingMode: WaitForFirstConsumer |
| reclaimPolicy: Delete |
| --- |
| kind: ConfigMap |
| apiVersion: v1 |
| metadata: |
| name: local-path-config |
| namespace: local-path-storage |
| data: |
| config.json: |- |
| { |
| "nodePathMap":[ |
| { |
| "node":"DEFAULT_PATH_FOR_NON_LISTED_NODES", |
| "paths":["/opt/local-path-provisioner"] |
| } |
| ] |
| } |