2.2. 컨트롤 플레인 펜싱

이전 릴리스에서는 작업자 노드에서 Self Node Remediation 및 Node Health Check를 활성화할 수 있습니다. 노드 장애가 발생하면 컨트롤 플레인 노드에서 수정 전략을 실행할 수도 있습니다.

Self Node Remediation은 두 가지 주요 시나리오에서 수행됩니다.

  • API Server 연결

    • 이 시나리오에서는 수정할 컨트롤 플레인 노드가 격리되지 않습니다. API 서버에 직접 연결하거나 API 서버에 직접 연결된 작업자 노드 또는 컨트롤 플레인 노드를 통해 API 서버에 간접적으로 연결할 수 있습니다.
    • API Server Connectivity가 있는 경우 Node Health Check Operator에서 노드에 대한 SelfNodeRemediation CR(사용자 정의 리소스)을 생성한 경우에만 컨트롤 플레인 노드가 수정됩니다.
  • API Server 연결 없음

    • 이 시나리오에서는 수정할 컨트롤 플레인 노드가 API 서버와 분리됩니다. 노드는 API 서버에 직접 또는 간접적으로 연결할 수 없습니다.
    • API Server Connectivity가 없는 경우 다음 단계에 설명된 대로 컨트롤 플레인 노드가 수정됩니다.

      • 대부분의 피어 작업자 노드가 있는 컨트롤 플레인 노드의 상태를 확인합니다. 대부분의 피어 작업자 노드에 연결할 수 없는 경우 노드를 추가로 분석합니다.

        • 컨트롤 플레인 노드의 자체 진단

          • 자체 진단이 통과되면 아무 작업도 수행하지 않습니다.
          • 자체 진단에 실패한 경우 노드가 펜싱되고 수정됩니다.
          • 현재 지원되는 자체 진단은 kubelet 서비스 상태를 확인하고 구성을 선택하여 끝점 가용성을 확인하는 것입니다.
      • 노드가 대부분의 작업자 피어와 통신할 수 없는 경우 다른 컨트롤 플레인 노드와 컨트롤 플레인 노드의 연결을 확인합니다. 노드가 다른 컨트롤 플레인 피어와 통신할 수 있는 경우 작업을 수행하지 않습니다. 그렇지 않으면 노드가 펜싱되고 수정됩니다.