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
설치 모드를 사용하도록 구성된 경우 단일 또는 지정된 네임스페이스 세트를 대상으로 하는 경우 Operator에 대한 복사된 CSV가 클러스터의 모든 네임스페이스에 생성됩니다. 특히 대규모 클러스터에서 네임스페이스와 Operator가 수백 또는 수천에 설치되어 있는 CSV 복사본에서는 OLM의 메모리 사용량, 클러스터 etcd 제한, 네트워킹과 같은 리소스를 사용할 수 없는 리소스를 사용합니다.
이러한 대규모 클러스터를 지원하기 위해 클러스터 관리자는 AllNamespaces
모드로 설치된 Operator에 대해 복사된 CSV를 비활성화할 수 있습니다.
복사된 CSV를 비활성화하면 AllNamespaces
모드에 설치된 Operator는 클러스터의 모든 네임스페이스 대신 openshift
네임스페이스에만 CSV가 복사됩니다. 비활성화된 복사된 CSV 모드에서 웹 콘솔과 CLI마다 동작이 다릅니다.
-
웹 콘솔에서 CSV가 실제로 모든 네임스페이스에 복사되지 않은 경우에도 모든 네임스페이스의
openshift
네임스페이스에서 복사된 CSV를 표시하도록 기본 동작이 수정되었습니다. 이를 통해 일반 사용자는 네임스페이스에서 이러한 Operator의 세부 정보를 계속 보고 관련 사용자 정의 리소스(CR)를 생성할 수 있습니다. OpenShift CLI(
oc
)에서 일반 사용자는oc get csvs
명령을 사용하여 네임스페이스에 직접 설치된 Operator를 볼 수 있지만openshift
네임스페이스에서 복사된 CSV는 네임스페이스에 표시되지 않습니다. 이 제한에 영향을 받는 Operator는 계속 사용할 수 있으며 사용자 네임스페이스에서 이벤트를 계속 조정합니다.웹 콘솔 동작과 유사하게 설치된 글로벌 Operator의 전체 목록을 보려면 인증된 모든 사용자가 다음 명령을 실행할 수 있습니다.
$ oc get csvs -n openshift
절차
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를 다시 생성하고 이전에 언급한 이벤트를 삭제합니다.
추가 리소스