Установим NFS provisioner в Kubernetes кластер, для существующего NFS сервера
Дано:
- 192.168.1.1 — IP адрес NFS сервера
- /var/lib/nfs — путь NFS директории на сервере
Устанавливаем используя HELM:
1 | helm install nfs-client-provisioner -- set fullnameOverride=nfs-client-provisioner -- set nfs.server=192.168.1.1 -- set nfs.path= /var/lib/nfs stable /nfs-client-provisioner |
Опцией "fullnameOverride" перезапишем полное имя чарта, так как он после имени все равно добавит "nfs-client-provisioner"
Делаем NFS типом хранилища по умолчанию:
1 | kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' |
Теперь можно создать PVC, NFS provisioner сам отследит запрос и создаст PV
test-pv-claim.yaml:
1 2 3 4 5 6 7 8 9 10 11 12 | apiVersion: v1 kind: PersistentVolumeClaim metadata: name: test -pv-claim labels: app: test -app spec: accessModes: - ReadWriteMany resources: requests: storage: 1Gi |
Создаем PVC:
1 | kubectl apply -f test -pv-claim.yaml |
Проверяем созданный PVC и PV:
1 2 | kubectl get pvc kubectl get pv |
провижионер устарел, теперь https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
Спасибо!
Нужно будет поправить статью, потеряла актуальность за 2 года