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가 있는 대규모 클러스터에서는 OLM의 메모리 사용량, 클러스터 etcd 제한 및 네트워킹과 같은 리소스가 사용되지 않을 수 있습니다.
클러스터 관리자는 이러한 대규모 클러스터를 지원하기 위해 AllNamespaces
모드로 설치된 Operator에 대해 복사된 CSV를 비활성화할 수 있습니다.
복사된 CSV를 비활성화하면 OperatorHub에서 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를 다시 생성하고 이전에 언급한 이벤트를 삭제합니다.
추가 리소스