2.2. 운영자 컨트롤러


Operator Controller는 Operator Lifecycle Manager(OLM) v1의 중심 구성 요소이며, 카탈로그된 다른 OLM v1 구성 요소를 사용합니다. 사용자가 연산자와 확장 기능을 설치할 수 있는 API를 통해 Kubernetes를 확장합니다.

2.2.1. ClusterExtension API

Operator Controller는 registry+v1 번들 형식을 통해 Operator를 포함하는, 설치된 확장 프로그램의 인스턴스를 나타내는 단일 리소스인 새로운 ClusterExtension API 객체를 제공합니다. 이 clusterextension.olm.operatorframework.io API는 사용자 중심 API를 단일 객체로 통합하여 설치된 확장 프로그램의 관리를 간소화합니다.

중요

OLM v1에서는 ClusterExtension 개체가 클러스터 범위입니다. 이는 OLM(클래식)과 다릅니다. OLM(클래식)의 경우 운영자는 관련 구독운영자 그룹 개체의 구성에 따라 네임스페이스 범위나 클러스터 범위가 될 수 있습니다.

이전 동작에 대한 자세한 내용은 다중 테넌시 및 운영자 공동 배치를 참조하세요.

ClusterExtension 오브젝트의 예

apiVersion: olm.operatorframework.io/v1
kind: ClusterExtension
metadata:
  name: <extension_name>
spec:
  namespace: <namespace_name>
  serviceAccount:
    name: <service_account_name>
  source:
    sourceType: Catalog
    catalog:
      packageName: <package_name>
      channels:
        - <channel>
      version: "<version>"

2.2.1.1. 대상 버전을 지정하는 사용자 정의 리소스(CR) 예시

Operator Lifecycle Manager(OLM) v1에서 클러스터 관리자는 사용자 지정 리소스(CR)에서 Operator 또는 확장 프로그램의 대상 버전을 선언적으로 설정할 수 있습니다.

다음 필드 중 하나를 지정하여 대상 버전을 정의할 수 있습니다.

  • 채널
  • 버전 번호
  • 버전 범위

CR에서 채널을 지정하면 OLM v1은 지정된 채널 내에서 확인 가능한 최신 버전의 Operator나 확장 프로그램을 설치합니다. 지정된 채널에 업데이트가 게시되면 OLM v1은 해당 채널에서 확인할 수 있는 최신 릴리스로 자동 업데이트됩니다.

지정된 채널이 있는 CR 예

apiVersion: olm.operatorframework.io/v1
  kind: ClusterExtension
  metadata:
    name: <clusterextension_name>
  spec:
    namespace: <installed_namespace>
    serviceAccount:
      name: <service_account_installer_name>
    source:
      sourceType: Catalog
      catalog:
        packageName: <package_name>
        channels:
          - latest 
1

1
선택 사항: 지정된 채널에서 해결 가능한 최신 릴리스를 설치합니다. 채널 업데이트는 자동으로 설치됩니다. channels 매개변수의 값을 배열로 지정합니다.

CR에서 운영자 또는 확장 프로그램의 대상 버전을 지정하면 OLM v1은 지정된 버전을 설치합니다. CR에 대상 버전이 지정되면 카탈로그에 업데이트가 게시될 때 OLM v1은 대상 버전을 변경하지 않습니다.

클러스터에 설치된 Operator 버전을 업데이트하려면 Operator의 CR을 수동으로 편집해야 합니다. 운영자의 대상 버전을 지정하면 운영자의 버전이 지정된 릴리스로 고정됩니다.

대상 버전이 지정된 CR 예

apiVersion: olm.operatorframework.io/v1
  kind: ClusterExtension
  metadata:
    name: <clusterextension_name>
  spec:
    namespace: <installed_namespace>
    serviceAccount:
      name: <service_account_installer_name>
    source:
      sourceType: Catalog
      catalog:
        packageName: <package_name>
        version: "1.11.1" 
1

1
선택 사항: 대상 버전을 지정합니다. 설치된 Operator나 확장 프로그램의 버전을 업데이트하려면 CR 필드를 원하는 대상 버전으로 수동으로 업데이트해야 합니다.

연산자나 확장 기능에 대해 허용되는 버전 범위를 정의하려면 비교 문자열을 사용하여 버전 범위를 지정할 수 있습니다. 버전 범위를 지정하면 OLM v1은 Operator Controller에서 확인할 수 있는 Operator 또는 확장 프로그램의 최신 버전을 설치합니다.

버전 범위가 지정된 CR 예

apiVersion: olm.operatorframework.io/v1
  kind: ClusterExtension
  metadata:
    name: <clusterextension_name>
  spec:
    namespace: <installed_namespace>
    serviceAccount:
      name: <service_account_installer_name>
    source:
      sourceType: Catalog
      catalog:
        packageName: <package_name>
        version: ">1.11.1" 
1

1
선택 사항: 원하는 버전 범위가 버전 1.11.1 보다 큰지 지정합니다. 자세한 내용은 "버전 범위 지원"을 참조하세요.

CR을 생성하거나 업데이트한 후 다음 명령을 실행하여 구성 파일을 적용합니다.

명령 구문

$ oc apply -f <extension_name>.yaml

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동