4.4. 카탈로그 콘텐츠 확인


CR(사용자 정의 리소스)에 설치할 클러스터 확장을 지정하면 OLM(Operator Lifecycle Manager) v1은 카탈로그 선택을 사용하여 설치된 콘텐츠를 확인합니다.

다음 작업을 수행하여 카탈로그 콘텐츠 선택을 제어할 수 있습니다.

  • 카탈로그를 선택하려면 라벨을 지정합니다.
  • 일치 표현식을 사용하여 카탈로그에서 복잡한 필터링을 수행합니다.
  • 카탈로그 우선 순위를 설정합니다.

카탈로그 선택 기준을 지정하지 않으면 OLM(Operator Lifecycle Manager) v1은 요청된 패키지를 제공하는 클러스터에서 사용 가능한 카탈로그에서 확장을 선택합니다.

해결 중에 더 이상 사용되지 않는 번들은 기본적으로 더 이상 사용되지 않는 번들보다 우선합니다.

4.4.1. 이름으로 카탈로그 선택

카탈로그가 클러스터에 추가되면 카탈로그 CR(사용자 정의 리소스)의 metadata.name 필드 값을 사용하여 레이블이 생성됩니다. 확장 CR에서는 spec.source.catalog.selector.matchLabels 필드를 사용하여 카탈로그 이름을 지정할 수 있습니다. matchLabels 필드의 값은 다음 형식을 사용합니다.

metadata.name 필드에서 파생된 라벨의 예

apiVersion: olm.operatorframework.io/v1
kind: ClusterExtension
metadata:
  name: <example_extension>
  labels:
    olm.operatorframework.io/metadata.name: <example_extension> 
1

...
Copy to Clipboard Toggle word wrap

1
metadata.name 필드에서 파생되고 카탈로그를 적용할 때 자동으로 추가됩니다.

다음 예제에서는 openshift-redhat-operators 레이블이 있는 카탈로그에서 <example_extension>-operator 패키지를 확인합니다.

확장 CR의 예

apiVersion: olm.operatorframework.io/v1
kind: ClusterExtension
metadata:
  name: <example_extension>
spec:
  namespace: <example_namespace>
  serviceAccount:
    name: <example_extension>-installer
  source:
    sourceType: Catalog
    catalog:
      packageName: <example_extension>-operator
      selector:
        matchLabels:
          olm.operatorframework.io/metadata.name: openshift-redhat-operators
Copy to Clipboard Toggle word wrap

4.4.2. 레이블 또는 표현식별 카탈로그 선택

클러스터 카탈로그의 CR(사용자 정의 리소스)의 라벨을 사용하여 카탈로그에 메타데이터를 추가할 수 있습니다. 그런 다음 클러스터 확장의 CR에 할당된 라벨 또는 표현식을 사용하여 카탈로그 선택을 필터링할 수 있습니다.

다음 클러스터 카탈로그 CR은 값이 trueexample.com/support 레이블을 catalog-a 클러스터 카탈로그에 추가합니다.

라벨이 있는 클러스터 카탈로그 CR의 예

apiVersion: olm.operatorframework.io/v1
kind: ClusterCatalog
metadata:
  name: catalog-a
  labels:
    example.com/support: "true"
spec:
  source:
    type: Image
    image:
      ref: quay.io/example/content-management-a:latest
Copy to Clipboard Toggle word wrap

다음 클러스터 확장 CR은 matchLabels 선택기를 사용하여 example.com/support 레이블 및 true 값이 있는 카탈로그를 선택합니다.

matchLabels 선택기를 사용한 클러스터 확장 CR 예시

apiVersion: olm.operatorframework.io/v1
kind: ClusterExtension
metadata:
  name: <example_extension>
spec:
  namespace: <example_namespace>
  serviceAccount:
    name: <example_extension>-installer
  source:
    sourceType: Catalog
    catalog:
      packageName: <example_extension>-operator
      selector:
        matchLabels:
          example.com/support: "true"
Copy to Clipboard Toggle word wrap

matchExpressions 필드를 사용하여 라벨을 더 복잡한 필터링을 수행할 수 있습니다. 다음 클러스터 확장 CR은 example.com/support 레이블과 production 또는 지원되는 값이 있는 카탈로그를 선택합니다.

matchExpression 선택기를 사용한 클러스터 확장 CR 예시

apiVersion: olm.operatorframework.io/v1
kind: ClusterExtension
metadata:
  name: <example_extension>
spec:
  namespace: <example_namespace>
  serviceAccount:
    name: <example_extension>-installer
  source:
    sourceType: Catalog
    catalog:
      packageName: <example_extension>-operator
      selector:
        matchExpressions:
          - key: example.com/support
            operator: In
            values:
              - "production"
              - "supported"
Copy to Clipboard Toggle word wrap

참고

matchLabelsmatchExpressions 필드를 모두 사용하는 경우 선택한 카탈로그가 지정된 모든 기준을 충족해야 합니다.

4.4.3. 레이블 또는 표현식의 카탈로그 제외

NotIn 또는 DoesNotExist 연산자의 메타데이터에 대한 일치 표현식을 사용하여 카탈로그를 제외할 수 있습니다.

다음 CR은 unwanted-catalog-1unwanted-catalog-2 클러스터 카탈로그에 example.com/testing 라벨을 추가합니다.

클러스터 카탈로그 CR의 예

apiVersion: olm.operatorframework.io/v1
kind: ClusterCatalog
metadata:
  name: unwanted-catalog-1
  labels:
    example.com/testing: "true"
spec:
  source:
    type: Image
    image:
      ref: quay.io/example/content-management-a:latest
Copy to Clipboard Toggle word wrap

클러스터 카탈로그 CR의 예

apiVersion: olm.operatorframework.io/v1
kind: ClusterCatalog
metadata:
  name: unwanted-catalog-2
  labels:
    example.com/testing: "true"
spec:
  source:
    type: Image
    image:
      ref: quay.io/example/content-management-b:latest
Copy to Clipboard Toggle word wrap

다음 클러스터 확장 CR은 unwanted-catalog-1 카탈로그에서 선택을 제외합니다.

특정 카탈로그를 제외하는 클러스터 확장 CR의 예

apiVersion: olm.operatorframework.io/v1
kind: ClusterExtension
metadata:
  name: <example_extension>
spec:
  namespace: <example_namespace>
  serviceAccount:
    name: <example_extension>-installer
  source:
    sourceType: Catalog
    catalog:
      packageName: <example_extension>-operator
      selector:
        matchExpressions:
          - key: olm.operatorframework.io/metadata.name
            operator: NotIn
            values:
              - unwanted-catalog-1
Copy to Clipboard Toggle word wrap

다음 클러스터 확장 CR은 example.com/testing 라벨이 없는 카탈로그에서 선택합니다. 결과적으로 unwanted-catalog-1unwanted-catalog-2 모두 카탈로그 선택에서 제외됩니다.

특정 레이블이 있는 카탈로그를 제외하는 클러스터 확장 CR의 예

apiVersion: olm.operatorframework.io/v1
kind: ClusterExtension
metadata:
  name: <example_extension>
spec:
  namespace: <example_namespace>
  serviceAccount:
    name: <example_extension>-installer
  source:
    sourceType: Catalog
    catalog:
      packageName: <example_extension>-operator
      selector:
        matchExpressions:
          - key: example.com/testing
            operator: DoesNotExist
Copy to Clipboard Toggle word wrap

4.4.4. 카탈로그 선택 우선 순위

여러 카탈로그에서 동일한 패키지를 제공하는 경우 각 카탈로그의 CR(사용자 정의 리소스)에 우선 순위를 지정하여 모호성을 해결할 수 있습니다. 지정되지 않은 경우 카탈로그의 기본 우선순위 값은 0 입니다. 우선순위는 모든 양수 또는 음수 32비트 정수일 수 있습니다.

참고
  • 번들 확인 중에 우선순위가 높은 값이 높은 카탈로그는 우선순위가 낮은 카탈로그보다 선택됩니다.
  • 더 이상 사용되지 않는 번들은 더 이상 사용되지 않는 번들보다 우선 순위가 지정됩니다.
  • 우선 순위가 동일한 카탈로그에 여러 번 번들이 있고 카탈로그 선택이 모호하면 오류가 출력됩니다.

우선 순위가 높은 클러스터 카탈로그 CR의 예

apiVersion: olm.operatorframework.io/v1
kind: ClusterCatalog
metadata:
  name: high-priority-catalog
spec:
  priority: 1000
  source:
    type: Image
    image:
      ref: quay.io/example/higher-priority-catalog:latest
Copy to Clipboard Toggle word wrap

우선 순위가 낮은 클러스터 카탈로그 CR의 예

apiVersion: olm.operatorframework.io/v1
kind: ClusterCatalog
metadata:
  name: lower-priority-catalog
spec:
  priority: 10
  source:
    type: Image
    image:
      ref: quay.io/example/lower-priority-catalog:latest
Copy to Clipboard Toggle word wrap

4.4.5. 카탈로그 선택 오류 문제 해결

모호함으로 인해 번들 확인이 실패하거나 카탈로그가 선택되어 있지 않기 때문에 클러스터 확장의 status.conditions 필드에 오류 메시지가 출력됩니다.

다음 작업을 수행하여 카탈로그 선택 오류 문제를 해결합니다.

  • 레이블 또는 표현식을 사용하여 선택 기준을 구체화합니다.
  • 카탈로그 우선 순위를 조정합니다.
  • 하나의 번들만 패키지 이름 및 버전 요구 사항과 일치하는지 확인합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat