12.6. 컨트롤 플레인 머신 세트 문제 해결
이 섹션의 정보를 사용하여 발생할 수 있는 문제를 이해하고 복구합니다.
12.6.1. 컨트롤 플레인 시스템 세트 사용자 정의 리소스 상태 확인 링크 복사링크가 클립보드에 복사되었습니다!
ControlPlaneMachineSet
CR(사용자 정의 리소스)의 존재 및 상태를 확인할 수 있습니다.
절차
다음 명령을 실행하여 CR의 상태를 확인합니다.
oc get controlplanemachineset.machine.openshift.io cluster \ --namespace openshift-machine-api
$ oc get controlplanemachineset.machine.openshift.io cluster \ --namespace openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
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
$ oc get machines \ -l machine.openshift.io/cluster-api-machine-role==master \ -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 컨트롤 플레인 머신에 대해 다음 명령을 실행하여 CR을 편집합니다.
oc edit machine <control_plane_machine_name>
$ oc edit machine <control_plane_machine_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
클러스터에 대한 올바른 세부 정보와 함께
internalLoadBalancer
매개변수를 추가하고 변경 사항을 저장합니다. 다음 명령을 실행하여 컨트롤 플레인 머신 세트 CR을 편집합니다.
oc edit controlplanemachineset.machine.openshift.io cluster \ -n openshift-machine-api
$ oc edit controlplanemachineset.machine.openshift.io cluster \ -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
클러스터에 대한 올바른 세부 정보와 함께
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
$ oc get machines \ -l machine.openshift.io/cluster-api-machine-role==master \ -n openshift-machine-api \ -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 조건 중 하나라도 실패한 컨트롤 플레인 시스템을 나타낼 수 있습니다.
-
STATE
값이중지되었습니다
. -
PHASE
값은실패
입니다. -
PHASE
값은 10분
이상 삭제되어 있습니다.
중요계속하기 전에 클러스터에 두 개의 정상 컨트롤 플레인 시스템이 있는지 확인합니다. 두 개 이상의 컨트롤 플레인 시스템에서 이 프로세스의 작업을 수행하면 etcd 쿼럼이 손실될 위험이 있으며 데이터가 손실될 수 있습니다.
대부분의 컨트롤 플레인 호스트가 손실되고 etcd 쿼럼이 손실된 경우 이 절차 대신 재해 복구 프로세스 "이전 클러스터 상태로 복원"을 따라야 합니다.
-
다음 명령을 실행하여 실패한 컨트롤 플레인 머신의 머신 CR을 편집합니다.
oc edit machine <control_plane_machine_name>
$ oc edit machine <control_plane_machine_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 실패한 컨트롤 플레인 시스템에서
lifecycleHooks
매개변수의 콘텐츠를 제거하고 변경 사항을 저장합니다.etcd Operator는 클러스터에서 실패한 머신을 제거한 다음 새 etcd 멤버를 안전하게 추가할 수 있습니다.