12.7. 컨트롤 플레인 머신 세트 문제 해결


이 섹션의 정보를 사용하여 발생할 수 있는 문제를 이해하고 복구하십시오.

12.7.1. 컨트롤 플레인 머신 세트 사용자 정의 리소스 상태 확인

ControlPlaneMachineSet CR(사용자 정의 리소스)의 존재 및 상태를 확인할 수 있습니다.

프로세스

  • 다음 명령을 실행하여 CR의 상태를 확인합니다.

    $ oc get controlplanemachineset.machine.openshift.io cluster \
      --namespace openshift-machine-api
    Copy to Clipboard Toggle word wrap
    • Active 의 결과는 ControlPlaneMachineSet CR이 존재하고 활성화되어 있음을 나타냅니다. 관리자 작업이 필요하지 않습니다.
    • Inactive 의 결과는 ControlPlaneMachineSet CR이 존재하지만 활성화되지 않았음을 나타냅니다.
    • NotFound 의 결과는 기존 ControlPlaneMachineSet CR이 없음을 나타냅니다.

다음 단계

컨트롤 플레인 머신 세트를 사용하려면 클러스터에 대한 올바른 설정이 있는 ControlPlaneMachineSet CR이 있는지 확인해야 합니다.

  • 클러스터에 기존 CR이 있는 경우 CR의 구성이 클러스터에 적합한지 확인해야 합니다.
  • 클러스터에 기존 CR이 없는 경우 클러스터에 대한 올바른 구성으로 클러스터를 생성해야 합니다.

12.7.2. 누락된 Azure 내부 로드 밸런서 추가

Azure의 ControlPlaneMachineSet 및 컨트롤 플레인 Machine CR(사용자 정의 리소스) 모두에 internalLoadBalancer 매개변수가 필요합니다. 이 매개변수가 클러스터에 사전 구성되지 않은 경우 두 CR에 모두 추가해야 합니다.

이 매개변수가 Azure 공급자 사양에 있는 위치에 대한 자세한 내용은 샘플 Azure 공급자 사양을 참조하십시오. 컨트롤 플레인 Machine CR의 배치는 비슷합니다.

프로세스

  1. 다음 명령을 실행하여 클러스터의 컨트롤 플레인 시스템을 나열합니다.

    $ oc get machines \
      -l machine.openshift.io/cluster-api-machine-role==master \
      -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  2. 각 컨트롤 플레인 머신에 대해 다음 명령을 실행하여 CR을 편집합니다.

    $ oc edit machine <control_plane_machine_name>
    Copy to Clipboard Toggle word wrap
  3. 클러스터에 대한 올바른 세부 정보를 사용하여 internalLoadBalancer 매개변수를 추가하고 변경 사항을 저장합니다.
  4. 다음 명령을 실행하여 컨트롤 플레인 머신 세트 CR을 편집합니다.

    $ oc edit controlplanemachineset.machine.openshift.io cluster \
      -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  5. 클러스터에 대한 올바른 세부 정보를 사용하여 internalLoadBalancer 매개변수를 추가하고 변경 사항을 저장합니다.

다음 단계

  • 기본 RollingUpdate 업데이트 전략을 사용하는 클러스터의 경우 Operator는 변경 사항을 컨트롤 플레인 구성에 자동으로 전파합니다.
  • OnDelete 업데이트 전략을 사용하도록 구성된 클러스터의 경우 컨트롤 플레인 시스템을 수동으로 교체해야 합니다.

12.7.3. 성능 저하된 etcd Operator 복구

특정 상황에서 etcd Operator의 성능이 저하될 수 있습니다.

예를 들어 수정을 수행하는 동안 머신 상태 점검에서 etcd를 호스팅하는 컨트롤 플레인 시스템을 삭제할 수 있습니다. 그 시점에서 etcd 멤버에 연결할 수 없는 경우 etcd Operator의 성능이 저하됩니다.

etcd Operator의 성능이 저하되면 Operator에서 실패한 멤버를 강제로 제거하고 클러스터 상태를 복원하려면 수동 개입이 필요합니다.

프로세스

  1. 다음 명령을 실행하여 클러스터의 컨트롤 플레인 시스템을 나열합니다.

    $ oc get machines \
      -l machine.openshift.io/cluster-api-machine-role==master \
      -n openshift-machine-api \
      -o wide
    Copy to Clipboard Toggle word wrap

    다음 조건 중 하나라도 실패한 컨트롤 플레인 시스템을 나타낼 수 있습니다.

    • STATE 값이 중지되었습니다.
    • PHASE 값은 Failed 입니다.
    • PHASE 값은 10 분 이상 Deleting 됩니다.
    중요

    계속하기 전에 클러스터에 두 개의 정상 컨트롤 플레인 시스템이 있는지 확인합니다. 둘 이상의 컨트롤 플레인 시스템에서 이 절차의 작업을 수행하면 etcd 쿼럼이 손실되어 데이터가 손실될 수 있습니다.

    대부분의 컨트롤 플레인 호스트가 손실되어 etcd 쿼럼이 손실된 경우 이 절차 대신 재해 복구 절차 "이전 클러스터 상태"를 따라야 합니다.

  2. 다음 명령을 실행하여 실패한 컨트롤 플레인 머신의 머신 CR을 편집합니다.

    $ oc edit machine <control_plane_machine_name>
    Copy to Clipboard Toggle word wrap
  3. 실패한 컨트롤 플레인 시스템에서 lifecycleHooks 매개변수의 내용을 제거하고 변경 사항을 저장합니다.

    etcd Operator는 클러스터에서 실패한 머신을 제거한 다음 새 etcd 멤버를 안전하게 추가할 수 있습니다.

12.7.4. RHOSP에서 실행되는 클러스터 업그레이드

OpenShift Container Platform 4.13 또는 이전 버전으로 생성된 RHOSP(Red Hat OpenStack Platform)에서 실행되는 클러스터의 경우 컨트롤 플레인 머신 세트를 사용하기 전에 업그레이드 후 작업을 수행해야 할 수 있습니다.

업그레이드하는 RHOSP(Red Hat OpenStack Platform)에서 실행되는 일부 클러스터의 경우 다음 구성이 true인 경우 컨트롤 플레인 머신 세트를 사용하기 전에 머신 리소스를 수동으로 업데이트해야 합니다.

  • 업그레이드된 클러스터는 OpenShift Container Platform 4.13 또는 이전 버전을 사용하여 생성되었습니다.
  • 클러스터 인프라는 설치 관리자 프로비저닝입니다.
  • 시스템은 여러 가용성 영역에 분산되어 있었습니다.
  • 시스템은 블록 스토리지 가용성 영역이 정의되지 않은 루트 볼륨을 사용하도록 구성되었습니다.

이 절차가 필요한 이유를 이해하려면 솔루션 #7024383 을 참조하십시오.

프로세스

  1. 모든 컨트롤 플레인 시스템의 경우 환경과 일치하는 모든 컨트롤 플레인 시스템의 공급자 사양을 편집합니다. 예를 들어 머신 master-0 을 편집하려면 다음 명령을 입력합니다.

    $ oc edit machine/<cluster_id>-master-0 -n openshift-machine-api
    Copy to Clipboard Toggle word wrap

    다음과 같습니다.

    <cluster_id>
    업그레이드된 클러스터의 ID를 지정합니다.
  2. provider 사양에서 rootVolume.availabilityZone 속성 값을 사용하려는 가용성 영역의 볼륨으로 설정합니다.

    RHOSP 공급자 사양의 예

    providerSpec:
      value:
        apiVersion: machine.openshift.io/v1alpha1
        availabilityZone: az0
          cloudName: openstack
        cloudsSecret:
          name: openstack-cloud-credentials
          namespace: openshift-machine-api
        flavor: m1.xlarge
        image: rhcos-4.14
        kind: OpenstackProviderSpec
        metadata:
          creationTimestamp: null
        networks:
        - filter: {}
          subnets:
          - filter:
              name: refarch-lv7q9-nodes
              tags: openshiftClusterID=refarch-lv7q9
        rootVolume:
            availabilityZone: nova 
    1
    
            diskSize: 30
            sourceUUID: rhcos-4.12
            volumeType: fast-0
        securityGroups:
        - filter: {}
          name: refarch-lv7q9-master
        serverGroupName: refarch-lv7q9-master
        serverMetadata:
          Name: refarch-lv7q9-master
          openshiftClusterID: refarch-lv7q9
        tags:
        - openshiftClusterID=refarch-lv7q9
        trunk: true
        userDataSecret:
          name: master-user-data
    Copy to Clipboard Toggle word wrap

    1
    영역 이름을 이 값으로 설정합니다.
    참고

    초기 클러스터 배포 후 머신 리소스를 편집하거나 다시 생성한 경우 구성에 대해 이러한 단계를 조정해야 할 수 있습니다.

    RHOSP 클러스터에서 시스템의 루트 볼륨의 가용성 영역을 찾아 값으로 사용합니다.

  3. 다음 명령을 실행하여 컨트롤 플레인 머신 세트 리소스에 대한 정보를 검색합니다.

    $ oc describe controlplanemachineset.machine.openshift.io/cluster --namespace openshift-machine-api
    Copy to Clipboard Toggle word wrap
  4. 다음 명령을 실행하여 리소스를 편집합니다.

    $ oc edit controlplanemachineset.machine.openshift.io/cluster --namespace openshift-machine-api
    Copy to Clipboard Toggle word wrap
  5. 해당 리소스의 경우 spec.state 속성 값을 Active 로 설정하여 클러스터의 컨트롤 플레인 머신 세트를 활성화합니다.

Cluster Control Plane Machine Set Operator에서 컨트롤 플레인을 관리할 수 있습니다.

업그레이드하는 RHOSP(Red Hat OpenStack Platform)에서 실행되는 일부 클러스터의 경우 다음 구성이 true인 경우 컨트롤 플레인 머신 세트를 사용하기 전에 머신 리소스를 수동으로 업데이트해야 합니다.

  • 업그레이드된 클러스터는 OpenShift Container Platform 4.13 또는 이전 버전을 사용하여 생성되었습니다.
  • 클러스터 인프라는 설치 관리자 프로비저닝입니다.
  • 컨트롤 플레인 시스템은 여러 컴퓨팅 가용 영역에 분산되어 있었습니다.

이 절차가 필요한 이유를 이해하려면 솔루션 #7013893 을 참조하십시오.

프로세스

  1. master-1master-2 컨트롤 플레인 시스템의 경우 편집을 위해 공급자 사양을 엽니다. 예를 들어 첫 번째 머신을 편집하려면 다음 명령을 입력합니다.

    $ oc edit machine/<cluster_id>-master-1 -n openshift-machine-api
    Copy to Clipboard Toggle word wrap

    다음과 같습니다.

    <cluster_id>
    업그레이드된 클러스터의 ID를 지정합니다.
  2. master-1master-2 컨트롤 플레인 시스템의 경우 공급자 사양의 serverGroupName 속성 값을 머신 master-0 과 일치하도록 편집합니다.

    RHOSP 공급자 사양의 예

    providerSpec:
      value:
        apiVersion: machine.openshift.io/v1alpha1
        availabilityZone: az0
          cloudName: openstack
        cloudsSecret:
          name: openstack-cloud-credentials
          namespace: openshift-machine-api
        flavor: m1.xlarge
        image: rhcos-4.16
        kind: OpenstackProviderSpec
        metadata:
          creationTimestamp: null
        networks:
        - filter: {}
          subnets:
          - filter:
              name: refarch-lv7q9-nodes
              tags: openshiftClusterID=refarch-lv7q9
        securityGroups:
        - filter: {}
          name: refarch-lv7q9-master
        serverGroupName: refarch-lv7q9-master-az0 
    1
    
        serverMetadata:
          Name: refarch-lv7q9-master
          openshiftClusterID: refarch-lv7q9
        tags:
        - openshiftClusterID=refarch-lv7q9
        trunk: true
        userDataSecret:
          name: master-user-data
    Copy to Clipboard Toggle word wrap

    1
    이 값은 시스템 master-0,master-1master-3 의 경우 일치해야 합니다.
    참고

    초기 클러스터 배포 후 머신 리소스를 편집하거나 다시 생성한 경우 구성에 대해 이러한 단계를 조정해야 할 수 있습니다.

    RHOSP 클러스터에서 컨트롤 플레인 인스턴스가 있는 서버 그룹을 찾아 값으로 사용합니다.

  3. 다음 명령을 실행하여 컨트롤 플레인 머신 세트 리소스에 대한 정보를 검색합니다.

    $ oc describe controlplanemachineset.machine.openshift.io/cluster --namespace openshift-machine-api
    Copy to Clipboard Toggle word wrap
  4. 다음 명령을 실행하여 리소스를 편집합니다.

    $ oc edit controlplanemachineset.machine.openshift.io/cluster --namespace openshift-machine-api
    Copy to Clipboard Toggle word wrap
  5. 해당 리소스의 경우 spec.state 속성 값을 Active 로 설정하여 클러스터의 컨트롤 플레인 머신 세트를 활성화합니다.

Cluster Control Plane Machine Set Operator에서 컨트롤 플레인을 관리할 수 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat