6.21.9.3. 인프라 토폴로지 없이 vSphere 스토리지 토폴로지 생성
OpenShift Container Platform은 토폴로지 인식 설정에서 실패 도메인을 지정하는 데 인프라 오브젝트를 사용하는 것이 좋습니다. 인프라 오브젝트에 실패 도메인을 지정하고 ClusterCSIDriver 오브젝트에 topology-categories를 지정하는 것은 지원되지 않는 작업입니다.
6.21.9.3.1. 절차 링크 복사링크가 클립보드에 복사되었습니다!
VMware vCenter vSphere 클라이언트 GUI에서 적절한 영역 및 지역 분류 및 태그를 정의합니다.
vSphere를 사용하면 임의의 이름으로 카테고리를 생성할 수 있지만 OpenShift Container Platform은 토폴로지를 정의하는 데
openshift-region및openshift-zone이름을 사용하는 것이 좋습니다.vSphere 카테고리 및 태그에 대한 자세한 내용은 VMware vSphere 설명서를 참조하십시오.
CSI(컨테이너 스토리지 인터페이스) 드라이버가 이 토폴로지를 감지할 수 있도록 하려면
clusterCSIDriver오브젝트 YAML 파일driverConfig섹션을 편집합니다.-
이전에 생성한
openshift-zone및openshift-region카테고리를 지정합니다. driverType을vSphere로 설정합니다.~ $ oc edit clustercsidriver csi.vsphere.vmware.com -o yaml출력 예
apiVersion: operator.openshift.io/v1 kind: ClusterCSIDriver metadata: name: csi.vsphere.vmware.com spec: logLevel: Normal managementState: Managed observedConfig: null operatorLogLevel: Normal unsupportedConfigOverrides: null driverConfig: driverType: vSphere1 vSphere: topologyCategories:2 - openshift-zone - openshift-region
-
이전에 생성한
다음 명령을 실행하여
CSINode오브젝트에 토폴로지 키가 있는지 확인합니다.~ $ oc get csinode출력 예
NAME DRIVERS AGE co8-4s88d-infra-2m5vd 1 27m co8-4s88d-master-0 1 70m co8-4s88d-master-1 1 70m co8-4s88d-master-2 1 70m co8-4s88d-worker-j2hmg 1 47m co8-4s88d-worker-mbb46 1 47m co8-4s88d-worker-zlk7d 1 47m~ $ oc get csinode co8-4s88d-worker-j2hmg -o yaml출력 예
... spec: drivers: - allocatable: count: 59 name: csi-vsphere.vmware.com nodeID: co8-4s88d-worker-j2hmg topologyKeys:1 - topology.csi.vmware.com/openshift-zone - topology.csi.vmware.com/openshift-region- 1
- vSphere
openshift-zone및openshift-regioncatagories의 토폴로지 키입니다.참고CSINode오브젝트는 업데이트된 토폴로지 정보를 수신하는 데 약간의 시간이 걸릴 수 있습니다. 드라이버가 업데이트되면CSINode오브젝트에 토폴로지 키가 있어야 합니다.
장애 도메인에서 데이터 저장소에 할당할 태그를 생성합니다.
OpenShift Container Platform이 두 개 이상의 장애 도메인을 확장하면 데이터 저장소가 해당 장애 도메인에서 공유되지 않을 수 있습니다. 여기서 PV(영구 볼륨)의 토폴로지 인식 프로비저닝이 유용합니다.
-
vCenter에서 데이터 저장소 태그를 지정하는 카테고리를 생성합니다. 예를 들면
openshift-zonal-datastore-cat입니다. 카테고리가 OpenShift Container Platform 클러스터에 참여하는 데이터 저장소에 태그를 지정하는 데 고유하게 사용되는 경우 다른 카테고리 이름을 사용할 수 있습니다. 또한StoragePod,Datastore,Folder가 생성된 카테고리의 연관 가능한 엔티티로 선택되어 있는지 확인합니다. -
vCenter에서 이전에 생성된 카테고리를 사용하는 태그를 생성합니다. 이 예에서는 태그 이름
openshift-zonal-datastore를 사용합니다. 이전에 생성된 태그(이 예에서는
openshift-zonal-datastore)를 동적 프로비저닝으로 간주하는 실패 도메인의 각 데이터 저장소에 할당합니다.참고카테고리 및 태그에 대해 원하는 모든 이름을 사용할 수 있습니다. 이 예제에서 사용되는 이름은 권장 사항으로 제공됩니다. OpenShift Container Platform 클러스터의 모든 호스트와 공유되는 데이터 저장소만 고유하게 정의하는 태그 및 카테고리가 있는지 확인합니다.
-
vCenter에서 데이터 저장소 태그를 지정하는 카테고리를 생성합니다. 예를 들면
각 실패 도메인의 태그 기반 데이터 저장소를 대상으로 하는 스토리지 정책을 생성합니다.
- vCenter의 주 메뉴에서 정책 및 프로필을 클릭합니다.
- 정책 및 프로필 페이지의 탐색 창에서 VM Storage Policies 를 클릭합니다.
- 만들기를 클릭합니다.
- 스토리지 정책의 이름을 입력합니다.
규칙의 경우 태그 배치 규칙을 선택하고 원하는 데이터 저장소를 대상으로 하는 태그 및 카테고리(이 예에서는
openshift-zonal-datastore태그)를 선택합니다.데이터 저장소는 스토리지 호환성 테이블에 나열됩니다.
새 영역 스토리지 정책을 사용하는 새 스토리지 클래스를 생성합니다.
- 스토리지 > StorageClass 를 클릭합니다.
- StorageClasses 페이지에서 StorageClass 만들기 를 클릭합니다.
- 이름에 새 스토리지 클래스의 이름을 입력합니다.
- Provisioner 에서 csi.vsphere.vmware.com 을 선택합니다.
- 추가 매개변수 에서 StoragePolicyName 매개변수의 경우 Value 를 이전에 생성한 새 영역 스토리지 정책의 이름으로 설정합니다.
생성을 클릭합니다.
출력 예
kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: zoned-sc1 provisioner: csi.vsphere.vmware.com parameters: StoragePolicyName: zoned-storage-policy2 reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer