This commit is contained in:
		
							
								
								
									
										157
									
								
								local-path-storage/local-path-storage.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								local-path-storage/local-path-storage.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,157 @@ | ||||
| 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/v1 | ||||
| kind: ClusterRole | ||||
| metadata: | ||||
|   name: local-path-provisioner-role | ||||
| rules: | ||||
|   - apiGroups: [ "" ] | ||||
|     resources: [ "nodes", "persistentvolumeclaims", "configmaps" ] | ||||
|     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/v1 | ||||
| kind: ClusterRoleBinding | ||||
| metadata: | ||||
|   name: local-path-provisioner-bind | ||||
| 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/v1 | ||||
| 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.22 | ||||
|           imagePullPolicy: IfNotPresent | ||||
|           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 | ||||
| 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"] | ||||
|             } | ||||
|             ] | ||||
|     } | ||||
|   setup: |- | ||||
|     #!/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} | ||||
|   teardown: |- | ||||
|     #!/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} | ||||
|   helperPod.yaml: |- | ||||
|     apiVersion: v1 | ||||
|     kind: Pod | ||||
|     metadata: | ||||
|       name: helper-pod | ||||
|     spec: | ||||
|       containers: | ||||
|       - name: helper-pod | ||||
|         image: busybox | ||||
|         imagePullPolicy: IfNotPresent | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user