4.4. Operator Lifecycle Manager 기능 구성
OLM(Operator Lifecycle Manager) 컨트롤러는 cluster
라는 OLMConfig
CR(사용자 정의 리소스)에 의해 구성됩니다. 클러스터 관리자는 특정 기능을 활성화하거나 비활성화하도록 이 리소스를 수정할 수 있습니다.
이 문서에서는 OLMConfig
리소스에서 구성하는 OLM에서 현재 지원하는 기능에 대해 간단히 설명합니다.
4.4.1. CSV 복사본 비활성화
OLM(Operator Lifecycle Manager)에서 Operator를 설치하면 Operator가 조사하도록 구성된 모든 네임스페이스에서 CSV(클러스터 서비스 버전)의 단순화된 사본이 생성됩니다. 이러한 CSV는 CSV 복사본 이라고 하며 지정된 네임스페이스에서 현재 리소스 이벤트를 조정 중인 컨트롤러와 사용자에게 통신합니다.
Operator가 AllNamespaces
설치 모드를 사용하도록 구성된 경우, 단일 네임스페이스 또는 지정된 네임스페이스 세트를 대상으로 하는 경우 클러스터의 모든 네임스페이스에 복사된 CSV가 생성됩니다. 특히 대규모 클러스터에서 네임스페이스 및 Operator가 수백 또는 수천에 설치되었을 가능성이 있는 CSV는 OLM의 메모리 사용량, 클러스터 etcd 제한, 네트워킹과 같은 비활성화되지 않은 양의 리소스를 사용합니다.
이러한 대규모 클러스터를 지원하기 위해 클러스터 관리자는 AllNamespaces
모드로 설치된 Operator의 CSV 복사본을 비활성화할 수 있습니다.
CSV 복사본을 비활성화하면 OperatorHub 및 CLI에서 Operator를 검색하는 사용자가 사용자 네임스페이스에 직접 설치된 Operator로 제한됩니다.
Operator가 사용자 네임스페이스의 이벤트를 조정하지만 다른 네임스페이스에 설치되도록 구성된 경우 사용자는 OperatorHub 또는 CLI에서 Operator를 볼 수 없습니다. 이 제한에 영향을 받는 Operator는 계속 사용할 수 있으며 사용자 네임스페이스에서 이벤트를 계속 조정합니다.
이 동작은 다음과 같은 이유로 발생합니다.
- CSV 복사본은 지정된 네임스페이스에 사용할 수 있는 Operator를 식별합니다.
- RBAC(역할 기반 액세스 제어)는 OperatorHub 및 CLI에서 Operator를 보고 검색할 수 있는 사용자의 기능을 지정합니다.
절차
cluster
라는OLMConfig
오브젝트를 편집하고spec.features.disableCopiedCSVs
필드를true
로 설정합니다.$ oc apply -f - <<EOF apiVersion: operators.coreos.com/v1 kind: OLMConfig metadata: name: cluster spec: features: disableCopiedCSVs: true 1 EOF
- 1
AllNamespaces
설치 모드 Operator에 대해 복사된 CSV가 비활성화됨
검증
CSV 복사본이 비활성화된 경우 OLM은 Operator의 네임 스페이스의 이벤트에 이 정보를 캡처합니다.
$ oc get events
출력 예
LAST SEEN TYPE REASON OBJECT MESSAGE 85s Warning DisabledCopiedCSVs clusterserviceversion/my-csv.v1.0.0 CSV copying disabled for operators/my-csv.v1.0.0
spec.features.disableCopiedCSVs
필드가 누락되거나false
로 설정되면 OLM은AllNamespaces
모드로 설치된 모든 Operator에 대해 복사된 CSV를 다시 만들고 이전에 언급한 이벤트를 삭제합니다.
추가 리소스