10장. VMware vSphere의 클러스터에 대한 여러 리전 및 영역 구성
관리자는 VMware vSphere 인스턴스에서 실행되는 OpenShift Container Platform 클러스터의 여러 리전 및 영역을 지정할 수 있습니다. 이 구성을 사용하면 하드웨어 장애 또는 네트워크 중단으로 인해 클러스터가 실패할 위험이 줄어듭니다.
오류 도메인 구성에는 토폴로지를 생성하는 매개변수가 나열됩니다. 다음 목록에는 이러한 매개변수 중 일부가 명시되어 있습니다.
-
computeCluster
-
데이터 센터
-
데이터 저장소
-
네트워크
-
resourcePool
OpenShift Container Platform 클러스터의 여러 리전 및 영역을 정의한 후 다른 장애 도메인으로 노드를 생성하거나 마이그레이션할 수 있습니다.
기존 OpenShift Container Platform 클러스터 컴퓨팅 노드를 장애 도메인으로 마이그레이션하려면 컴퓨팅 노드에 대한 새 컴퓨팅 머신 세트를 정의해야 합니다. 이 새 머신 세트는 장애 도메인의 토폴로지에 따라 컴퓨팅 노드를 확장하고 기존 컴퓨팅 노드를 축소할 수 있습니다.
클라우드 공급자는 머신 세트 리소스에서 프로비저닝한 모든 컴퓨팅 노드에 topology.kubernetes.io/zone
및 topology.kubernetes.io/region
라벨을 추가합니다.
자세한 내용은 컴퓨팅 머신 세트 생성을 참조하십시오.
10.1. vSphere에서 클러스터의 여러 리전 및 영역 지정
infrastructure .config.openshift.io
구성 리소스를 구성하여 VMware vSphere 인스턴스에서 실행되는 OpenShift Container Platform 클러스터의 여러 리전 및 영역을 지정할 수 있습니다.
클라우드 컨트롤러 관리자 및 vSphere CSI(Container Storage Interface) Operator 드라이버의 토폴로지 인식 기능에는 OpenShift Container Platform 클러스터를 호스팅하는 vSphere 토폴로지에 대한 정보가 필요합니다. 이 토폴로지 정보는 infrastructure .config.openshift.io
구성 리소스에 있습니다.
클러스터의 지역 및 영역을 지정하기 전에 클라우드 공급자가 노드에 라벨을 추가할 수 있도록 모든 데이터 센터 및 컴퓨팅 클러스터에 태그가 포함되어 있는지 확인해야 합니다. 예를 들어 data-center-1
이 region-a
를 나타내고 compute-cluster-1
이 zone-1
을 나타내는 경우 클라우드 공급자는 region-a
의 값을 갖는 openshift-region
카테고리 레이블을 data-center-1
에 추가합니다. 또한 클라우드 공급자는 값이 zone-1
인 openshift-zone
category 태그를 compute-cluster-1
에 추가합니다.
vMotion 기능이 있는 컨트롤 플레인 노드를 실패 도메인으로 마이그레이션할 수 있습니다. 이러한 노드를 실패 도메인에 추가한 후 클라우드 공급자는 해당 노드에 topology.kubernetes.io/zone
및 topology.kubernetes.io/region
라벨을 추가합니다.
사전 요구 사항
-
vCenter 서버에
openshift-region
및openshift-zone
태그 범주를 생성했습니다. - 각 데이터 센터 및 컴퓨팅 클러스터에 연결된 지역 또는 영역의 이름을 나타내는 태그 또는 둘 다가 포함되어 있는지 확인했습니다.
- 선택 사항: 설치 프로그램에 API 및 Ingress 고정 IP 주소를 정의한 경우 모든 지역 및 영역이 공통 계층 2 네트워크를 공유해야 합니다. 이 구성을 사용하면 API 및 Ingress 가상 IP(VIP) 주소가 클러스터와 상호 작용할 수 있습니다.
노드를 생성하거나 노드를 마이그레이션하기 전에 모든 데이터 센터 및 컴퓨팅 클러스터에 태그를 제공하지 않으면 클라우드 공급자는 topology.kubernetes.io/zone
및 topology.kubernetes.io/region
레이블을 노드에 추가할 수 없습니다. 즉, 서비스가 트래픽을 노드로 라우팅할 수 없습니다.
프로세스
다음 명령을 실행하여 클러스터의 infrastructure
.config.openshift.io
CRD(사용자 정의 리소스 정의)를 편집하여 리소스의failureDomains
섹션에 여러 리전과 영역을 지정합니다.$ oc edit infrastructures.config.openshift.io cluster
구성에 정의된 여러 리전 및 영역이 있는
cluster
라는 인스턴스에 대한 infrastructure.config.openshift.io
CRD의 예spec: cloudConfig: key: config name: cloud-provider-config platformSpec: type: vSphere vsphere: vcenters: - datacenters: - <region_a_data_center> - <region_b_data_center> port: 443 server: <your_vcenter_server> failureDomains: - name: <failure_domain_1> region: <region_a> zone: <zone_a> server: <your_vcenter_server> topology: datacenter: <region_a_dc> computeCluster: "</region_a_dc/host/zone_a_cluster>" resourcePool: "</region_a_dc/host/zone_a_cluster/Resources/resource_pool>" datastore: "</region_a_dc/datastore/datastore_a>" networks: - port-group - name: <failure_domain_2> region: <region_a> zone: <zone_b> server: <your_vcenter_server> topology: computeCluster: </region_a_dc/host/zone_b_cluster> datacenter: <region_a_dc> datastore: </region_a_dc/datastore/datastore_a> networks: - port-group - name: <failure_domain_3> region: <region_b> zone: <zone_a> server: <your_vcenter_server> topology: computeCluster: </region_b_dc/host/zone_a_cluster> datacenter: <region_b_dc> datastore: </region_b_dc/datastore/datastore_b> networks: - port-group nodeNetworking: external: {} internal: {}
중요실패 도메인을 생성하고 VMware vSphere 클러스터의 CRD에 정의된 후에는 실패 도메인을 수정하거나 삭제할 수 없습니다. 이 구성으로 이러한 작업을 수행하면 컨트롤 플레인 시스템의 가용성 및 내결함성에 영향을 미칠 수 있습니다.
- 리소스 파일을 저장하여 변경 사항을 적용합니다.
추가 리소스