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.6.3. 将资源移到基础架构 MachineSet
默认情况下,您的集群中已部署了某些基础架构资源。您可以将它们移至您创建的基础架构 MachineSet。
6.3.1. 移动路由器
您可以将路由器 Pod 部署到不同的 MachineSet。默认情况下,该 Pod 部署到 worker 节点。
先决条件
- 在 OpenShift Container Platform 集群中配置额外的 MachineSet。
流程
- 查看路由器 Operator 的 - IngressController自定义资源:- oc get ingresscontroller default -n openshift-ingress-operator -o yaml - $ oc get ingresscontroller default -n openshift-ingress-operator -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 命令输出类似于以下文本: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 编辑 - ingresscontroller资源,并更改- nodeSelector以使用- infra标签:- oc edit ingresscontroller default -n openshift-ingress-operator -o yaml - $ oc edit ingresscontroller default -n openshift-ingress-operator -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 在 - spec中添加使用- infra标签的- nodeSelector的部分,如下所示:- spec: nodePlacement: nodeSelector: matchLabels: node-role.kubernetes.io/infra: ""- spec: nodePlacement: nodeSelector: matchLabels: node-role.kubernetes.io/infra: ""- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 确认路由器 Pod 在 - infra节点上运行。- 查看路由器 Pod 列表,并记下正在运行的 Pod 的节点名称: - oc get pod -n openshift-ingress -o wide - $ oc get pod -n openshift-ingress -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES router-default-86798b4b5d-bdlvd 1/1 Running 0 28s 10.130.2.4 ip-10-0-217-226.ec2.internal <none> <none> router-default-955d875f4-255g8 0/1 Terminating 0 19h 10.129.2.4 ip-10-0-148-172.ec2.internal <none> <none>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 在本例中,正在运行的 Pod 位于 - ip-10-0-217-226.ec2.internal节点上。
- 查看正在运行的 Pod 的节点状态: - oc get node <node_name> - $ oc get node <node_name>- 1 - NAME STATUS ROLES AGE VERSION ip-10-0-217-226.ec2.internal Ready infra,worker 17h v1.14.6+c4799753c- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 指定从 Pod 列表获得的<node_name>。
 - 由于角色列表包含 - infra,因此 Pod 在正确的节点上运行。
 
6.3.2. 移动默认 registry
您需要配置 registry Operator,以便将其 Pod 部署到其他节点。
先决条件
- 在 OpenShift Container Platform 集群中配置额外的 MachineSet。
流程
- 查看 - config/instance对象:- oc get config/cluster -o yaml - $ oc get config/cluster -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出类似于以下文本: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 编辑 - config/instance对象:- oc edit config/cluster - $ oc edit config/cluster- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在对象的 - spec部分添加以下文本行:- nodeSelector: node-role.kubernetes.io/infra: ""- nodeSelector: node-role.kubernetes.io/infra: ""- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 验证 registry Pod 已移至基础架构节点。 - 运行以下命令检查 registry Pod 所在的节点: - oc get pods -o wide -n openshift-image-registry - $ oc get pods -o wide -n openshift-image-registry- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 确认节点具有您指定的标签: - oc describe node <node_name> - $ oc describe node <node_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 查看命令输出,并确认 - node-role.kubernetes.io/infra列在- LABELS列表中。
 
6.3.3. 移动监控解决方案
默认情况下,部署包含 Prometheus、Grafana 和 AlertManager 的 Prometheus Cluster Monitoring 堆栈来提供集群监控功能。它由 Cluster Monitoring Operator 进行管理。若要将其组件移到其他机器上,需要创建并应用自定义 ConfigMap。
流程
- 将以下 ConfigMap 定义保存为 - cluster-monitoring-configmap.yaml文件:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 运行此 ConfigMap 会强制将监控堆栈的组件重新部署到基础架构节点。 
- 应用新的 ConfigMap: - oc create -f cluster-monitoring-configmap.yaml - $ oc create -f cluster-monitoring-configmap.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 观察监控 Pod 移至新机器: - watch 'oc get pod -n openshift-monitoring -o wide' - $ watch 'oc get pod -n openshift-monitoring -o wide'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 如果组件没有移到 - infra节点,请删除带有这个组件的 pod:- oc delete pod -n openshift-monitoring <pod> - $ oc delete pod -n openshift-monitoring <pod>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 已删除 pod 的组件在 - infra节点上重新创建。
其他资源
- 如需了解有关移动 OpenShift Container Platform 组件的信息,请参阅监控文档。
6.3.4. 移动集群日志资源
您可以配置 Cluster Logging Operator,以将任何或所有 Cluster Logging 组件、Elasticsearch、Kibana 和 Curator 的 Pod 部署到不同的节点上。您无法将 Cluster Logging Operator Pod 从其安装位置移走。
例如,您可以因为 CPU、内存和磁盘要求较高而将 Elasticsearch Pod 移到一个单独的节点上。
您应该将 MachineSet 设置为至少使用 6 个副本。
先决条件
- 必须安装 Cluster Logging 和 Elasticsearch。默认情况下没有安装这些功能。
流程
- 编辑 - openshift-logging项目中的集群日志记录自定义资源:- oc edit ClusterLogging instance - $ oc edit ClusterLogging instance- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证步骤
						要验证组件是否已移动,您可以使用 oc get pod -o wide 命令。
					
例如:
- 您需要移动来自 - ip-10-0-147-79.us-east-2.compute.internal节点上的 Kibana pod:- oc get pod kibana-5b8bdf44f9-ccpq9 -o wide - $ oc get pod kibana-5b8bdf44f9-ccpq9 -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kibana-5b8bdf44f9-ccpq9 2/2 Running 0 27s 10.129.2.18 ip-10-0-147-79.us-east-2.compute.internal <none> <none>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 您需要将 Kibana Pod 移到 - ip-10-0-139-48.us-east-2.compute.internal节点,该节点是一个专用的基础架构节点:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 请注意,该节点具有 - node-role.kubernetes.io/infra: "label:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 要移动 Kibana Pod,请编辑集群日志记录 CR 以添加节点选择器: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 保存 CR 后,当前 Kibana Pod 将被终止,新的 Pod 会被部署: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 新 pod 位于 - ip-10-0-139-48.us-east-2.compute.internal节点上 :- oc get pod kibana-7d85dcffc8-bfpfp -o wide - $ oc get pod kibana-7d85dcffc8-bfpfp -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kibana-7d85dcffc8-bfpfp 2/2 Running 0 43s 10.131.0.22 ip-10-0-139-48.us-east-2.compute.internal <none> <none>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 片刻后,原始 Kibana Pod 将被删除。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow