4.11. 카탈로그 소스 Pod 예약

소스 유형의 OLM(Operator Lifecycle Manager) 카탈로그 소스 grpcspec.image 를 정의하면 Catalog Operator는 정의된 이미지 콘텐츠를 제공하는 Pod를 생성합니다. 기본적으로 이 Pod는 사양에 다음을 정의합니다.

  • kubernetes.io/os=linux 노드 선택기만
  • 우선순위 클래스 이름 없음
  • 허용 오차 없음

관리자는 CatalogSource 오브젝트의 선택적 spec.grpcPodConfig 섹션의 필드를 수정하여 이러한 값을 덮어쓸 수 있습니다.

4.11.1. 카탈로그 소스 Pod의 노드 선택기 덮어쓰기

전제 조건

  • spec.image 가 정의된 source type grpcCatalogSource 오브젝트

프로세스

  • CatalogSource 오브젝트를 편집하고 다음을 포함하도록 spec.grpcPodConfig 섹션을 추가하거나 수정합니다.

      grpcPodConfig:
        nodeSelector:
          custom_label: <label>

    여기서 < label>은 카탈로그 소스 Pod가 예약에 사용할 노드 선택기의 레이블입니다.

4.11.2. 카탈로그 소스 Pod의 우선순위 클래스 이름 덮어쓰기

전제 조건

  • spec.image 가 정의된 source type grpcCatalogSource 오브젝트

프로세스

  • CatalogSource 오브젝트를 편집하고 다음을 포함하도록 spec.grpcPodConfig 섹션을 추가하거나 수정합니다.

      grpcPodConfig:
        priorityClassName: <priority_class>

    여기서 <priority_class >는 다음 중 하나입니다.

    • Kubernetes에서 제공하는 기본 우선순위 클래스 중 하나: system-cluster-critical 또는 system-node-critical
    • 기본 우선 순위를 할당하는 빈 세트("")
    • 기존 및 사용자 지정 우선순위 클래스
참고

이전에는 재정의될 수 있는 유일한 Pod 예약 매개변수는 priorityClassName 이었습니다. 이 작업은 CatalogSource 오브젝트에 operatorframework.io/priorityclass 주석을 추가하여 수행됩니다. 예를 들면 다음과 같습니다.

apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: example-catalog
  namespace: openshift-marketplace
  annotations:
    operatorframework.io/priorityclass: system-cluster-critical

CatalogSource 오브젝트에서 주석과 spec.grpcPodConfig.priorityClassName 을 모두 정의하는 경우 주석은 구성 매개변수보다 우선합니다.

추가 리소스

4.11.3. 카탈로그 소스 Pod에 대한 허용 오차 덮어쓰기

전제 조건

  • spec.image 가 정의된 source type grpcCatalogSource 오브젝트

프로세스

  • CatalogSource 오브젝트를 편집하고 다음을 포함하도록 spec.grpcPodConfig 섹션을 추가하거나 수정합니다.

      grpcPodConfig:
        tolerations:
          - key: "<key_name>"
            operator: "<operator_type>"
            value: "<value>"
            effect: "<effect>"