4.7. Operator 조건 관리
클러스터 관리자는 OLM(Operator Lifecycle Manager)을 사용하여 Operator 상태를 관리할 수 있습니다.
4.7.1. Operator 상태 덮어쓰기 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 Operator에서 보고한 지원되는 Operator 상태를 무시해야 할 수 있습니다. 이러한 상태가 있는 경우 Spec.Overrides 어레이의 Operator 상태가 Spec.Conditions 어레이의 상태를 덮어씁니다. 그러면 클러스터 관리자가 Operator에서 OLM(Operator Lifecycle Manager)에 상태를 잘못 보고하는 상황을 처리할 수 있습니다.
기본적으로 Spec.Overrides 어레이는 클러스터 관리자가 추가할 때까지 OperatorCondition 오브젝트에 존재하지 않습니다. 사용자가 추가하거나 사용자 정의 Operator 논리의 결과로 Spec.Conditions 배열도 존재하지 않습니다.
예를 들어 항상 업그레이드할 수 없다고 보고하는 알려진 버전의 Operator를 떠올려 보십시오. 이 경우 Operator에서 업그레이드할 수 없다고 보고하더라도 Operator를 업그레이드해야 할 수 있습니다. 이 작업은 OperatorCondition 오브젝트의 Spec.Overrides 배열에 조건 유형 및 상태를 추가하여 Operator 조건을 재정의하여 수행할 수 있습니다.
사전 요구 사항
-
cluster-admin역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. -
OLM을 사용하여
OperatorCondition오브젝트가 설치된 Operator입니다.
프로세스
Operator의
OperatorCondition오브젝트를 편집합니다.$ oc edit operatorcondition <name>오브젝트에
Spec.Overrides어레이를 추가합니다.Operator 조건 덮어쓰기 예제
apiVersion: operators.coreos.com/v2 kind: OperatorCondition metadata: name: my-operator namespace: operators spec: overrides: - type: Upgradeable1 status: "True" reason: "upgradeIsSafe" message: "This is a known issue with the Operator where it always reports that it cannot be upgraded." conditions: - type: Upgradeable status: "False" reason: "migration" message: "The operator is performing a migration." lastTransitionTime: "2020-08-24T23:15:55Z"- 1
- 클러스터 관리자는 업그레이드 준비 상태를
True로 변경할 수 있습니다.