k8s动态分配存储【helm安装nfs-client】
前文:在所有节点安装nfs-utils并启动相关服务。NFS服务端新建一个挂载目录echo "/home/nfs *(rw,async,no_root_squash)" >> /etc/exportsexportfs -rshowmount -e localhost安装nfs-clienthelm install stable/nfs-client-provi...
·
前文:在所有节点安装nfs-utils并启动相关服务。
- NFS服务端新建一个挂载目录
echo "/home/nfs *(rw,async,no_root_squash)" >> /etc/exports
exportfs -r
showmount -e localhost
- 安装nfs-client
helm install stable/nfs-client-provisioner --name test-storageclass --set nfs.server=192.168.1.210 --set nfs.path=/home/nfs
可以先用命令"helm inspect values stable/nfs-client-provisioner"查看所有配置项,提前下载好镜像。
replicaCount: 1 strategyType: Recreate image: repository: quay.io/external_storage/nfs-client-provisioner tag: v3.1.0-k8s1.11 pullPolicy: IfNotPresent nfs: server: path: /ifs/kubernetes mountOptions: # For creating the StorageClass automatically: storageClass: create: true # Set a provisioner name. If unset, a name will be generated. # provisionerName: # Set StorageClass as the default StorageClass # Ignored if storageClass.create is false defaultClass: false # Set a StorageClass name # Ignored if storageClass.create is false name: nfs-client # Allow volume to be expanded dynamically allowVolumeExpansion: true # Method used to reclaim an obsoleted volume reclaimPolicy: Delete # When set to false your PVs will not be archived by the provisioner upon deletion of the PVC. archiveOnDelete: true ## For RBAC support: rbac: # Specifies whether RBAC resources should be created create: true # If true, create & use Pod Security Policy resources # https://kubernetes.io/docs/concepts/policy/pod-security-policy/ podSecurityPolicy: enabled: false ## Set pod priorityClassName # priorityClassName: "" serviceAccount: # Specifies whether a ServiceAccount should be created create: true # The name of the ServiceAccount to use. # If not set and create is true, a name is generated using the fullname template name: resources: {} # limits: # cpu: 100m # memory: 128Mi # requests: # cpu: 100m # memory: 128Mi
也可以修改下上面的yaml,直接通过nfs-client.yaml创建:
replicaCount: 1 strategyType: Recreate image: repository: quay.io/external_storage/nfs-client-provisioner tag: v3.1.0-k8s1.11 pullPolicy: IfNotPresent nfs: server: 192.168.1.210 path: /home/nfs mountOptions: storageClass: create: true defaultClass: false name: nfs-client allowVolumeExpansion: true reclaimPolicy: Delete archiveOnDelete: true rbac: create: true podSecurityPolicy: enabled: false
执行命令:"helm install stable/nfs-client-provisioner -n test-storageclass -f nfs-client.yaml"
- 创建PVC测试,创建test-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: testclaim
spec:
storageClassName: "nfs-client"
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Mi
kubectl apply -f test-pvc.yaml
- 查看结果
[root@k8s-master home]# kubectl get sc
NAME PROVISIONER AGE
nfs-client cluster.local/test-storageclass-nfs-client-provisioner 36m
[root@k8s-master home]# kubectl get pv,pvc
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
persistentvolume/pvc-d9bdfa45-6417-4ad9-bbf0-02301f928342 10Mi RWX Delete Bound default/testclaim nfs-client 33m
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/testclaim Bound pvc-d9bdfa45-6417-4ad9-bbf0-02301f928342 10Mi RWX nfs-client 34m
更多推荐
已为社区贡献17条内容
所有评论(0)