2장. Self Node Remediation 사용

Self Node Remediation Operator를 사용하여 비정상 노드를 자동으로 재부팅할 수 있습니다. 이 수정 전략에서는 상태 저장 애플리케이션과 RWO(ReadWriteOnce) 볼륨의 다운타임을 최소화하고 일시적인 오류가 발생하는 경우 컴퓨팅 용량을 복원합니다.

2.1. Self Node Remediation Operator 정보

Self Node Remediation Operator는 클러스터 노드에서 실행되며 비정상으로 식별되는 노드를 재부팅합니다. Operator는 MachineHealthCheck 또는 NodeHealthCheck 컨트롤러를 사용하여 클러스터의 노드 상태를 탐지합니다. 노드가 비정상으로 확인되면 MachineHealthCheck 또는 NodeHealthCheck 리소스에서 SelfNodeRemediation CR(사용자 정의 리소스)을 생성하여 Self Node Remediation Operator를 트리거합니다.

SelfNodeRemediation CR은 다음 YAML 파일과 유사합니다.

apiVersion: self-node-remediation.medik8s.io/v1alpha1
kind: SelfNodeRemediation
metadata:
  name: selfnoderemediation-sample
  namespace: openshift-operators
spec:
status:
  lastError: <last_error_message> 1
1
수정 중에 발생한 마지막 오류를 표시합니다. 수정에 성공하거나 오류가 없는 경우 필드가 비어 있습니다.

Self Node Remediation Operator는 상태 저장 애플리케이션의 다운타임을 최소화하고 일시적인 오류가 발생하는 경우 컴퓨팅 용량을 복원합니다. IPMI 또는 API와 같은 관리 인터페이스에 관계없이 이 Operator를 사용하여 설치 관리자 프로비저닝 인프라 또는 사용자 프로비저닝 인프라와 같은 클러스터 설치 유형에 관계없이 노드를 프로비저닝할 수 있습니다.

2.1.1. 워치독 장치 정보

워치독 장치는 다음 중 하나일 수 있습니다.

  • 독립적으로 구동되는 하드웨어 장치
  • 제어하는 호스트와 전원을 공유하는 하드웨어 장치
  • 소프트웨어 또는 softdog에서 구현된 가상 장치

하드웨어 워치독 및 softdog 장치에는 각각 전자적 또는 소프트웨어 타이머가 있습니다. 이러한 워치독 장치는 오류 조건이 감지될 때 머신이 안전 상태가 되도록 하는 데 사용됩니다. 클러스터는 정상 상태임을 증명하기 위해 워치독 타이머를 반복적으로 재설정해야 합니다. 교착 상태, CPU 부족 및 네트워크 또는 디스크 액세스 손실과 같은 오류 상태로 인해 이 타이머가 만료될 수 있습니다. 타이머가 만료되면 워치독 장치는 결함이 발생했음을 가정하고 장치는 강제 노드 재설정을 트리거합니다.

하드웨어 워치독 장치는 softdog 장치보다 안정적입니다.

2.1.1.1. 워치독 장치를 사용한 Self Node Remediation Operator 동작 이해

Self Node Remediation Operator는 존재하는 워치독 장치를 기반으로 수정 전략을 결정합니다.

하드웨어 워치독 장치가 구성되어 있고 사용 가능한 경우 Operator에서 이를 해결하기 위해 사용합니다. 하드웨어 워치독 장치가 구성되지 않은 경우 Operator는 해결을 위해 softdog 장치를 활성화하고 사용합니다.

시스템 또는 구성에서 워치독 장치를 모두 지원하는 경우 Operator는 소프트웨어 재부팅을 사용하여 노드를 수정합니다.

추가 리소스

워치독 구성