2.2. Operator Controller
OLM(Operator Lifecycle Manager) v1은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
Operator 컨트롤러는 OLM(Operator Lifecycle Manager) v1의 핵심 구성 요소이며 다른 OLM v1 구성 요소 catalogd를 사용합니다. 사용자가 Operator 및 확장을 설치할 수 있는 API를 사용하여 Kubernetes를 확장합니다.
2.2.1. ClusterExtension API 링크 복사링크가 클립보드에 복사되었습니다!
Operator 컨트롤러는 registry+v1 번들 형식을 통해 Operator를 포함하는 설치된 확장 인스턴스를 나타내는 단일 리소스인 새로운 ClusterExtension API 오브젝트를 제공합니다. 이 clusterextension.olm.operatorframework.io API는 사용자용 API를 단일 오브젝트로 통합하여 설치된 확장 확장의 관리를 간소화합니다.
OLM v1에서 ClusterExtension 오브젝트는 클러스터 범위입니다. 이는 관련 Subscription 및 OperatorGroup 오브젝트의 구성에 따라 Operator가 네임스페이스 범위 또는 클러스터 범위 중 하나일 수 있는 기존 OLM과 다릅니다.
이전 동작에 대한 자세한 내용은 Multitenancy 및 Operator colocation 을 참조하십시오.
ClusterExtension 오브젝트의 예
apiVersion: olm.operatorframework.io/v1alpha1
kind: ClusterExtension
metadata:
name: <operator_name>
spec:
packageName: <package_name>
installNamespace: <namespace_name>
channel: <channel_name>
version: <version_number>
2.2.1.1. 대상 버전을 지정하는 CR(사용자 정의 리소스)의 예 링크 복사링크가 클립보드에 복사되었습니다!
OLM(Operator Lifecycle Manager) v1에서 클러스터 관리자는 사용자 정의 리소스(CR)에서 Operator 또는 확장의 대상 버전을 선언적으로 설정할 수 있습니다.
다음 필드 중 하나를 지정하여 대상 버전을 정의할 수 있습니다.
- 채널
- 버전 번호
- 버전 범위
CR에 채널을 지정하면 OLM v1이 지정된 채널 내에서 해결할 수 있는 최신 버전의 Operator 또는 확장 버전을 설치합니다. 지정된 채널에 업데이트가 게시되면 OLM v1이 채널에서 확인할 수 있는 최신 릴리스로 자동으로 업데이트됩니다.
지정된 채널이 있는 CR의 예
apiVersion: olm.operatorframework.io/v1alpha1
kind: ClusterExtension
metadata:
name: pipelines-operator
spec:
packageName: openshift-pipelines-operator-rh
installNamespace: <namespace_name>
serviceAccount:
name: <service_account>
channel: latest
- 1
- 지정된 채널에서 확인할 수 있는 최신 릴리스를 설치합니다. 채널 업데이트가 자동으로 설치됩니다.
CR에서 Operator 또는 확장의 대상 버전을 지정하면 OLM v1이 지정된 버전을 설치합니다. 대상 버전이 CR에 지정되면 업데이트가 카탈로그에 게시될 때 OLM v1에서 대상 버전이 변경되지 않습니다.
클러스터에 설치된 Operator 버전을 업데이트하려면 Operator의 CR을 수동으로 편집해야 합니다. Operator의 대상 버전을 지정하면 Operator 버전이 지정된 릴리스에 고정됩니다.
대상 버전이 지정된 CR의 예
apiVersion: olm.operatorframework.io/v1alpha1
kind: ClusterExtension
metadata:
name: pipelines-operator
spec:
packageName: openshift-pipelines-operator-rh
installNamespace: <namespace_name>
serviceAccount:
name: <service_account>
version: "1.11.1"
- 1
- 대상 버전을 지정합니다. 설치된 Operator 또는 확장 버전을 업데이트하려면 CR을 원하는 대상 버전으로 수동으로 업데이트해야 합니다.
Operator 또는 확장에 허용되는 다양한 버전을 정의하려면 비교 문자열을 사용하여 버전 범위를 지정할 수 있습니다. 버전 범위를 지정하면 OLM v1은 Operator 컨트롤러에서 해결할 수 있는 최신 버전의 Operator 또는 확장을 설치합니다.
버전 범위가 지정된 CR의 예
apiVersion: olm.operatorframework.io/v1alpha1
kind: ClusterExtension
metadata:
name: pipelines-operator
spec:
packageName: openshift-pipelines-operator-rh
installNamespace: <namespace_name>
serviceAccount:
name: <service_account>
version: ">1.11.1"
- 1
- 원하는 버전 범위가 버전
1.11.1보다 크도록 지정합니다. 자세한 내용은 "버전 범위 지원"을 참조하십시오.
CR을 생성하거나 업데이트한 후 다음 명령을 실행하여 구성 파일을 적용합니다.
명령 구문
$ oc apply -f <extension_name>.yaml