2.2. 기존 Nutanix 클러스터에 장애 도메인 추가


기본적으로 설치 프로그램은 컨트롤 플레인 및 컴퓨팅 머신을 단일 Nutanix Prism Element (클러스터)에 설치합니다. OpenShift Container Platform 클러스터가 배포된 후 실패 도메인을 사용하여 배포에 Prism Element 인스턴스를 추가하여 내결함성을 개선할 수 있습니다.

장애 도메인은 새 컨트롤 플레인 및 컴퓨팅 시스템을 배포하고 기존 컨트롤 플레인 및 컴퓨팅 시스템을 배포할 수 있는 단일 Prism Element 인스턴스를 나타냅니다.

2.2.1. 실패 도메인 요구 사항

실패 도메인을 사용하려는 경우 다음 요구 사항을 고려하십시오.

  • 모든 Nutanix Prism Element 인스턴스는 Prism Central의 동일한 인스턴스에서 관리해야 합니다. 여러 Prism Central 인스턴스로 구성된 배포는 지원되지 않습니다.
  • Prism Element 클러스터를 구성하는 시스템은 장애 도메인이 서로 통신할 수 있도록 동일한 이더넷 네트워크에 있어야 합니다.
  • OpenShift Container Platform 클러스터에서 장애 도메인으로 사용할 각 Prism Element에 서브넷이 필요합니다. 이러한 서브넷을 정의할 때 동일한 IP 주소 접두사(CIDR)를 공유해야 하며 OpenShift Container Platform 클러스터가 사용하는 가상 IP 주소를 포함해야 합니다.

2.2.2. Infrastructure CR에 장애 도메인 추가

Infrastructure CR(사용자 정의 리소스)( infrastructure.config.openshift.io )을 수정하여 기존 Nutanix 클러스터에 장애 도메인을 추가합니다.

작은 정보

고가용성을 보장하기 위해 세 개의 실패 도메인을 구성하는 것이 좋습니다.

프로세스

  1. 다음 명령을 실행하여 Infrastructure CR을 편집합니다.

    $ oc edit infrastructures.config.openshift.io cluster
  2. 실패 도메인을 구성합니다.

    Nutanix 실패 도메인이 있는 Infrastructure CR의 예

    spec:
      cloudConfig:
        key: config
        name: cloud-provider-config
    #...
      platformSpec:
        nutanix:
          failureDomains:
          - cluster:
             type: UUID
             uuid: <uuid>
            name: <failure_domain_name>
            subnets:
            - type: UUID
              uuid: <network_uuid>
          - cluster:
             type: UUID
             uuid: <uuid>
            name: <failure_domain_name>
            subnets:
            - type: UUID
              uuid: <network_uuid>
          - cluster:
              type: UUID
              uuid: <uuid>
            name: <failure_domain_name>
            subnets:
            - type: UUID
              uuid: <network_uuid>
    # ...

    다음과 같습니다.

    <uuid>
    Prism Element의 UUID(Universally unique identifier)를 지정합니다.
    <failure_domain_name>
    실패 도메인의 고유한 이름을 지정합니다. 이름은 64자 미만으로 제한되며 소문자, 숫자, 대시(-)를 포함할 수 있습니다. 대시는 이름의 선행 또는 종료 위치에 있을 수 없습니다.
    <network_uuid>
    Prism Element 서브넷 오브젝트의 UUID를 지정합니다. 서브넷의 CIDR(IP 주소 접두사)에는 OpenShift Container Platform 클러스터가 사용하는 가상 IP 주소가 포함되어야 합니다. OpenShift Container Platform 클러스터에서 장애 도메인(Prism Element)당 하나의 서브넷만 지원됩니다.
  3. CR을 저장하여 변경 사항을 적용합니다.

2.2.3. 장애 도메인에서 컨트롤 플레인 배포

컨트롤 플레인 머신 세트 CR(사용자 정의 리소스)을 수정하여 Nutanix 장애 도메인에 컨트롤 플레인을 배포합니다.

사전 요구 사항

  • 클러스터의 Infrastructure CR(사용자 정의 리소스)에 장애 도메인을 구성했습니다.
  • 컨트롤 플레인 머신 세트 CR(사용자 정의 리소스)은 활성 상태입니다.

컨트롤 플레인 머신 세트 사용자 정의 리소스 상태를 확인하는 방법에 대한 자세한 내용은 "추가 리소스"를 참조하십시오.

프로세스

  1. 다음 명령을 실행하여 컨트롤 플레인 머신 세트 CR을 편집합니다.

    $ oc edit controlplanemachineset.machine.openshift.io cluster -n openshift-machine-api
  2. spec.template.machines_v1beta1_machine_openshift_io.failureDomains 스탠자를 추가하여 실패 도메인을 사용하도록 컨트롤 플레인 머신 세트를 구성합니다.

    Nutanix 장애 도메인이 있는 컨트롤 플레인 머신 세트의 예

    apiVersion: machine.openshift.io/v1
    kind: ControlPlaneMachineSet
      metadata:
        creationTimestamp: null
        labels:
          machine.openshift.io/cluster-api-cluster: <cluster_name>
        name: cluster
        namespace: openshift-machine-api
    spec:
    # ...
      template:
        machineType: machines_v1beta1_machine_openshift_io
        machines_v1beta1_machine_openshift_io:
          failureDomains:
            platform: Nutanix
            nutanix:
            - name: <failure_domain_name_1>
            - name: <failure_domain_name_2>
            - name: <failure_domain_name_3>
    # ...

  3. 변경 사항을 저장하십시오.

기본적으로 컨트롤 플레인 머신 세트는 변경 사항을 컨트롤 플레인 구성에 자동으로 전파합니다. 클러스터가 OnDelete 업데이트 전략을 사용하도록 구성된 경우 컨트롤 플레인을 수동으로 교체해야 합니다. 자세한 내용은 "추가 리소스"를 참조하십시오.

2.2.4. 장애 도메인에서 컴퓨팅 머신 배포

다음 방법 중 하나로 Nutanix 장애 도메인에 컴퓨팅 머신을 배포할 수 있습니다.

2.2.4.1. 실패 도메인 구현을 위해 컴퓨팅 머신 세트 편집

기존 컴퓨팅 머신 세트를 사용하여 Nutanix 장애 도메인에 컴퓨팅 머신을 배포하려면 컴퓨팅 머신 세트를 구성으로 업데이트한 다음 스케일링을 사용하여 기존 컴퓨팅 머신을 교체합니다.

사전 요구 사항

  • 클러스터의 Infrastructure CR(사용자 정의 리소스)에 장애 도메인을 구성했습니다.

프로세스

  1. 다음 명령을 실행하여 클러스터의 Infrastructure CR을 확인합니다.

    $ oc describe infrastructures.config.openshift.io cluster
  2. 각 장애 도메인(platformSpec.nutanix.failureDomains)에 대해 클러스터의 UUID, 이름 및 서브넷 오브젝트 UUID를 기록해 둡니다. 이러한 값은 컴퓨팅 머신 세트에 실패 도메인을 추가하는 데 필요합니다.
  3. 다음 명령을 실행하여 클러스터의 컴퓨팅 머신 세트를 나열합니다.

    $ oc get machinesets -n openshift-machine-api

    출력 예

    NAME                   DESIRED   CURRENT   READY   AVAILABLE   AGE
    <machine_set_name_1>   1         1         1       1           55m
    <machine_set_name_2>   1         1         1       1           55m

  4. 다음 명령을 실행하여 첫 번째 컴퓨팅 머신 세트를 편집합니다.

    $ oc edit machineset <machine_set_name_1> -n openshift-machine-api
  5. 다음을 spec.template.spec.providerSpec.value 스탠자로 업데이트하여 첫 번째 실패 도메인을 사용하도록 컴퓨팅 시스템 세트를 구성합니다.

    참고

    clustersubnets 필드에 지정한 값이 클러스터의 Infrastructure CR의 failureDomains 스탠자에 구성된 값과 일치하는지 확인합니다.

    Nutanix 실패 도메인이 있는 컴퓨팅 머신 세트의 예

    apiVersion: machine.openshift.io/v1
    kind: MachineSet
    metadata:
      creationTimestamp: null
      labels:
        machine.openshift.io/cluster-api-cluster: <cluster_name>
      name: <machine_set_name_1>
      namespace: openshift-machine-api
    spec:
      replicas: 2
    # ...
      template:
        spec:
    # ...
          providerSpec:
            value:
              apiVersion: machine.openshift.io/v1
              failureDomain:
                name: <failure_domain_name_1>
              cluster:
                type: uuid
                uuid: <prism_element_uuid_1>
              subnets:
              - type: uuid
                uuid: <prism_element_network_uuid_1>
    # ...

  6. 변경 사항을 적용하기 위해 컴퓨팅 머신 세트를 스케일링할 때 필요하므로 spec.replicas 의 값을 확인합니다.
  7. 변경 사항을 저장하십시오.
  8. 다음 명령을 실행하여 업데이트된 컴퓨팅 머신 세트에서 관리하는 머신을 나열합니다.

    $ oc get -n openshift-machine-api machines \
      -l machine.openshift.io/cluster-api-machineset=<machine_set_name_1>

    출력 예

    NAME                        PHASE     TYPE   REGION    ZONE                 AGE
    <machine_name_original_1>   Running   AHV    Unnamed   Development-STS   4h
    <machine_name_original_2>   Running   AHV    Unnamed   Development-STS   4h

  9. 업데이트된 컴퓨팅 머신 세트에서 관리하는 각 머신에 대해 다음 명령을 실행하여 삭제 주석을 설정합니다.

    $ oc annotate machine/<machine_name_original_1> \
      -n openshift-machine-api \
      machine.openshift.io/delete-machine="true"
  10. 새 구성으로 대체 머신을 생성하려면 다음 명령을 실행하여 컴퓨팅 머신 세트를 복제본 수의 두 배로 스케일링합니다.

    $ oc scale --replicas=<twice_the_number_of_replicas> \1
      machineset <machine_set_name_1> \
      -n openshift-machine-api
    1
    예를 들어 컴퓨팅 시스템 세트의 원래 복제본 수가 2 이면 복제본을 4 로 스케일링합니다.
  11. 다음 명령을 실행하여 업데이트된 컴퓨팅 머신 세트에서 관리하는 머신을 나열합니다.

    $ oc get -n openshift-machine-api machines -l machine.openshift.io/cluster-api-machineset=<machine_set_name_1>

    새 머신이 Running 단계에 있는 경우 컴퓨팅 머신 세트를 원래 복제본 수로 확장할 수 있습니다.

  12. 이전 구성으로 생성된 머신을 제거하려면 다음 명령을 실행하여 컴퓨팅 머신 세트를 원래 복제본 수로 확장합니다.

    $ oc scale --replicas=<original_number_of_replicas> \1
      machineset <machine_set_name_1> \
      -n openshift-machine-api
    1
    예를 들어 컴퓨팅 시스템 세트의 원래 복제본 수가 2인 경우 복제본을 2 로 확장합니다.
  13. 필요에 따라 배포에 사용할 수 있는 추가 실패 도메인을 참조하도록 머신 세트를 계속 수정합니다.

2.2.4.2. 실패 도메인 구현을 위해 컴퓨팅 머신 세트 교체

컴퓨팅 머신 세트를 교체하여 Nutanix 장애 도메인에 컴퓨팅 머신을 배포하려면 구성으로 새 컴퓨팅 머신 세트를 생성하고 생성된 시스템이 시작될 때까지 기다린 다음 이전 컴퓨팅 머신 세트를 삭제합니다.

사전 요구 사항

  • 클러스터의 Infrastructure CR(사용자 정의 리소스)에 장애 도메인을 구성했습니다.

프로세스

  1. 다음 명령을 실행하여 클러스터의 Infrastructure CR을 확인합니다.

    $ oc describe infrastructures.config.openshift.io cluster
  2. 각 장애 도메인(platformSpec.nutanix.failureDomains)에 대해 클러스터의 UUID, 이름 및 서브넷 오브젝트 UUID를 기록해 둡니다. 이러한 값은 컴퓨팅 머신 세트에 실패 도메인을 추가하는 데 필요합니다.
  3. 다음 명령을 실행하여 클러스터의 컴퓨팅 머신 세트를 나열합니다.

    $ oc get machinesets -n openshift-machine-api

    출력 예

    NAME                            DESIRED   CURRENT   READY   AVAILABLE   AGE
    <original_machine_set_name_1>   1         1         1       1           55m
    <original_machine_set_name_2>   1         1         1       1           55m

  4. 기존 컴퓨팅 머신 세트의 이름을 확인합니다.
  5. 다음 방법 중 하나를 사용하여 새 컴퓨팅 머신 세트 CR(사용자 정의 리소스)의 값이 포함된 YAML 파일을 생성합니다.

    • 다음 명령을 실행하여 기존 컴퓨팅 머신 세트 구성을 새 파일에 복사합니다.

      $ oc get machineset <original_machine_set_name_1> \
        -n openshift-machine-api -o yaml > <new_machine_set_name_1>.yaml

      기본 텍스트 편집기를 사용하여 이 YAML 파일을 편집할 수 있습니다.

    • 원하는 텍스트 편집기를 사용하여 < new_machine_set_name_1>.yaml 이라는 빈 YAML 파일을 생성하고 새 컴퓨팅 머신 세트에 필요한 값을 포함합니다.

      특정 필드에 설정할 값이 확실하지 않은 경우 다음 명령을 실행하여 기존 컴퓨팅 머신 세트 CR의 값을 볼 수 있습니다.

      $ oc get machineset <original_machine_set_name_1> \
        -n openshift-machine-api -o yaml

      출력 예

      apiVersion: machine.openshift.io/v1beta1
      kind: MachineSet
      metadata:
        labels:
          machine.openshift.io/cluster-api-cluster: <infrastructure_id> 1
        name: <infrastructure_id>-<role> 2
        namespace: openshift-machine-api
      spec:
        replicas: 1
        selector:
          matchLabels:
            machine.openshift.io/cluster-api-cluster: <infrastructure_id>
            machine.openshift.io/cluster-api-machineset: <infrastructure_id>-<role>
        template:
          metadata:
            labels:
              machine.openshift.io/cluster-api-cluster: <infrastructure_id>
              machine.openshift.io/cluster-api-machine-role: <role>
              machine.openshift.io/cluster-api-machine-type: <role>
              machine.openshift.io/cluster-api-machineset: <infrastructure_id>-<role>
          spec:
            providerSpec: 3
              ...

      1
      클러스터 인프라 ID입니다.
      2
      기본 노드 레이블입니다.
      참고

      사용자 프로비저닝 인프라가 있는 클러스터의 경우 컴퓨팅 머신 세트는 작업자 또는 인프라 역할이 있는 머신만 생성할 수 있습니다.

      3
      컴퓨팅 머신 세트 CR의 <providerSpec> 섹션에 있는 값은 플랫폼에 따라 다릅니다. CR의 <providerSpec> 매개변수에 대한 자세한 내용은 공급자의 샘플 컴퓨팅 머신 세트 CR 구성을 참조하십시오.
  6. <new_machine_set_name_1>.yaml 파일의 spec.template.spec.providerSpec.value 스탠자에 다음을 업데이트하여 첫 번째 실패 도메인을 사용하도록 새 컴퓨팅 머신 세트를 구성합니다.

    참고

    clustersubnets 필드에 지정한 값이 클러스터의 Infrastructure CR의 failureDomains 스탠자에 구성된 값과 일치하는지 확인합니다.

    Nutanix 실패 도메인이 있는 컴퓨팅 머신 세트의 예

    apiVersion: machine.openshift.io/v1
    kind: MachineSet
    metadata:
      creationTimestamp: null
      labels:
        machine.openshift.io/cluster-api-cluster: <cluster_name>
      name: <new_machine_set_name_1>
      namespace: openshift-machine-api
    spec:
      replicas: 2
    # ...
      template:
        spec:
    # ...
          providerSpec:
            value:
              apiVersion: machine.openshift.io/v1
              failureDomain:
                name: <failure_domain_name_1>
              cluster:
                type: uuid
                uuid: <prism_element_uuid_1>
              subnets:
              - type: uuid
                uuid: <prism_element_network_uuid_1>
    # ...

  7. 변경 사항을 저장하십시오.
  8. 다음 명령을 실행하여 컴퓨팅 머신 세트 CR을 생성합니다.

    $ oc create -f <new_machine_set_name_1>.yaml
  9. 필요에 따라 배포에 사용할 수 있는 추가 장애 도메인을 참조하는 컴퓨팅 머신 세트를 계속 생성합니다.
  10. 새 컴퓨팅 머신 세트마다 다음 명령을 실행하여 새 컴퓨팅 머신 세트에서 관리하는 머신을 나열합니다.

    $ oc get -n openshift-machine-api machines -l machine.openshift.io/cluster-api-machineset=<new_machine_set_name_1>

    출력 예

    NAME                             PHASE          TYPE   REGION    ZONE                 AGE
    <machine_from_new_1>             Provisioned    AHV    Unnamed   Development-STS   25s
    <machine_from_new_2>             Provisioning   AHV    Unnamed   Development-STS   25s

    새 머신이 Running 단계에 있을 때 실패 도메인 구성이 포함되지 않은 이전 컴퓨팅 머신 세트를 삭제할 수 있습니다.

  11. 새 머신이 Running 단계에 있음을 확인한 경우 각각에 대해 다음 명령을 실행하여 이전 컴퓨팅 머신 세트를 삭제합니다.

    $ oc delete machineset <original_machine_set_name_1> -n openshift-machine-api

검증

  • 업데이트된 구성이 없는 컴퓨팅 머신 세트가 삭제되었는지 확인하려면 다음 명령을 실행하여 클러스터의 컴퓨팅 머신 세트를 나열합니다.

    $ oc get machinesets -n openshift-machine-api

    출력 예

    NAME                       DESIRED   CURRENT   READY   AVAILABLE   AGE
    <new_machine_set_name_1>   1         1         1       1           4m12s
    <new_machine_set_name_2>   1         1         1       1           4m12s

  • 업데이트된 구성이 없는 컴퓨팅 머신이 삭제되었는지 확인하려면 다음 명령을 실행하여 클러스터의 시스템을 나열합니다.

    $ oc get -n openshift-machine-api machines

    삭제가 진행되는 동안 출력 예

    NAME                        PHASE           TYPE     REGION      ZONE                 AGE
    <machine_from_new_1>        Running         AHV      Unnamed     Development-STS   5m41s
    <machine_from_new_2>        Running         AHV      Unnamed     Development-STS   5m41s
    <machine_from_original_1>   Deleting        AHV      Unnamed     Development-STS   4h
    <machine_from_original_2>   Deleting        AHV      Unnamed     Development-STS   4h

    삭제가 완료되면 출력 예

    NAME                        PHASE           TYPE     REGION      ZONE                 AGE
    <machine_from_new_1>        Running         AHV      Unnamed     Development-STS   6m30s
    <machine_from_new_2>        Running         AHV      Unnamed     Development-STS   6m30s

  • 새 컴퓨팅 머신 세트로 생성한 머신에 올바른 구성이 있는지 확인하려면 다음 명령을 실행하여 새 머신 중 하나에 대해 CR의 관련 필드를 검사합니다.

    $ oc describe machine <machine_from_new_1> -n openshift-machine-api
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.