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
필드에서 파생된 라벨의 예
- 1
metadata.name
필드에서 파생되고 카탈로그를 적용할 때 자동으로 추가됩니다.
다음 예제에서는 openshift-redhat-operators
레이블이 있는 카탈로그에서 <example_extension>-operator
패키지를 확인합니다.
확장 CR의 예
4.4.2. 레이블 또는 표현식별 카탈로그 선택 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 카탈로그의 CR(사용자 정의 리소스)의 라벨을 사용하여 카탈로그에 메타데이터를 추가할 수 있습니다. 그런 다음 클러스터 확장의 CR에 할당된 라벨 또는 표현식을 사용하여 카탈로그 선택을 필터링할 수 있습니다.
다음 클러스터 카탈로그 CR은 값이 true
인 example.com/support
레이블을 catalog-a
클러스터 카탈로그에 추가합니다.
라벨이 있는 클러스터 카탈로그 CR의 예
다음 클러스터 확장 CR은 matchLabels
선택기를 사용하여 example.com/support
레이블 및 true
값이 있는 카탈로그를 선택합니다.
matchLabels
선택기를 사용한 클러스터 확장 CR 예시
matchExpressions
필드를 사용하여 라벨을 더 복잡한 필터링을 수행할 수 있습니다. 다음 클러스터 확장 CR은 example.com/support
레이블과 production
또는 지원되는
값이 있는 카탈로그를 선택합니다.
matchExpression
선택기를 사용한 클러스터 확장 CR 예시
matchLabels
및 matchExpressions
필드를 모두 사용하는 경우 선택한 카탈로그가 지정된 모든 기준을 충족해야 합니다.
4.4.3. 레이블 또는 표현식의 카탈로그 제외 링크 복사링크가 클립보드에 복사되었습니다!
NotIn
또는 DoesNotExist
연산자의 메타데이터에 대한 일치 표현식을 사용하여 카탈로그를 제외할 수 있습니다.
다음 CR은 unwanted-catalog-1
및 unwanted-catalog-2
클러스터 카탈로그에 example.com/testing
라벨을 추가합니다.
클러스터 카탈로그 CR의 예
클러스터 카탈로그 CR의 예
다음 클러스터 확장 CR은 unwanted-catalog-1
카탈로그에서 선택을 제외합니다.
특정 카탈로그를 제외하는 클러스터 확장 CR의 예
다음 클러스터 확장 CR은 example.com/testing
라벨이 없는 카탈로그에서 선택합니다. 결과적으로 unwanted-catalog-1
및 unwanted-catalog-2
모두 카탈로그 선택에서 제외됩니다.
특정 레이블이 있는 카탈로그를 제외하는 클러스터 확장 CR의 예
4.4.4. 카탈로그 선택 우선 순위 링크 복사링크가 클립보드에 복사되었습니다!
여러 카탈로그에서 동일한 패키지를 제공하는 경우 각 카탈로그의 CR(사용자 정의 리소스)에 우선 순위를 지정하여 모호성을 해결할 수 있습니다. 지정되지 않은 경우 카탈로그의 기본 우선순위 값은 0
입니다. 우선순위는 모든 양수 또는 음수 32비트 정수일 수 있습니다.
- 번들 확인 중에 우선순위가 높은 값이 높은 카탈로그는 우선순위가 낮은 카탈로그보다 선택됩니다.
- 더 이상 사용되지 않는 번들은 더 이상 사용되지 않는 번들보다 우선 순위가 지정됩니다.
- 우선 순위가 동일한 카탈로그에 여러 번 번들이 있고 카탈로그 선택이 모호하면 오류가 출력됩니다.
우선 순위가 높은 클러스터 카탈로그 CR의 예
우선 순위가 낮은 클러스터 카탈로그 CR의 예
4.4.5. 카탈로그 선택 오류 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
모호함으로 인해 번들 확인이 실패하거나 카탈로그가 선택되어 있지 않기 때문에 클러스터 확장의 status.conditions
필드에 오류 메시지가 출력됩니다.
다음 작업을 수행하여 카탈로그 선택 오류 문제를 해결합니다.
- 레이블 또는 표현식을 사용하여 선택 기준을 구체화합니다.
- 카탈로그 우선 순위를 조정합니다.
- 하나의 번들만 패키지 이름 및 버전 요구 사항과 일치하는지 확인합니다.