4.11. 目录源 pod 调度
当源类型 grpc
的 Operator Lifecycle Manager (OLM) 目录源定义 spec.image
时,Catalog Operator 会创建一个提供定义的镜像内容的 pod。默认情况下,此 pod 在 spec 中定义以下内容:
-
只有
kubernetes.io/os=linux
节点选择器 - 没有优先级类名称
- 没有容限
作为管理员,您可以通过修改 CatalogSource
对象的可选 spec.grpcPodConfig
部分中的字段来覆盖这些值。
4.11.1. 覆盖目录源 pod 的节点选择器
先决条件
-
源类型的
CatalogSource
对象,
定义了spec.image
流程
编辑
CatalogSource
对象并添加或修改spec.grpcPodConfig
部分,使其包含以下内容:grpcPodConfig: nodeSelector: custom_label: <label>
其中
<label>
是您希望目录源 pod 用于调度的节点选择器的标签。
其他资源
4.11.2. 覆盖目录源 pod 的优先级类名称
先决条件
-
源类型的
CatalogSource
对象,
定义了spec.image
流程
编辑
CatalogSource
对象并添加或修改spec.grpcPodConfig
部分,使其包含以下内容:grpcPodConfig: priorityClassName: <priority_class>
其中
<priority_class>
是以下之一:-
Kubernetes 提供的默认优先级类之一:
system-cluster-critical
或system-node-critical
-
用于分配默认优先级的空集合 (
""
) - 预先存在的和自定义优先级类
-
Kubernetes 提供的默认优先级类之一:
在以前的版本中,唯一可以被覆盖的 pod 调度参数是 priorityClassName
。这可以通过将 operatorframework.io/priorityclass
注解添加到 CatalogSource
对象来实现。例如:
apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: example-catalog namespace: namespace: openshift-marketplace annotations: operatorframework.io/priorityclass: system-cluster-critical
如果 CatalogSource
对象同时定义了注解和 spec.grpcPodConfig.priorityClassName
,注解优先于配置参数。
其他资源
4.11.3. 覆盖目录源 pod 的容限
先决条件
-
源类型的
CatalogSource
对象,
定义了spec.image
流程
编辑
CatalogSource
对象并添加或修改spec.grpcPodConfig
部分,使其包含以下内容:grpcPodConfig: tolerations: - key: "<key_name>" operator: "<operator_type>" value: "<value>" effect: "<effect>"
其他资源