5.3.5. 为监控用户定义的项目的组件分配容限
您可以为监控用户定义的项目的组件分配容限,以便将它们移到污点 worker 节点。在 control plane 或基础架构节点上不允许调度。
先决条件
-
您可以使用具有
dedicated-admin
角色的用户访问集群。 -
您已在
openshift-user-workload-monitoring
命名空间中创建了user-workload-monitoring-config
ConfigMap
对象。 -
已安装 OpenShift CLI(
oc
)。
流程
编辑
ConfigMap
对象:在
openshift-user-workload-monitoring
项目中编辑user-workload-monitoring-config
ConfigMap
对象:$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
为组件指定
tolerations
:apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | <component>: tolerations: <toleration_specification>
相应地替换
<component>
和<toleration_specification>
。例如,
oc adm taint nodes node1 key1=value1:NoSchedule
会将一个键为key1
且值为value1
的污点添加到node1
。这会防止监控组件在node1
上部署 Pod,除非为该污点配置了容限。以下示例将thanosRuler
组件配置为容许示例污点:apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | thanosRuler: tolerations: - key: "key1" operator: "Equal" value: "value1" effect: "NoSchedule"
保存文件以使改变生效。这样就会自动应用新组件放置配置。
警告一旦将更改保存到监控配置映射,可能会重新部署相关项目中的 Pod 和其他资源。该项目中正在运行的监控进程也可能被重启。
其他资源
- 参阅 OpenShift Container Platform 文档中有关 污点和容限的内容
- 参阅 Kubernetes 文档中有关污点和容限的内容