IK.AM

@making's tech note


Read Write ManyなPVが作れないKubernetes環境でRead Write ManyなPVを作れるようにするメモ

🗃 {Dev/CaaS/Kubernetes/NFS}
🏷 Kubernetes 🏷 kind 🏷 NFS 🏷 NFS Ganesha server and external provisioner 
🗓 Updated at 2023-09-05T05:34:29Z  🗓 Created at 2023-09-05T05:34:29Z   🌎 English Page

Kindなど、Read Write ManyなPVが作れないKubernetes環境でRead Write ManyなPVを作れるようにするメモ。

NFS Ganesha server and external provisionerはInternal NFS Server兼NFS Provisionerとして利用できます。 このNFS Provisionerを使ってRead Write ManyでPVを作成できます。

Helmでインストールします。

helm repo add nfs-ganesha-server-and-external-provisioner https://kubernetes-sigs.github.io/nfs-ganesha-server-and-external-provisioner/

helm upgrade nfs-server-provisioner nfs-ganesha-server-and-external-provisioner/nfs-server-provisioner \
  --set persistence.enabled=true \
  --set persistence.size=10Gi \
  --install \
  -n nfs \
  --create-namespace \
  --wait

次のPodが作成されます。

$ kubectl get pod -n nfs
NAME                       READY   STATUS    RESTARTS   AGE
nfs-server-provisioner-0   1/1     Running   0          33s

nfsというStorageClassも作成されます。

$ kubectl get sc
NAME                 PROVISIONER                            RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
nfs                  cluster.local/nfs-server-provisioner   Delete          Immediate              true                   1m19s
standard (default)   rancher.io/local-path                  Delete          WaitForFirstConsumer   false                  25h

次のようなPVCを作成します。

kubectl apply -f- << EOF
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: test-dynamic-volume-claim
spec:
  storageClassName: "nfs"
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
---
EOF

RWXでPVを作成できました。

$ kubectl get pvc
NAME                        STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
test-dynamic-volume-claim   Bound    pvc-1f062a6f-3955-427a-ae6e-8b25ff17e670   1Gi        RWX            nfs            31s

確認できたらPVCを削除します。

kubectl delete pvc test-dynamic-volume-claim

✒️️ Edit  ⏰ History  🗑 Delete