검색

12.6. 컨트롤 플레인 복원력 및 복구

download PDF

컨트롤 플레인 머신 세트를 사용하여 OpenShift Container Platform 클러스터의 컨트롤 플레인의 복원력을 향상시킬 수 있습니다.

12.6.1. 장애 도메인을 통한 고가용성 및 내결함성

가능한 경우 컨트롤 플레인 머신 세트는 컨트롤 플레인 시스템을 여러 장애 도메인에 분배합니다. 이 구성은 컨트롤 플레인 내에서 고가용성 및 내결함성을 제공합니다. 이 전략은 인프라 공급자 내에서 문제가 발생할 때 컨트롤 플레인을 보호하는 데 도움이 될 수 있습니다.

12.6.1.1. 장애 도메인 플랫폼 지원 및 구성

장애 도메인의 컨트롤 플레인 머신 세트 개념은 클라우드 공급자의 기존 개념과 유사합니다. 모든 플랫폼이 장애 도메인 사용을 지원하는 것은 아닙니다.

표 12.3. 실패 도메인 지원 매트릭스
클라우드 공급자실패 도메인 지원공급자 nomenclature

AWS(Amazon Web Services)

X

가용성 영역(AZ)

GCP(Google Cloud Platform)

X

영역

Microsoft Azure

X

Azure 가용성 영역

Nutanix

X

실패 도메인

Red Hat OpenStack Platform (RHOSP)

X

OpenStack Nova 가용성 영역OpenStack Cinder 가용성 영역

VMware vSphere

X

vSphere 영역에 매핑된 실패 도메인 [1]

  1. 자세한 내용은 " VMware vCenter의 지역 및 영역"을 참조하십시오.

컨트롤 플레인 머신 세트 CR(사용자 정의 리소스)의 장애 도메인 구성은 플랫폼에 따라 다릅니다. CR의 실패 도메인 매개변수에 대한 자세한 내용은 공급자의 샘플 실패 도메인 구성을 참조하십시오.

12.6.1.2. 컨트롤 플레인 시스템 밸런싱

컨트롤 플레인 머신 세트는 CR(사용자 정의 리소스)에 지정된 장애 도메인에서 컨트롤 플레인 시스템의 균형을 조정합니다.

가능한 경우 컨트롤 플레인 머신 세트는 각 장애 도메인을 동일하게 사용하여 적절한 내결함성을 보장합니다. 컨트롤 플레인 시스템보다 장애 도메인이 적은 경우 이름으로 알파벳순으로 재사용하기 위해 장애 도메인을 선택합니다. 장애 도메인이 지정되지 않은 클러스터의 경우 모든 컨트롤 플레인 시스템이 단일 장애 도메인에 배치됩니다.

장애 도메인 구성을 변경하면 컨트롤 플레인 머신 세트가 컨트롤 플레인 시스템을 재조정합니다. 예를 들어 컨트롤 플레인 시스템보다 장애 도메인이 적은 클러스터에 장애 도메인을 추가하는 경우 컨트롤 플레인 머신 세트는 사용 가능한 모든 장애 도메인에서 시스템을 재조정합니다.

12.6.2. 실패한 컨트롤 플레인 시스템 복구

Control Plane Machine Set Operator는 컨트롤 플레인 머신의 복구를 자동화합니다. 컨트롤 플레인 머신이 삭제되면 Operator는 ControlPlaneMachineSet CR(사용자 정의 리소스)에 지정된 구성으로 교체를 생성합니다.

컨트롤 플레인 머신 세트를 사용하는 클러스터의 경우 머신 상태 점검을 구성할 수 있습니다. 머신 상태 점검에서 비정상 컨트롤 플레인 머신이 삭제되어 교체됩니다.

중요

컨트롤 플레인에 대해 MachineHealthCheck 리소스를 구성하는 경우 maxUnhealthy 값을 1 로 설정합니다.

이 구성을 사용하면 여러 컨트롤 플레인 머신이 비정상으로 표시될 때 머신 상태 점검에서 아무 작업도 수행하지 않습니다. 여러 비정상적인 컨트롤 플레인 시스템은 etcd 클러스터의 성능이 저하되거나 실패한 머신을 교체하는 확장 작업이 진행 중임을 나타낼 수 있습니다.

etcd 클러스터의 성능이 저하된 경우 수동 개입이 필요할 수 있습니다. 스케일링 작업이 진행 중인 경우 머신 상태 점검에서 이 작업을 완료할 수 있어야 합니다.

추가 리소스

12.6.3. 머신 라이프사이클 후크를 통한 쿼럼 보호

Machine API Operator를 사용하는 OpenShift Container Platform 클러스터의 경우 etcd Operator는 머신 삭제 단계에 라이프사이클 후크를 사용하여 쿼럼 보호 메커니즘을 구현합니다.

etcd Operator는 preDrain 라이프사이클 후크를 사용하여 컨트롤 플레인 머신의 Pod를 드레이닝하고 제거하는 시기를 제어할 수 있습니다. etcd 쿼럼을 보호하기 위해 etcd Operator는 클러스터 내의 새 노드로 해당 멤버를 마이그레이션할 때까지 etcd 멤버를 제거하지 않습니다.

이 메커니즘을 사용하면 etcd Operator가 etcd 쿼럼의 멤버를 정확하게 제어할 수 있으며 Machine API Operator가 etcd 클러스터에 대한 특정 운영 지식없이 컨트롤 플레인 머신을 안전하게 생성하고 제거할 수 있습니다.

12.6.3.1. 쿼럼 보호 처리 순서를 사용하여 컨트롤 플레인 삭제

컨트롤 플레인 시스템 세트를 사용하는 클러스터에서 컨트롤 플레인 시스템을 교체하면 클러스터에 일시적으로 4개의 컨트롤 플레인 시스템이 있습니다. 네 번째 컨트롤 플레인 노드가 클러스터에 결합되면 etcd Operator가 교체 노드에서 새 etcd 멤버를 시작합니다. etcd Operator에서 이전 컨트롤 플레인 머신이 삭제로 표시된 것을 관찰하면 이전 노드에서 etcd 멤버를 중지하고 교체 etcd 멤버가 클러스터의 쿼럼에 참여하도록 승격합니다.

컨트롤 플레인 머신 Deleting 단계는 다음 순서로 진행됩니다.

  1. 삭제를 위해 컨트롤 플레인 시스템이 지정되었습니다.
  2. 컨트롤 플레인 시스템은 Deleting 단계에 들어갑니다.
  3. preDrain 라이프사이클 후크를 충족하기 위해 etcd Operator는 다음 작업을 수행합니다.

    1. etcd Operator는 네 번째 컨트롤 플레인 머신이 클러스터에 etcd 멤버로 추가될 때까지 기다립니다. 이 새 etcd 멤버의 상태는 Running 이지만 etcd 리더에서 전체 데이터베이스 업데이트가 수신될 때까지 ready되지 않았습니다.
    2. 새 etcd 멤버가 전체 데이터베이스 업데이트를 수신하면 etcd Operator는 새 etcd 멤버를 투표 멤버로 승격하고 클러스터에서 이전 etcd 멤버를 제거합니다.

    이 전환이 완료되면 이전 etcd pod 및 해당 데이터를 제거하는 것이 안전하므로 preDrain 라이프사이클 후크가 제거됩니다.

  4. 컨트롤 플레인 시스템 상태 DrainableTrue 로 설정됩니다.
  5. 머신 컨트롤러는 컨트롤 플레인 시스템에서 지원하는 노드를 드레이닝하려고 합니다.

    • 드레이닝에 실패하면 DrainedFalse 로 설정되고 머신 컨트롤러에서 노드를 다시 드레이닝하려고 합니다.
    • 드레이닝이 성공하면 DrainedTrue 로 설정됩니다.
  6. 컨트롤 플레인 시스템 상태 DrainedTrue 로 설정됩니다.
  7. 다른 Operator에서 preTerminate 라이프사이클 후크를 추가하지 않은 경우 컨트롤 플레인 머신 상태 조건 TerminableTrue 로 설정됩니다.
  8. 머신 컨트롤러는 인프라 공급자에서 인스턴스를 제거합니다.
  9. 머신 컨트롤러에서 Node 오브젝트를 삭제합니다.

etcd 쿼럼 보호 preDrain 라이프사이클 후크를 보여주는 YAML 스니펫

apiVersion: machine.openshift.io/v1beta1
kind: Machine
metadata:
  ...
spec:
  lifecycleHooks:
    preDrain:
    - name: EtcdQuorumOperator 1
      owner: clusteroperator/etcd 2
  ...

1
preDrain 라이프사이클 후크의 이름입니다.
2
preDrain 라이프사이클 후크를 관리하는 후크 구현 컨트롤러입니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.