Point nfs-client users to Helm and split up yamls
This commit is contained in:
		
							parent
							
								
									8ce1b16afc
								
							
						
					
					
						commit
						cd7d12292a
					
				
							
								
								
									
										12
									
								
								README.md
								
								
								
								
							
							
						
						
									
										12
									
								
								README.md
								
								
								
								
							|  | @ -8,6 +8,18 @@ | |||
| 
 | ||||
| To note again, you must *already* have an NFS Server. | ||||
| 
 | ||||
| ## With Helm | ||||
| 
 | ||||
| Follow the instructions for the stable helm chart maintained at https://github.com/helm/charts/tree/master/stable/nfs-client-provisioner | ||||
| 
 | ||||
| The tl;dr is | ||||
| 
 | ||||
| ```bash | ||||
| $ helm install stable/nfs-client-provisioner --set nfs.server=x.x.x.x --set nfs.path=/exported/path | ||||
| ``` | ||||
| 
 | ||||
| ## Without Helm | ||||
| 
 | ||||
| **Step 1: Get connection information for your NFS server**. Make sure your NFS server is accessible from your Kubernetes cluster and get the information you need to connect to it. At a minimum you will need its hostname. | ||||
| 
 | ||||
| **Step 2: Get the NFS-Client Provisioner files**. To setup the provisioner you will download a set of YAML files, edit them to add your NFS server's connection information and then apply each with the ``kubectl`` / ``oc`` command.  | ||||
|  |  | |||
|  | @ -0,0 +1 @@ | |||
| The objects in this directory are the same as in the parent except split up into one file per object for certain users' convenience. | ||||
|  | @ -0,0 +1,7 @@ | |||
| apiVersion: storage.k8s.io/v1 | ||||
| kind: StorageClass | ||||
| metadata: | ||||
|   name: managed-nfs-storage | ||||
| provisioner: fuseim.pri/ifs # or choose another name, must match deployment's env PROVISIONER_NAME' | ||||
| parameters: | ||||
|   archiveOnDelete: "false" | ||||
|  | @ -0,0 +1,17 @@ | |||
| kind: ClusterRole | ||||
| apiVersion: rbac.authorization.k8s.io/v1 | ||||
| metadata: | ||||
|   name: nfs-client-provisioner-runner | ||||
| rules: | ||||
|   - apiGroups: [""] | ||||
|     resources: ["persistentvolumes"] | ||||
|     verbs: ["get", "list", "watch", "create", "delete"] | ||||
|   - apiGroups: [""] | ||||
|     resources: ["persistentvolumeclaims"] | ||||
|     verbs: ["get", "list", "watch", "update"] | ||||
|   - apiGroups: ["storage.k8s.io"] | ||||
|     resources: ["storageclasses"] | ||||
|     verbs: ["get", "list", "watch"] | ||||
|   - apiGroups: [""] | ||||
|     resources: ["events"] | ||||
|     verbs: ["create", "update", "patch"] | ||||
|  | @ -0,0 +1,12 @@ | |||
| kind: ClusterRoleBinding | ||||
| apiVersion: rbac.authorization.k8s.io/v1 | ||||
| metadata: | ||||
|   name: run-nfs-client-provisioner | ||||
| subjects: | ||||
|   - kind: ServiceAccount | ||||
|     name: nfs-client-provisioner | ||||
|     namespace: default | ||||
| roleRef: | ||||
|   kind: ClusterRole | ||||
|   name: nfs-client-provisioner-runner | ||||
|   apiGroup: rbac.authorization.k8s.io | ||||
|  | @ -0,0 +1,32 @@ | |||
| kind: Deployment | ||||
| apiVersion: extensions/v1beta1 | ||||
| metadata: | ||||
|   name: nfs-client-provisioner | ||||
| spec: | ||||
|   replicas: 1 | ||||
|   strategy: | ||||
|     type: Recreate | ||||
|   template: | ||||
|     metadata: | ||||
|       labels: | ||||
|         app: nfs-client-provisioner | ||||
|     spec: | ||||
|       serviceAccount: nfs-client-provisioner | ||||
|       containers: | ||||
|         - name: nfs-client-provisioner | ||||
|           image: quay.io/external_storage/nfs-client-provisioner-arm:latest | ||||
|           volumeMounts: | ||||
|             - name: nfs-client-root | ||||
|               mountPath: /persistentvolumes | ||||
|           env: | ||||
|             - name: PROVISIONER_NAME | ||||
|               value: fuseim.pri/ifs | ||||
|             - name: NFS_SERVER | ||||
|               value: 192.168.1.20 | ||||
|             - name: NFS_PATH | ||||
|               value: /mnt/kube_nfs | ||||
|       volumes: | ||||
|         - name: nfs-client-root | ||||
|           nfs: | ||||
|             server: 192.168.1.20 | ||||
|             path: /mnt/kube_nfs | ||||
|  | @ -0,0 +1,32 @@ | |||
| kind: Deployment | ||||
| apiVersion: extensions/v1beta1 | ||||
| metadata: | ||||
|   name: nfs-client-provisioner | ||||
| spec: | ||||
|   replicas: 1 | ||||
|   strategy: | ||||
|     type: Recreate | ||||
|   template: | ||||
|     metadata: | ||||
|       labels: | ||||
|         app: nfs-client-provisioner | ||||
|     spec: | ||||
|       serviceAccountName: nfs-client-provisioner | ||||
|       containers: | ||||
|         - name: nfs-client-provisioner | ||||
|           image: quay.io/external_storage/nfs-client-provisioner:latest | ||||
|           volumeMounts: | ||||
|             - name: nfs-client-root | ||||
|               mountPath: /persistentvolumes | ||||
|           env: | ||||
|             - name: PROVISIONER_NAME | ||||
|               value: fuseim.pri/ifs | ||||
|             - name: NFS_SERVER | ||||
|               value: 10.10.10.60 | ||||
|             - name: NFS_PATH | ||||
|               value: /ifs/kubernetes | ||||
|       volumes: | ||||
|         - name: nfs-client-root | ||||
|           nfs: | ||||
|             server: 10.10.10.60 | ||||
|             path: /ifs/kubernetes | ||||
|  | @ -0,0 +1,8 @@ | |||
| kind: Role | ||||
| apiVersion: rbac.authorization.k8s.io/v1 | ||||
| metadata: | ||||
|   name: leader-locking-nfs-client-provisioner | ||||
| rules: | ||||
|   - apiGroups: [""] | ||||
|     resources: ["endpoints"] | ||||
|     verbs: ["get", "list", "watch", "create", "update", "patch"] | ||||
|  | @ -0,0 +1,13 @@ | |||
| kind: RoleBinding | ||||
| apiVersion: rbac.authorization.k8s.io/v1 | ||||
| metadata: | ||||
|   name: leader-locking-nfs-client-provisioner | ||||
| subjects: | ||||
|   - kind: ServiceAccount | ||||
|     name: nfs-client-provisioner | ||||
|     # replace with namespace where provisioner is deployed | ||||
|     namespace: default | ||||
| roleRef: | ||||
|   kind: Role | ||||
|   name: leader-locking-nfs-client-provisioner | ||||
|   apiGroup: rbac.authorization.k8s.io | ||||
|  | @ -0,0 +1,4 @@ | |||
| apiVersion: v1 | ||||
| kind: ServiceAccount | ||||
| metadata: | ||||
|   name: nfs-client-provisioner | ||||
		Loading…
	
		Reference in New Issue