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