需求:
作為Kubernetes管理員,前一段時間有收到一個需求,需要創建一個可用的storage class,用于提供給給隔離的用戶使用共享磁盤。共享磁盤為NFS磁盤,本例以NFS為例,其他類型的storage class創建也是類似,不同的是尋找不一樣的插件即可。
創建時所用到的helm chart values(nfs-client-provisioner-values.yaml)分享如下:
image:repository: <your_harbor_addr_or_delegeate_ip>:1080/<your_project>/nfs-subdir-external-provisionertag: v4.0.2
nfs:server: <your_nfs_server_addr_or_ip>path: /K8SQA # 這是一個例子,請更改為實際目錄地址storageClass:create: truedefaultClass: falseaccessModes: ReadWriteManyname: nfs-client-qa #這是一個例子,請改為實際可識別的storageclass名稱
resources:limits:cpu: 200mmemory: 512Mirequests:cpu: 100mmemory: 128Mi
創建時使用到的命令:
給nfs-provisioner創建命名空間:
kubectl create namespace nfs-provisioner-qa #這是一個例子,請改為實際可識別的名稱
使用helm install安裝:
helm install nfs-provisioner-qa --namespace nfs-provisioner-qa -f ~/helm_charts/nfs-client-provisioner-values.yaml my-helm/nfs-client-provisioner --version 1.0.2
注意:nfs-subdir-external-provisioner is suitable for v1.22 k8s
關于“my-helm/nfs-client-provisioner”這個helm chart的內容如何下載到本地,請查看helm相關文檔或者參考如下例子:
$ helm repo add nginx-stable https://helm.nginx.com/stable
$ helm repo update
$ # helm pull <REPO_NAME>/<PATH_TO_CHART> --version <CHART_VERSION>
$ helm search repo -l nginx-ingress
NAME CHART VERSION APP VERSION DESCRIPTION
nginx-stable/nginx-ingress 0.15.1 2.4.1 NGINX Ingress Controller
nginx-stable/nginx-ingress 0.15.0 2.4.0 NGINX Ingress Controller
nginx-stable/nginx-ingress 0.14.1 2.3.1 NGINX Ingress Controller
nginx-stable/nginx-ingress 0.14.0 2.3.0 NGINX Ingress Controller
nginx-stable/nginx-ingress 0.13.2 2.2.2 NGINX Ingress Controller
...
$ helm pull nginx-stable/nginx-ingress --version 0.10.5
上一篇:K8S相關小技巧《四》
上一篇:K8S相關小技巧《六》