This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.6. 将监控组件移到其他节点
您可以将任何监控堆栈组件移到特定的节点。
先决条件
如果要配置 OpenShift Container Platform 核心监控组件:
-
您可以使用具有
cluster-admin
角色的用户访问集群。 -
您已创建
cluster-monitoring-config
ConfigMap
对象。
-
您可以使用具有
如果您要配置用于监控用户定义的项目的组件:
-
您可以使用具有
cluster-admin
角色的用户访问集群,也可以使用在openshift-user-workload-monitoring
项目中具有user-workload-monitoring-config-edit
角色的用户访问集群。 -
您已创建了
user-workload-monitoring-config
ConfigMap
对象。
-
您可以使用具有
-
已安装 OpenShift CLI(
oc
)。
流程
编辑
ConfigMap
对象:要移动用于监控 OpenShift Container Platform 核心项目的组件:
编辑
openshift-monitoring
项目中的cluster-monitoring-config
ConfigMap
对象:oc -n openshift-monitoring edit configmap cluster-monitoring-config
$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
data/config.yaml
下为组件指定nodeSelector
约束:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 相应地替换
<component>
,并将<node_key>: <node_value>
替换为用于指定目标节点组的键值对映射。通常只使用一个键值对。组件只能在以各个指定键值对作为标签的节点上运行。节点也可以有附加标签。
重要许多监控组件都通过在集群中的不同节点间使用多个 Pod 来部署,以维持高可用性。将监控组件移到带标签的节点时,确保有足够的匹配节点来保持组件的弹性。如果只指定了一个标签,请确保有足够的节点包含该标签,以便将该组件的所有 Pod 分布到不同的节点。另外,您还可以指定多个标签,每个都与单个节点相关。
注意如果在配置
nodeSelector
约束后监控组件仍然处于Pending
状态,请检查 Pod 日志中与污点和容限相关的错误。例如,要将 OpenShift Container Platform 核心项目的监控组件移到带有
nodename: controlplane1
、nodename: worker1
、nodename: worker2
和nodename: worker2
标签的特定节点中,请使用:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要移动用于监控用户定义的项目的组件:
在
openshift-user-workload-monitoring
项目中编辑user-workload-monitoring-config
ConfigMap
对象:oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
data/config.yaml
下为组件指定nodeSelector
约束:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 相应地替换
<component>
,并将<node_key>: <node_value>
替换为用于指定目标节点的键值对映射。通常只使用一个键值对。组件只能在以各个指定键值对作为标签的节点上运行。节点也可以有附加标签。
重要许多监控组件都通过在集群中的不同节点间使用多个 Pod 来部署,以维持高可用性。将监控组件移到带标签的节点时,确保有足够的匹配节点来保持组件的弹性。如果只指定了一个标签,请确保有足够的节点包含该标签,以便将该组件的所有 Pod 分布到不同的节点。另外,您还可以指定多个标签,每个都与单个节点相关。
注意如果在配置
nodeSelector
约束后监控组件仍然处于Pending
状态,请检查 Pod 日志中与污点和容限相关的错误。例如,要将监控用户定义的项目的组件移到带有
nodename: worker1
、nodename: worker2
和nodename: worker2
标签的特定 worker 节点,请使用:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
保存文件以使改变生效。受新配置影响的组件会自动移到新节点上。
注意除非集群管理员为用户定义的项目启用了监控,否则应用到
user-workload-monitoring-config
ConfigMap
的配置不会被激活。警告一旦将更改保存到监控配置映射,可能会重新部署相关项目中的 Pod 和其他资源。该项目中正在运行的监控进程也可能被重启。