×

当源类型为grpc的操作符生命周期管理器 (OLM) 目录源定义spec.image时,目录操作符会创建一个提供已定义镜像内容的 Pod。默认情况下,此 Pod 在其规范中定义以下内容:

  • 只有kubernetes.io/os=linux节点选择器。

  • 默认优先级类名称:system-cluster-critical

  • 无容忍度。

作为管理员,您可以通过修改CatalogSource对象可选spec.grpcPodConfig部分中的字段来覆盖这些值。

市场操作符openshift-marketplace管理默认OperatorHub自定义资源 (CR)。此 CR 管理CatalogSource对象。如果您尝试修改CatalogSource对象spec.grpcPodConfig部分中的字段,市场操作符会自动恢复这些修改。默认情况下,如果您修改CatalogSource对象的spec.grpcPodConfig部分中的字段,市场操作符会自动恢复这些更改。

要对CatalogSource对象应用持久性更改,您必须首先禁用默认CatalogSource对象。

在本地级别禁用默认 CatalogSource 对象

您可以通过禁用默认CatalogSource对象,在本地级别对CatalogSource对象(例如目录源 Pod)应用持久性更改。在默认CatalogSource对象的配置不满足您组织需求的情况下,请考虑默认配置。默认情况下,如果您修改CatalogSource对象的spec.grpcPodConfig部分中的字段,市场操作符会自动恢复这些更改。

市场操作符openshift-marketplace管理OperatorHub的默认自定义资源 (CR)。OperatorHub管理CatalogSource对象。

要对CatalogSource对象应用持久性更改,您必须首先禁用默认CatalogSource对象。

步骤
  • 要在本地级别禁用所有默认CatalogSource对象,请输入以下命令:

    $ oc patch operatorhub cluster -p '{"spec": {"disableAllDefaultSources": true}}' --type=merge

    您还可以配置默认OperatorHub CR 以禁用所有CatalogSource对象或禁用特定对象。

覆盖目录源 Pod 的节点选择器

前提条件
  • 定义了源类型为grpc且具有spec.imageCatalogSource对象。

  • 您具有dedicated-admin角色的用户可以访问集群。

步骤
  • 编辑CatalogSource对象并添加或修改spec.grpcPodConfig部分以包含以下内容:

      grpcPodConfig:
        nodeSelector:
          custom_label: <label>

    其中<label>是您希望目录源 Pod 用于调度的节点选择器的标签。

覆盖目录源 Pod 的优先级类名称

前提条件
  • 定义了源类型为grpc且具有spec.imageCatalogSource对象。

  • 您具有dedicated-admin角色的用户可以访问集群。

步骤
  • 编辑CatalogSource对象并添加或修改spec.grpcPodConfig部分以包含以下内容:

      grpcPodConfig:
        priorityClassName: <priority_class>

    其中<priority_class>是以下选项之一:

    • Kubernetes 提供的默认优先级类之一:system-cluster-criticalsystem-node-critical

    • 空集 ("") 用于分配默认优先级

    • 预先存在的自定义定义的优先级类

以前,唯一可以覆盖的 Pod 调度参数是priorityClassName。这是通过将operatorframework.io/priorityclass注释添加到CatalogSource对象来完成的。例如:

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,则注释优先于配置参数。

其他资源

覆盖目录源 Pod 的容忍度

前提条件
  • 定义了源类型为grpc且具有spec.imageCatalogSource对象。

  • 您具有dedicated-admin角色的用户可以访问集群。

步骤
  • 编辑CatalogSource对象并添加或修改spec.grpcPodConfig部分以包含以下内容:

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