This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6.6. Poison Pill Operator를 사용하여 노드 수정
Poison Pill Operator를 사용하여 비정상 노드를 자동으로 재부팅할 수 있습니다. 이 업데이트 전략에서는 상태 저장 애플리케이션의 다운 타임 및 ReadWriteOnce (RWO) 볼륨을 최소화하고 일시적인 오류가 발생하면 컴퓨팅 용량을 복원합니다.
6.6.1. Poison Pill Operator 정보 링크 복사링크가 클립보드에 복사되었습니다!
Poison Pill Operator는 클러스터 노드에서 실행되며 비정상으로 식별되는 노드를 재부팅합니다. Operator는 MachineHealthCheck
컨트롤러를 사용하여 클러스터에서 노드의 상태를 감지합니다. 노드가 비정상으로 식별되면 MachineHealthCheck
리소스에서 PoisonPillRemediation
CR(사용자 정의 리소스)을 생성하여 Poison Pill Operator를 트리거합니다.
Poison Pill Operator는 상태 저장 애플리케이션의 다운타임을 최소화하고 일시적인 오류가 발생하면 컴퓨팅 용량을 복원합니다. 설치 관리자 프로비저닝 인프라 또는 사용자 프로비저닝 인프라와 같은 클러스터 설치 유형에 관계없이 IPMI 또는 API와 같은 관리 인터페이스에 관계없이 이 Operator를 사용하여 노드를 프로비저닝할 수 있습니다.
6.6.1.1. Poison Pill Operator 설정 이해 링크 복사링크가 클립보드에 복사되었습니다!
Poison Pill Operator는 Poison Pill Operator의 네임스페이스에서 poison-pill-config
라는 이름으로 PoisonPillConfig
CR을 생성합니다. 이 CR을 편집할 수 있습니다. 그러나 Poison Pill Operator에 대한 새 CR을 생성할 수 없습니다.
PoisonPillConfig
CR의 변경으로 Poison Pill 데몬 세트를 다시 생성합니다.
PoisonPillConfig
CR은 다음 YAML 파일과 유사합니다.
- 1
- surviving 피어의 시간 초과 기간을 지정합니다. 그러면 Operator에서 비정상 노드가 재부팅되었다고 가정할 수 있습니다. Operator는 이 값의 하한값을 자동으로 계산합니다. 그러나 다른 노드에 다른 워치독 타임아웃이 있는 경우 이 값을 더 높은 값으로 변경해야 합니다.
- 2
- 노드에서 워치독 장치의 파일 경로를 지정합니다. 워치독 장치에 잘못된 경로를 입력하면 Poison Pill Operator에서 softdog 장치 경로를 자동으로 감지합니다.
워치독 장치를 사용할 수 없는 경우
PoisonPillConfig
CR은 소프트웨어 재부팅을 사용합니다. - 3
- 비정상 노드의 소프트웨어 재부팅을 활성화하려면 지정합니다. 기본적으로 값은
SoftwareRebootEnabled가
true
로 설정됩니다. 소프트웨어 재부팅을 비활성화하려면 매개변수 값을false
로 설정합니다. - 4
- 각 API 서버와의 연결을 확인하려면 시간 초과 기간을 지정합니다. 이 기간이 지나면 Operator가 수정을 시작합니다.
- 5
- 각 API 서버와의 연결을 확인하는 빈도를 지정합니다.
- 6
- 임계값을 지정합니다. 이 임계값에 도달하면 노드가 피어에 연결하기 시작합니다.
- 7
- 피어가 API 서버를 연결할 시간 초과 기간을 지정합니다.
- 8
- 피어와의 연결을 설정하는 데 필요한 시간 제한을 지정합니다.
- 9
- 피어에서 응답을 가져오려면 시간 제한 기간을 지정합니다.
- 10
- 피어 정보를 업데이트할 빈도를 지정합니다(예: IP 주소).
6.6.1.2. Poison Pill Remediation 템플릿 구성 이해 링크 복사링크가 클립보드에 복사되었습니다!
또한 Poison Pill Operator는 Poison Pill Operator 네임 스페이스에 PoisonPillRemediationTemplate
CR을 생성합니다. 이 CR은 노드에 대한 수정 전략을 정의합니다.
기본 수정 전략은 노드
오브젝트를 제거하는 NodeDeletion
입니다. OpenShift Container Platform 4.10에서 Poison Pill Operator에는 ResourceDeletion
이라는 새로운 수정 전략이 도입되었습니다. ResourceDeletion
수정 전략에서는 node
오브젝트가 아닌 노드의 Pod 및 관련 볼륨 연결을 제거합니다. 이 전략은 워크로드를 더 빨리 복구하는 데 도움이 됩니다.
PoisonPillRemediationTemplate
CR은 다음 YAML 파일과 유사합니다.
- 1
- 수정 전략을 지정합니다. 기본 수정 전략은
NodeDeletion
입니다.
6.6.1.3. 워치독 장치 정보 링크 복사링크가 클립보드에 복사되었습니다!
워치독 장치는 다음 중 하나일 수 있습니다.
- 독립적으로 구동되는 하드웨어 장치
- 제어 대상 호스트와 전원을 공유하는 하드웨어 장치
-
소프트웨어 또는
softdog
에서 구현된 가상 장치
하드웨어 watchdog 및 softdog
장치에는 각각 전자 또는 소프트웨어 타이머가 있습니다. 이러한 워치독 장치는 오류 상태가 감지될 때 시스템이 안전한 상태가 되도록 하는 데 사용됩니다. 클러스터가 정상 상태임을 증명하기 위해 워치독 타이머를 반복적으로 재설정해야 합니다. 이 타이머는 교착 상태, CPU 부족, 네트워크 또는 디스크 액세스 손실과 같은 오류 상태로 인해 발생할 수 있습니다. 타이머가 만료되면 워치독 장치는 오류가 발생했다고 가정하고 장치가 노드의 강제 재설정을 트리거합니다.
하드웨어 워치독 장치는 softdog
장치보다 더 안정적입니다.
6.6.1.3.1. 워치독 장치를 사용하여 Poison Pill Operator 동작 이해 링크 복사링크가 클립보드에 복사되었습니다!
Poison Pill Operator는 존재하는 워치독 장치를 기반으로 한 수정 전략을 결정합니다.
하드웨어 워치독 장치가 구성되어 사용 가능한 경우 Operator는 이를 수정을 위해 사용합니다. 하드웨어 워치독 장치가 구성되지 않은 경우 Operator는 수정을 위해 softdog
장치를 활성화하고 사용합니다.
시스템 또는 구성에 따라 워치독 장치가 모두 지원되지 않는 경우 Operator는 소프트웨어 재부팅을 사용하여 노드를 해결합니다.
추가 리소스
6.6.2. 웹 콘솔을 사용하여 Poison Pill Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 웹 콘솔을 사용하여 Poison Pill Operator를 설치할 수 있습니다.
사전 요구 사항
-
cluster-admin
권한이 있는 사용자로 로그인합니다.
절차
-
OpenShift Container Platform 웹 콘솔에서 Operator
OperatorHub로 이동합니다. - 사용 가능한 Operator 목록에서 Poison Pill Operator를 검색한 다음 설치를 클릭합니다.
-
기본 설치 모드 및 네임스페이스 를 계속 선택하여 Operator가
openshift-operators
네임스페이스에 설치되어 있는지 확인합니다. - 설치를 클릭합니다.
검증
설치에 성공했는지 확인하려면 다음을 수행하십시오.
-
Operator
설치된 Operator 페이지로 이동합니다. -
Operator가
openshift-operators
네임스페이스에 설치되어 있고 해당 상태는Succeeded
인지 확인합니다.
Operator가 성공적으로 설치되지 않은 경우 다음을 수행하십시오.
-
Operator
설치된 Operator 페이지로 이동하여 Status
열에 오류 또는 실패가 있는지 점검합니다. -
워크로드
Pod 페이지로 이동하여 문제를 보고하는 poison-pill-controller-manager
프로젝트에서 로그를 확인합니다.
6.6.3. CLI를 사용하여 Poison Pill Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(oc
)를 사용하여 Poison Pill Operator를 설치할 수 있습니다.
자체 네임스페이스 또는 openshift-operators
네임스페이스에 Poison Pill Operator를 설치할 수 있습니다.
자체 네임스페이스에 Operator를 설치하려면 절차의 단계를 따르십시오.
openshift-operators
네임스페이스에 Operator를 설치하려면 새 Namespace
CR(사용자 정의 리소스) 및 OperatorGroup
CR을 생성하는 단계가 필요하지 않기 때문에 절차의 3단계로 건너뛰십시오.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
권한이 있는 사용자로 로그인합니다.
절차
Poison Pill Operator에 대한
네임스페이스
CR(사용자 정의 리소스)을 생성합니다.Namespace
CR을 정의하고 YAML 파일을 저장합니다(예:poison-pill-namespace.yaml
).apiVersion: v1 kind: Namespace metadata: name: poison-pill
apiVersion: v1 kind: Namespace metadata: name: poison-pill
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스
CR을 생성하려면 다음 명령을 실행합니다.oc create -f poison-pill-namespace.yaml
$ oc create -f poison-pill-namespace.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OperatorGroup
CR을 생성합니다.OperatorGroup
CR을 정의하고 YAML 파일을 저장합니다(예:poison-pill-operator-group.yaml
).apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: poison-pill-manager namespace: poison-pill
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: poison-pill-manager namespace: poison-pill
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroup
CR을 생성하려면 다음 명령을 실행합니다.oc create -f poison-pill-operator-group.yaml
$ oc create -f poison-pill-operator-group.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
서브스크립션
CR을 생성합니다.서브스크립션
CR을 정의하고 YAML 파일을 저장합니다(예:poison-pill-subscription.yaml
).Copy to Clipboard Copied! Toggle word wrap Toggle overflow Subscription
CR을 생성하려면 다음 명령을 실행합니다.oc create -f poison-pill-subscription.yaml
$ oc create -f poison-pill-subscription.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
CSV 리소스를 검사하여 설치에 성공했는지 확인합니다.
oc get csv -n poison-pill
$ oc get csv -n poison-pill
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME DISPLAY VERSION REPLACES PHASE poison-pill.v.0.2.0 Poison Pill Operator 0.2.0 Succeeded
NAME DISPLAY VERSION REPLACES PHASE poison-pill.v.0.2.0 Poison Pill Operator 0.2.0 Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Poison Pill Operator가 실행 중인지 확인합니다.
oc get deploy -n poison-pill
$ oc get deploy -n poison-pill
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY UP-TO-DATE AVAILABLE AGE poison-pill-controller-manager 1/1 1 1 10d
NAME READY UP-TO-DATE AVAILABLE AGE poison-pill-controller-manager 1/1 1 1 10d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Poison Pill Operator가
PoisonPillConfig
CR을 생성했는지 확인합니다.oc get PoisonPillConfig -n poison-pill
$ oc get PoisonPillConfig -n poison-pill
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME AGE poison-pill-config 10d
NAME AGE poison-pill-config 10d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 중독성 알약 Pod가 각 작업자 노드에서 예약되고 실행되고 있는지 확인합니다.
oc get daemonset -n poison-pill
$ oc get daemonset -n poison-pill
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE poison-pill-ds 2 2 2 2 2 <none> 10d
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE poison-pill-ds 2 2 2 2 2 <none> 10d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 명령은 컨트롤 플레인 노드에서 지원되지 않습니다.
6.6.4. Poison Pill Operator를 사용하도록 머신 상태 점검 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 Poison Pill Operator를 수정 공급자로 사용하도록 머신 상태 점검을 구성합니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
권한이 있는 사용자로 로그인합니다.
절차
PoisonPillRemediationTemplate
CR을 생성합니다.PoisonPillRemediationTemplate
CR을 정의합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow PoisonPillRemediationTemplate
CR을 생성하려면 다음 명령을 실행합니다.oc create -f <ppr-name>.yaml
$ oc create -f <ppr-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
PoisonPillRemediationTemplate
CR을 가리키도록MachineHealthCheck
CR을 생성하거나 업데이트합니다.MachineHealthCheck
CR을 정의하거나 업데이트합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 수정 템플릿에 대한 세부 정보를 지정합니다.
MachineHealthCheck
CR을 생성하려면 다음 명령을 실행합니다.oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MachineHealthCheck
CR을 업데이트하려면 다음 명령을 실행합니다.oc apply -f <file-name>.yaml
$ oc apply -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.6.5. Poison Pill Operator 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
6.6.5.1. 일반 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
- 문제
- Poison Pill Operator 문제를 해결합니다.
- 해결
- Operator 로그를 확인합니다.
6.6.5.2. 데몬 세트 확인 링크 복사링크가 클립보드에 복사되었습니다!
- 문제
- Poison Pill Operator가 설치되었지만 데몬 세트를 사용할 수 없습니다.
- 해결
- Operator 로그에 오류 또는 경고가 있는지 확인합니다.
6.6.5.3. 실패한 수정 링크 복사링크가 클립보드에 복사되었습니다!
- 문제
- 비정상 노드가 수정되지 않았습니다.
- 해결
다음 명령을 실행하여
PoisonPillRemediation
CR이 생성되었는지 확인합니다.oc get ppr -A
$ oc get ppr -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 노드가 비정상인 경우
MachineHealthCheck
컨트롤러에서PoisonPillRemediation
CR을 생성하지 않은 경우MachineHealthCheck
컨트롤러의 로그를 확인합니다. 또한MachineHealthCheck
CR에 수정 템플릿을 사용하는 데 필요한 사양이 포함되어 있는지 확인합니다.PoisonPillRemediation
CR이 생성된 경우 해당 이름이 비정상 노드 또는 머신 오브젝트와 일치하는지 확인합니다.
6.6.5.4. Poison Pill Operator를 제거한 후에도 데몬 세트 및 기타 Poison Pill Operator 리소스가 있습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- 문제
- Operator를 제거한 후에도 데몬 세트, 구성 CR 및 수정 템플릿 CR과 같은 Poison Pill Operator 리소스가 존재합니다.
- 해결
Poison Pill Operator 리소스를 제거하려면 각 리소스 유형에 대해 다음 명령을 실행하여 리소스를 삭제합니다.
oc delete ds <poison-pill-ds> -n <namespace>
$ oc delete ds <poison-pill-ds> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete ppc <poison-pill-config> -n <namespace>
$ oc delete ppc <poison-pill-config> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete pprt <poison-pill-remediation-template> -n <namespace>
$ oc delete pprt <poison-pill-remediation-template> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.6.6. Poison Pill Operator에 대한 데이터 수집 링크 복사링크가 클립보드에 복사되었습니다!
Poison Pill Operator에 대한 디버깅 정보를 수집하려면 must-gather
툴을 사용합니다. Poison Pill Operator의 must-gather
이미지에 대한 자세한 내용은 특정 기능에 대한 데이터 수집을 참조하십시오.