16장. vSphere의 클러스터에 대한 여러 리전 및 영역 구성

관리자는 VMware vSphere 인스턴스에서 실행되는 OpenShift Container Platform 클러스터의 여러 리전 및 영역을 지정할 수 있습니다. 이 구성을 사용하면 하드웨어 장애 또는 네트워크 중단으로 인해 클러스터가 실패할 위험이 줄어듭니다.

오류 도메인 구성에는 토폴로지를 생성하는 매개변수가 나열됩니다. 다음 목록에는 이러한 매개변수 중 일부가 명시되어 있습니다.

  • computeCluster
  • 데이터 센터
  • 데이터 저장소
  • 네트워크
  • resourcePool

OpenShift Container Platform 클러스터의 여러 리전 및 영역을 정의한 후 다른 장애 도메인으로 노드를 생성하거나 마이그레이션할 수 있습니다.

중요

기존 OpenShift Container Platform 클러스터 컴퓨팅 노드를 장애 도메인으로 마이그레이션하려면 컴퓨팅 노드에 대한 새 컴퓨팅 머신 세트를 정의해야 합니다. 이 새 머신 세트는 장애 도메인의 토폴로지에 따라 컴퓨팅 노드를 확장하고 기존 컴퓨팅 노드를 축소할 수 있습니다.

클라우드 공급자는 머신 세트 리소스에서 프로비저닝한 모든 컴퓨팅 노드에 topology.kubernetes.io/zonetopology.kubernetes.io/region 라벨을 추가합니다.

자세한 내용은 컴퓨팅 머신 세트 생성을 참조하십시오.

16.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 구성 리소스에 있습니다.

클러스터의 지역 및 영역을 지정하기 전에 클라우드 공급자가 노드에 레이블을 추가할 수 있도록 모든 데이터 센터 및 컴퓨팅 클러스터에 태그가 포함되어 있는지 확인해야 합니다. 예를 들어 datacenter-1 region-a 를 나타내고 compute-cluster-1zone-1 을 나타내는 경우 클라우드 공급자는 region-a의 값이 datacenter-1 에 있는 openshift-region category 레이블을 추가합니다. 또한 클라우드 공급자는 값이 zone-1openshift-zone category 태그를 compute-cluster-1 에 추가합니다.

참고

vMotion 기능이 있는 컨트롤 플레인 노드를 실패 도메인으로 마이그레이션할 수 있습니다. 이러한 노드를 실패 도메인에 추가한 후 클라우드 공급자는 해당 노드에 topology.kubernetes.io/zonetopology.kubernetes.io/region 라벨을 추가합니다.

사전 요구 사항

  • vCenter 서버에 openshift-regionopenshift-zone 태그 범주를 생성했습니다.
  • 각 데이터 센터 및 컴퓨팅 클러스터에 연결된 지역 또는 영역의 이름을 나타내는 태그 또는 둘 다가 포함되어 있는지 확인했습니다.
  • 선택 사항: 설치 프로그램에 APIIngress 고정 IP 주소를 정의한 경우 모든 지역 및 영역이 공통 계층 2 네트워크를 공유해야 합니다. 이 구성을 사용하면 API 및 Ingress 가상 IP(VIP) 주소가 클러스터와 상호 작용할 수 있습니다.
중요

노드를 생성하거나 노드를 마이그레이션하기 전에 모든 데이터 센터 및 컴퓨팅 클러스터에 태그를 제공하지 않으면 클라우드 공급자는 topology.kubernetes.io/zonetopology.kubernetes.io/region 레이블을 노드에 추가할 수 없습니다. 즉, 서비스가 트래픽을 노드로 라우팅할 수 없습니다.

프로세스

  1. 다음 명령을 실행하여 클러스터의 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_datacenter>
                - <region_b_datacenter>
              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에 정의된 후에는 실패 도메인을 수정하거나 삭제할 수 없습니다. 이 구성으로 이러한 작업을 수행하면 컨트롤 플레인 시스템의 가용성 및 내결함성에 영향을 미칠 수 있습니다.

  2. 리소스 파일을 저장하여 변경 사항을 적용합니다.