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.5.6. Poison Pill Operator를 사용하여 노드 수정
Poison Pill Operator를 사용하여 비정상적인 노드를 자동으로 재부팅할 수 있습니다. 이 업데이트 적용 전략은 상태 저장 애플리케이션 및 RWO(ReadWriteOnce) 볼륨에 대한 다운타임을 최소화하고 일시적인 오류가 발생한 경우 컴퓨팅 용량을 복원합니다.
5.6.1. Poison Pill Operator 정보 링크 복사링크가 클립보드에 복사되었습니다!
Poison Pill Operator는 클러스터 노드에서 실행되며 비정상으로 식별된 노드를 재부팅합니다. Operator는 MachineHealthCheck 컨트롤러를 사용하여 클러스터의 노드 상태를 탐지합니다. 노드가 비정상으로 식별되면 MachineHealthCheck 리소스는 PoisonPillRemediation CR(사용자 정의 리소스)을 생성하여 Poison Pill Operator를 트리거합니다.
Poison Pill Operator는 다음과 같은 기능을 제공합니다.
- 상태 저장 애플리케이션의 다운타임을 최소화하고 일시적인 오류가 발생하는 경우 컴퓨팅 용량을 복원합니다.
- 노드를 프로비저닝하는 IPMI 또는 API와 같은 관리 인터페이스와는 별개입니다.
5.6.1.1. Poison Pill Operator 구성 이해 링크 복사링크가 클립보드에 복사되었습니다!
Poison Pill Operator는 Poison Pill Operator의 네임스페이스에 bug CR을 생성합니다. 이 CR을 편집할 수 있습니다. 그러나 Poison Pill Operator에 대한 새 CR을 생성할 수 없습니다.
-pill-config 라는 이름으로 PoisonPillConfig
PoisonPillConfig CR의 변경 사항은 Poison Pill 데몬 세트를 다시 생성합니다.
PoisonPillConfig CR은 다음 YAML 파일과 유사합니다.
5.6.2. 웹 콘솔을 사용하여 Poison Pill Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 웹 콘솔을 사용하여 Poison Pill Operator를 설치할 수 있습니다.
사전 요구 사항
-
cluster-admin권한이 있는 사용자로 로그인합니다.
절차
-
OpenShift Container Platform 웹 콘솔에서 Operator
OperatorHub로 이동합니다. - 사용 가능한 Operator 목록에서 Poison Pill Operator를 검색한 다음 설치를 클릭합니다.
-
기본 설치 모드 및 네임스페이스 를 계속 선택하여 Operator가
poison-pill네임스페이스에 설치되어 있는지 확인합니다. - 설치를 클릭합니다.
검증
설치에 성공했는지 확인하려면 다음을 수행하십시오.
-
Operator
설치된 Operator 페이지로 이동합니다. -
Operator가
poison-pill네임스페이스에 설치되고 해당 상태가Succeeded인지 확인합니다.
Operator가 성공적으로 설치되지 않은 경우 다음을 수행하십시오.
-
Operator
설치된 Operator 페이지로 이동하여 Status열에 오류 또는 실패가 있는지 점검합니다. -
워크로드
Pod 페이지로 이동하여 문제를 보고하는 vulnerabilities -pill-controller-manager프로젝트에서 Pod의 로그를 확인합니다.
5.6.3. CLI를 사용하여 Poison Pill Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(oc)를 사용하여 Poison Pill Operator를 설치할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc)를 설치합니다. -
cluster-admin권한이 있는 사용자로 로그인합니다.
절차
Poison Pill
Operator의 네임스페이스CR(사용자 정의 리소스)을 생성합니다.네임스페이스CR을 정의하고 YAML 파일을 저장합니다(예:poison-pill-namespace.yaml).apiVersion: v1 kind: Namespace metadata: name: poison-pill
apiVersion: v1 kind: Namespace metadata: name: poison-pillCopy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스CR을 생성하려면 다음 명령을 실행합니다.oc create -f poison-pill-namespace.yaml
$ oc create -f poison-pill-namespace.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
OperatorGroupCR을 생성합니다.OperatorGroupCR을 정의하고 YAML 파일을 저장합니다(예:poison-pill-operator-group.yaml).Copy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroupCR을 생성하려면 다음 명령을 실행합니다.oc create -f poison-pill-operator-group.yaml
$ oc create -f poison-pill-operator-group.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
서브스크립션CR을 생성합니다.서브스크립션CR을 정의하고 YAML 파일을 저장합니다(예:poison-pill-subscription.yaml).Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서브스크립션CR을 생성하려면 다음 명령을 실행합니다.oc create -f poison-pill-subscription.yaml
$ oc create -f poison-pill-subscription.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
CSV 리소스를 검사하여 설치에 성공했는지 확인합니다.
oc get csv -n poison-pill
$ oc get csv -n poison-pillCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME DISPLAY VERSION REPLACES PHASE poison-pill.v0.1.4 Poison Pill Operator 0.1.4 Succeeded
NAME DISPLAY VERSION REPLACES PHASE poison-pill.v0.1.4 Poison Pill Operator 0.1.4 SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow Poison Pill Operator가 실행 중인지 확인합니다.
oc get deploy -n poison-pill
$ oc get deploy -n poison-pillCopy 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 10dCopy to Clipboard Copied! Toggle word wrap Toggle overflow Poison Pill Operator가
PoisonPillConfigCR을 생성했는지 확인합니다.oc get PoisonPillConfig -n poison-pill
$ oc get PoisonPillConfig -n poison-pillCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME AGE poison-pill-config 10d
NAME AGE poison-pill-config 10dCopy to Clipboard Copied! Toggle word wrap Toggle overflow 각 작업자 노드에서 각 손상된 Pod가 예약되어 실행 중인지 확인합니다.
oc get daemonset -n poison-pill
$ oc get daemonset -n poison-pillCopy 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> 10dCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 명령은 컨트롤 플레인 노드에 지원되지 않습니다.
5.6.4. Poison Pill Operator를 사용하도록 머신 상태 점검 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 Poison Pill Operator를 해결 공급자로 사용하도록 머신 상태 점검을 구성합니다.
사전 요구 사항
-
OpenShift CLI(
oc)를 설치합니다. -
cluster-admin권한이 있는 사용자로 로그인합니다.
절차
PoisonPillRemediationTemplateCR을 생성합니다.PoisonPillRemediationTemplateCR을 정의합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow PoisonPillRemediationTemplateCR을 생성하려면 다음 명령을 실행합니다.oc create -f <ppr-name>.yaml
$ oc create -f <ppr-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
PoisonPillRemediationTemplateCR을 가리키도록MachineHealthCheckCR을 생성하거나 업데이트합니다.MachineHealthCheckCR을 정의하거나 업데이트합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 수정 템플릿의 세부 정보를 지정합니다.
MachineHealthCheckCR을 생성하려면 다음 명령을 실행합니다.oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow MachineHealthCheckCR을 업데이트하려면 다음 명령을 실행합니다.oc apply -f <file-name>.yaml
$ oc apply -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.6.5. Poison Pill Operator 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
5.6.5.1. 일반 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
- 문제
- Poison Pill Operator의 문제를 해결하려고 합니다.
- 해결
- Operator 로그를 확인합니다.
5.6.5.2. 데몬 세트 확인 링크 복사링크가 클립보드에 복사되었습니다!
- 문제
- Poison Pill Operator가 설치되었지만 데몬 세트를 사용할 수 없습니다.
- 해결
- Operator 로그에 오류 또는 경고가 있는지 확인합니다.
5.6.5.3. 실패한 수정 링크 복사링크가 클립보드에 복사되었습니다!
- 문제
- 비정상적인 노드가 수정되지 않았습니다.
- 해결
다음 명령을 실행하여
PoisonPillRemediationCR이 생성되었는지 확인합니다.oc get ppr -A
$ oc get ppr -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow 노드가 비정상으로 전환될 때
MachineHealthCheck컨트롤러에서PoisonPillRemediationCR을 생성하지 않은 경우MachineHealthCheck컨트롤러의 로그를 확인합니다. 또한MachineHealthCheckCR에 해결 템플릿을 사용하는 데 필요한 사양이 포함되어 있는지 확인합니다.PoisonPillRemediationCR이 생성된 경우 해당 이름이 비정상 노드 또는 시스템 오브젝트와 일치하는지 확인합니다.
5.6.5.4. Poison Pill Operator를 설치 제거한 후에도 데몬 세트 및 기타 Poison Pill Operator 리소스가 있습니다. 링크 복사링크가 클립보드에 복사되었습니다!
- 문제
- 데몬 세트, 구성 CR 및 수정 템플릿 CR과 같은 Poison Pill Operator 리소스는 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