10.6. 제어 평면 복원력 및 복구
제어 평면 머신 세트를 사용하면 OpenShift Container Platform 클러스터의 제어 평면 복원력을 향상시킬 수 있습니다.
10.6.1. 장애 도메인을 통한 고가용성 및 내결함성 링크 복사링크가 클립보드에 복사되었습니다!
가능한 경우, 제어 평면 머신 세트는 제어 평면 머신을 여러 장애 도메인에 분산합니다. 이 구성은 제어 평면 내에서 높은 가용성과 내결함성을 제공합니다. 이 전략은 인프라 제공자 내에서 문제가 발생할 때 제어 평면을 보호하는 데 도움이 될 수 있습니다.
10.6.1.1. 장애 도메인 플랫폼 지원 및 구성 링크 복사링크가 클립보드에 복사되었습니다!
장애 도메인의 제어 평면 머신 세트 개념은 클라우드 제공자의 기존 개념과 유사합니다. 모든 플랫폼이 장애 도메인 사용을 지원하는 것은 아닙니다.
클라우드 공급자 | 장애 도메인 지원 | 공급자 명명법 |
---|---|---|
AWS(Amazon Web Services) | X | |
GCP(Google Cloud Platform) | X | |
Microsoft Azure | X | |
Nutanix | X | |
Red Hat 오픈스택 플랫폼(RHOSP) | X | |
VMware vSphere | X | vSphere Zone에 매핑된 실패 도메인 [1] |
- 자세한 내용은 "VMware vCenter의 지역 및 영역"을 참조하세요.
제어 평면 머신 세트 사용자 정의 리소스(CR)의 장애 도메인 구성은 플랫폼에 따라 다릅니다. CR의 실패 도메인 매개변수에 대한 자세한 내용은 공급자의 실패 도메인 구성 샘플을 참조하세요.
10.6.1.2. 제어 평면 기계 밸런싱 링크 복사링크가 클립보드에 복사되었습니다!
제어 평면 머신 세트는 사용자 정의 리소스(CR)에 지정된 장애 도메인에서 제어 평면 머신의 균형을 맞춥니다.
가능한 경우 컨트롤 플레인 머신 세트는 각 장애 도메인을 동일하게 사용하여 적절한 내결함성을 보장합니다. 제어 평면 머신보다 장애 도메인이 적으면 장애 도메인은 이름별로 알파벳순으로 재사용을 위해 선택됩니다. 장애 도메인이 지정되지 않은 클러스터의 경우 모든 제어 평면 머신은 단일 장애 도메인 내에 배치됩니다.
장애 도메인 구성에 대한 일부 변경으로 인해 제어 평면 머신 세트가 제어 평면 머신의 균형을 다시 맞추게 됩니다. 예를 들어, 제어 평면 머신보다 장애 도메인이 적은 클러스터에 장애 도메인을 추가하면 제어 평면 머신 세트는 사용 가능한 모든 장애 도메인에 걸쳐 머신의 균형을 재조정합니다.
10.6.2. 실패한 제어 평면 머신 복구 링크 복사링크가 클립보드에 복사되었습니다!
제어 평면 머신 세트 운영자는 제어 평면 머신의 복구를 자동화합니다. 제어 평면 머신이 삭제되면 운영자는 ControlPlaneMachineSet
사용자 정의 리소스(CR)에 지정된 구성을 사용하여 대체 머신을 만듭니다.
제어 평면 머신 세트를 사용하는 클러스터의 경우 머신 상태 검사를 구성할 수 있습니다. 머신 상태 검사는 상태가 좋지 않은 제어 평면 머신을 삭제하여 교체합니다.
제어 평면에 대해 MachineHealthCheck
리소스를 구성하는 경우 maxUnhealthy
값을 1
로 설정합니다.
이 구성은 여러 제어 평면 머신이 비정상적으로 보일 때 머신 상태 검사가 아무런 조치도 취하지 않도록 보장합니다. 여러 개의 비정상적 제어 평면 머신은 etcd 클러스터가 저하되었거나 실패한 머신을 교체하기 위한 확장 작업이 진행 중임을 나타낼 수 있습니다.
etcd 클러스터가 저하되면 수동 개입이 필요할 수 있습니다. 스케일링 작업이 진행 중인 경우 머신 상태 점검에서 이 작업을 완료할 수 있어야 합니다.
10.6.3. 머신 라이프사이클 후크를 통한 쿼럼 보호 링크 복사링크가 클립보드에 복사되었습니다!
Machine API Operator를 사용하는 OpenShift Container Platform 클러스터의 경우 etcd Operator는 머신 삭제 단계에 대한 수명 주기 후크를 사용하여 쿼럼 보호 메커니즘을 구현합니다.
preDrain
라이프사이클 후크를 사용하면 etcd 운영자가 제어 플레인 머신의 포드가 비워지고 제거되는 시기를 제어할 수 있습니다. etcd 쿼럼을 보호하기 위해 etcd 운영자는 클러스터 내의 새 노드로 해당 멤버를 마이그레이션할 때까지 etcd 멤버가 제거되지 않도록 합니다.
이 메커니즘을 사용하면 etcd 운영자가 etcd 쿼럼의 멤버를 정확하게 제어할 수 있으며, 머신 API 운영자가 etcd 클러스터에 대한 구체적인 운영 지식 없이도 제어 평면 머신을 안전하게 생성하고 제거할 수 있습니다.
10.6.3.1. 쿼럼 보호 처리 순서를 사용한 제어 평면 삭제 링크 복사링크가 클립보드에 복사되었습니다!
컨트롤 플레인 시스템 세트를 사용하는 클러스터에서 컨트롤 플레인 시스템을 교체하면 클러스터에 일시적으로 4개의 컨트롤 플레인 시스템이 있습니다. 네 번째 제어 평면 노드가 클러스터에 가입하면 etcd 운영자는 교체 노드에서 새로운 etcd 멤버를 시작합니다. etcd 운영자가 이전 제어 평면 머신이 삭제되도록 표시되었음을 관찰하면 이전 노드의 etcd 멤버를 중지하고 대체 etcd 멤버를 승격시켜 클러스터 쿼럼에 가입시킵니다.
컨트롤 플레인 머신 Deleting
단계는 다음 순서로 진행됩니다.
- 제어 평면 머신이 삭제될 예정입니다.
-
컨트롤 플레인 시스템은
Deleting
단계에 들어갑니다. preDrain
라이프사이클 후크를 충족시키기 위해 etcd 운영자는 다음 작업을 수행합니다.-
etcd 운영자는 네 번째 제어 평면 머신이 etcd 멤버로 클러스터에 추가될 때까지 기다립니다. 이 새 etcd 멤버의 상태는
Running
이지만 etcd 리더에서 전체 데이터베이스 업데이트가 수신될 때까지ready
되지 않았습니다. - 새로운 etcd 멤버가 전체 데이터베이스 업데이트를 받으면 etcd 운영자는 새로운 etcd 멤버를 투표 멤버로 승격시키고 클러스터에서 기존 etcd 멤버를 제거합니다.
이 전환이 완료되면 이전 etcd 포드와 해당 데이터를 제거하는 것이 안전하므로
preDrain
라이프사이클 후크가 제거됩니다.-
etcd 운영자는 네 번째 제어 평면 머신이 etcd 멤버로 클러스터에 추가될 때까지 기다립니다. 이 새 etcd 멤버의 상태는
-
제어 평면 머신 상태 조건인
Drainable
이True
로 설정됩니다. 머신 컨트롤러는 제어 평면 머신에 의해 지원되는 노드를 비우려고 시도합니다.
-
드레이닝에 실패하면
Drained
가False
로 설정되고 머신 컨트롤러에서 노드를 다시 드레이닝하려고 합니다. -
드레이닝이 성공하면
Drained
가True
로 설정됩니다.
-
드레이닝에 실패하면
-
제어 평면 머신 상태 조건
'Drained'
가True
로 설정됩니다. -
다른 운영자가
preTerminate
라이프사이클 후크를 추가하지 않은 경우 제어 평면 머신 상태 조건Terminable
이True
로 설정됩니다. - 머신 컨트롤러는 인프라 공급자로부터 인스턴스를 제거합니다.
-
머신 컨트롤러가
노드
객체를 삭제합니다.
etcd 쿼럼 보호 preDrain
수명 주기 후크를 보여주는 YAML 스니펫