forked from k-space/kube
		
	
		
			
				
	
	
		
			158 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| 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: mirror.gcr.io/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: mirror.gcr.io/library/busybox
 | |
|         imagePullPolicy: IfNotPresent
 | |
| 
 | |
| 
 |