이 페이지에서는 VMware용 Anthos 클러스터(GKE On-Prem)와 함께 vSphere Container Storage Interface(CSI) 스토리지 드라이버를 사용하는 방법을 설명합니다.
개요
vSphere CSI 드라이버는 VMware용 Anthos 클러스터에 자동으로 배포됩니다. 다른 CSI 드라이버 사용에 대한 자세한 내용은 CSI 드라이버 설치를 참조하세요.
vSphere 요구사항
vSphere CSI 드라이버를 사용하려면 다음이 필요합니다.
Linux 기반 지원되는 vCenter Server 버전
볼륨 확장
오프라인 볼륨을 확장하려면 vCenter Server와 ESXi 모두 버전 7.0 업데이트 1 이상이어야 합니다.
온라인 볼륨을 확장하려면 vCenter Server와 ESXi 모두 버전 7.0 업데이트 2 이상이어야 합니다.
Cns.Searchable
vCenter 사용자 계정에 루트 vCenter 객체에 대한 Cns.Searchable 권한이 있어야 합니다.
CSI 기본 요건 확인
계정이 CSI 기본 요건을 충족하는지 여부가 확실하지 않으면 CSI 워크로드를 배포하기 전에 gkectl diagnose cluster
를 실행합니다.
드라이버 가용성 확인
vSphere CSI 드라이버가 사용자 클러스터에 설치되었으면 standard-rwo
라는 StorageClass가 생성됩니다. 모든 노드에서 드라이버를 사용할 수 있는지 확인하려면 다음 명령어를 실행합니다.
kubectl get csinode -o="custom-columns=NAME:metadata.name,DRIVERS:spec.drivers[].name"
다음과 같은 출력이 표시됩니다.
NAME DRIVERS node-0 csi.vsphere.vmware.com node-1 csi.vsphere.vmware.com node-2 csi.vsphere.vmware.com
프로비저닝 볼륨
vSphere CSI 드라이버에 볼륨을 프로비저닝하려면 PersistentVolumeClaim의 storageClassName
필드를 standard-rwo
로 설정합니다.
기본 스토리지 클래스 설정
standard-rwo
를 기본 스토리지 클래스로 설정하려면 기본 스토리지 클래스를 참조하세요.
추가 StorageClass 만들기
datastoreurl
또는 storagepolicyname
매개변수를 사용하여 클러스터에 vSphere CSI StorageClass를 추가로 만들 수 있습니다.
다음 예시에서는 storagepolicyname
매개변수를 사용합니다.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: gold parameters: csi.storage.k8s.io/fstype: ext4 storagepolicyname: "Gold Policy" provisioner: csi.vsphere.vmware.com
datastoreurl
매개변수의 올바른 값을 찾으려면 다음 명령어를 실행합니다.
govc datastore.info DATASTORE_NAME
여기서 DATASTORE_NAME은 vSphere Datastore의 이름입니다.
datastoreurl
의 출력에서 URL에 이 값을 사용합니다. 예시 출력은 다음과 같이 표시됩니다.
Name: DATASTORE_NAME Path: /DATACENTER_NAME/datastore/DATASTORE_NAME Type: VMFS URL: ds:///vmfs/volumes/5d864fa0-7f2184d4-8eb4-3cfdfe0ce9a0/ Capacity: 20479.8 GB Free: 10066.9 GB
볼륨 삭제
사용자 클러스터를 삭제할 때 vSphere CSI 드라이버로 프로비저닝된 볼륨은 삭제되지 않습니다. 클러스터를 삭제하기 전에 모든 PVC 및 StatefulSet를 삭제해야 합니다. 볼륨을 삭제하려면 다음 명령어를 실행합니다.
kubectl delete statefulsets,persistentvolumeclaims --namespace=MY_NAMESPACE --all
여기서 MY_NAMESPACE는 Kubernetes 네임스페이스입니다.
볼륨을 삭제하지 않고 사용자 클러스터를 삭제한 경우 vCenter에서 볼륨을 찾을 수 있습니다.
vCenter에서 Datastore를 선택합니다.
모니터 > 클라우드 기반 스토리지 > 컨테이너 볼륨으로 이동합니다.
Kubernetes 클러스터 이름이 각 볼륨의 세부정보 섹션에 표시됩니다.
vSphere CSI 드라이버 사용 중지
vSphere CSI 지원을 삭제하려면 사용자 클러스터 구성에 다음을 추가합니다.
# (Optional) Storage specification for the cluster storage: # To disable the vSphere CSI driver, set this to true. The value is set to false by default and # the vSphere CSI driver is enabled by default on vSphere version >= 6.7U3. vSphereCSIDisabled: true