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. | 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 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.  | **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