【VMware Cloud Director】CSE環境の動作確認②pvc,pv

※storageClassName取得

[root@localhost .kube]# kubectl get storageclasses.storage.k8s.io
NAME                                PROVISIONER                                RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
default-storage-class-1 (default)   named-disk.csi.cloud-director.vmware.com   Delete          Immediate           false                  5d15h

※pvc作成
[root@localhost .kube]# kubectl -n ns01 apply -f pvc.yml
persistentvolumeclaim/pvc01 created

※pvc確認
[root@localhost .kube]# kubectl -n ns01 get pvc -o wide
NAME    STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS              AGE   VOLUMEMODE
pvc01   Bound    pvc-05ce2c88-d3ef-49c7-9307-59b1f9549327   1Mi        RWO            default-storage-class-1   68s   Filesystem

※pv確認(自動で作成される)
[root@localhost .kube]# kubectl -n ns01 get persistentvolume -o wide
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM        STORAGECLASS              REASON   AGE    VOLUMEMODE
pvc-05ce2c88-d3ef-49c7-9307-59b1f9549327   1Mi        RWO            Delete           Bound    ns01/pvc01   default-storage-class-1            2m1s   Filesystem

※pvcを利用したpod作成
[root@localhost .kube]# kubectl apply -f pod.yml
pod/pod01 created

※pvcが紐づいていることを確認
[root@localhost .kube]# kubectl -n ns01 describe pvc pvc01
Name:          pvc01
Namespace:     ns01
StorageClass:  default-storage-class-1
Status:        Bound
Volume:        pvc-05ce2c88-d3ef-49c7-9307-59b1f9549327
Labels:        <none>
Annotations:   pv.kubernetes.io/bind-completed: yes
               pv.kubernetes.io/bound-by-controller: yes
               volume.beta.kubernetes.io/storage-provisioner: named-disk.csi.cloud-director.vmware.com
               volume.kubernetes.io/storage-provisioner: named-disk.csi.cloud-director.vmware.com
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      1Mi
Access Modes:  RWO
VolumeMode:    Filesystem
Used By:       pod01 ←pod01にて利用されている

作成されていることをVCDポータルからも確認

※pvc.yml

[root@localhost .kube]# cat pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc01
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 1Mi
  storageClassName: default-storage-class-1

参考

永続ボリューム | Kubernetes

※pod.yml

[root@localhost .kube]# cat pod.yml
apiVersion: v1
kind: Pod
metadata:
  name: pod01
  namespace: ns01
spec:
  containers:
    - name: pod01
      image: nginx
      volumeMounts:
      - mountPath: "/var/www/html"
        name: mypd
  volumes:
    - name: mypd
      persistentVolumeClaim:
        claimName: pvc01

参考

永続ボリューム | Kubernetes

※pvc作成時に、閾値エラーにより失敗する場合 エラー

プロバイダー画面にて、プロバイダVDC→ストレージコンテナ→編集にて、閾値を変更する

残り容量がしきい値よりも少ない場合にタスクがエラーとなる。