12.6. 컨트롤 플레인 머신 세트 문제 해결
이 섹션의 정보를 사용하여 발생할 수 있는 문제를 이해하고 복구하십시오.
12.6.1. 컨트롤 플레인 시스템 세트 사용자 정의 리소스 상태 확인
ControlPlaneMachineSet
CR(사용자 정의 리소스)의 존재 및 상태를 확인할 수 있습니다.
절차
다음 명령을 실행하여 CR의 상태를 확인합니다.
$ oc get controlplanemachineset.machine.openshift.io cluster \ --namespace openshift-machine-api
-
Active
의 결과는ControlPlaneMachineSet
CR이 존재하고 활성화되어 있음을 나타냅니다. 관리자 작업이 필요하지 않습니다. -
비활성
결과는ControlPlaneMachineSet
CR이 존재하지만 활성화되지 않음을 나타냅니다. -
NotFound
의 결과는ControlPlaneMachineSet
CR이 없음을 나타냅니다.
-
다음 단계
컨트롤 플레인 머신 세트를 사용하려면 클러스터에 대한 올바른 설정이 있는 ControlPlaneMachineSet
CR이 있는지 확인해야 합니다.
- 클러스터에 기존 CR이 있는 경우 CR의 구성이 클러스터에 적합한지 확인해야 합니다.
- 클러스터에 기존 CR이 없는 경우 클러스터에 대한 올바른 구성으로 클러스터를 생성해야 합니다.
12.6.2. 누락된 Azure 내부 로드 밸런서 추가
internalLoadBalancer
매개변수는 Azure의 ControlPlane
및 컨트롤 플레인 머신 사용자 정의 리소스(CR) 모두에 필요합니다. 이 매개변수가 클러스터에서 사전 구성되지 않은 경우 두 CR 모두에 추가해야 합니다.
Machine
Set
이 매개 변수가 Azure 공급자 사양에 있는 위치에 대한 자세한 내용은 샘플 Azure 공급자 사양을 참조하십시오. 컨트롤 플레인 머신
CR의 배치는 비슷합니다.
절차
다음 명령을 실행하여 클러스터의 컨트롤 플레인 시스템을 나열합니다.
$ oc get machines \ -l machine.openshift.io/cluster-api-machine-role==master \ -n openshift-machine-api
각 컨트롤 플레인 머신에 대해 다음 명령을 실행하여 CR을 편집합니다.
$ oc edit machine <control_plane_machine_name>
-
클러스터에 대한 올바른 세부 정보와 함께
internalLoadBalancer
매개변수를 추가하고 변경 사항을 저장합니다. 다음 명령을 실행하여 컨트롤 플레인 머신 세트 CR을 편집합니다.
$ oc edit controlplanemachineset.machine.openshift.io cluster \ -n openshift-machine-api
-
클러스터에 대한 올바른 세부 정보와 함께
internalLoadBalancer
매개변수를 추가하고 변경 사항을 저장합니다.
다음 단계
-
기본
RollingUpdate
업데이트 전략을 사용하는 클러스터의 경우 Operator는 변경 사항을 컨트롤 플레인 구성에 자동으로 전파합니다. -
OnDelete
업데이트 전략을 사용하도록 구성된 클러스터의 경우 컨트롤 플레인 시스템을 수동으로 교체해야 합니다.
추가 리소스
12.6.3. 성능이 저하된 etcd Operator 복구
특정 상황으로 인해 etcd Operator의 성능이 저하될 수 있습니다.
예를 들어 수정을 수행하는 동안 머신 상태 점검에서 etcd를 호스팅하는 컨트롤 플레인 머신이 삭제될 수 있습니다. 현재 etcd 멤버에 연결할 수 없는 경우 etcd Operator의 성능이 저하됩니다.
etcd Operator가 성능이 저하되면 Operator에서 실패한 멤버를 제거하고 클러스터 상태를 복원하도록 수동 개입이 필요합니다.
절차
다음 명령을 실행하여 클러스터의 컨트롤 플레인 시스템을 나열합니다.
$ oc get machines \ -l machine.openshift.io/cluster-api-machine-role==master \ -n openshift-machine-api \ -o wide
다음 조건 중 하나라도 실패한 컨트롤 플레인 시스템을 나타낼 수 있습니다.
-
STATE
값이중지되었습니다
. -
PHASE
값은실패
입니다. -
PHASE
값은 10분
이상 삭제되어 있습니다.
중요계속하기 전에 클러스터에 두 개의 정상 컨트롤 플레인 시스템이 있는지 확인합니다. 두 개 이상의 컨트롤 플레인 시스템에서 이 프로세스의 작업을 수행하면 etcd 쿼럼이 손실될 위험이 있으며 데이터가 손실될 수 있습니다.
대부분의 컨트롤 플레인 호스트가 손실되고 etcd 쿼럼이 손실된 경우 이 절차 대신 재해 복구 프로세스 "이전 클러스터 상태로 복원"을 따라야 합니다.
-
다음 명령을 실행하여 실패한 컨트롤 플레인 머신의 머신 CR을 편집합니다.
$ oc edit machine <control_plane_machine_name>
실패한 컨트롤 플레인 시스템에서
lifecycleHooks
매개변수의 콘텐츠를 제거하고 변경 사항을 저장합니다.etcd Operator는 클러스터에서 실패한 머신을 제거한 다음 새 etcd 멤버를 안전하게 추가할 수 있습니다.
추가 리소스