감독자에서 사용되지 않는 PVC(영구 볼륨 할당)를 사용하여 TKG 서비스 클러스터에서 블록 볼륨을 정적으로 생성할 수 있습니다.
PVC는 다음 조건을 충족해야 합니다.
- PVC는 TKG 클러스터가 상주하는 동일한 네임스페이스에 있습니다.
- PVC가 아직 TKG 클러스터의 포드 또는 감독자의 vSphere 포드에 연결되어 있지 않습니다.
정적 프로비저닝을 사용하면 다른 TKG 클러스터에 더 이상 필요하지 않은 PVC를 새 TKG 클러스터에서 재사용할 수 있습니다. 이렇게 하려면 원래 TKG 클러스터에서 PV(영구 볼륨)의 Reclaim policy
를 Retain
으로 변경한 후 해당 PVC를 삭제합니다.
다음 단계에 따라 남은 기본 볼륨의 정보를 사용하여 새 TKG 클러스터에 PVC를 정적으로 생성합니다.
프로시저
- 감독자의 원래 PVC 이름을 기록해둡니다.
이전 TKG 클러스터의 PVC를 재사용하는 경우 TKG 클러스터에 있는 이전 PV 개체의
volumeHandle에서 PVC 이름을 검색할 수 있습니다.
- PV를 생성합니다.
YAML 파일에서 다음 항목의 값을 지정합니다.
- storageClassName의 경우 감독자에서 PVC에 사용되는 스토리지 클래스 이름을 입력합니다.
- volumeHandle의 경우 얻은 PVC 이름을 입력합니다.
다른 TKG 클러스터의 볼륨을 재사용하는 경우에는 새 TKG 클러스터에 PV를 생성하기 전에 이전 TKG 클러스터에서 PVC 및 PV 개체를 삭제합니다.
다음 YAML 매니페스트를 예제로 사용합니다.
apiVersion: v1
kind: PersistentVolume
metadata:
name: static-tkg-block-pv
annotations:
pv.kubernetes.io/provisioned-by: csi.vsphere.vmware.com
spec:
storageClassName: gc-storage-profile
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
claimRef:
namespace: default
name: static-tkg-block-pvc
csi:
driver: "csi.vsphere.vmware.com"
volumeAttributes:
type: "vSphere CNS Block Volume"
volumeHandle: "supervisor-block-pvc-name" "# Enter the PVC name from the Supervisor."
- 생성한 PV 개체와 일치하도록 PVC를 생성합니다.
storageClassName을 PV에서와 동일한 값으로 설정합니다.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: static-tkg-block-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
storageClassName: gc-storage-profile
volumeName: static-tkg-block-pv
- 생성한 PV에 PVC가 바인딩되었는지 확인합니다.
$ kubectl get pv,pvc
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
persistentvolume/static-tkg-block-pv 2Gi RWO Delete Bound default/static-tkg-block-pvc gc-storage-profile 10s
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/static-tkg-block-pvc Bound static-tkg-block-pv 2Gi RWO gc-storage-profile 10s