4.5. 管理 control plane 机器
control plane 机器集为 control plane 机器提供管理功能,与为计算机器提供的计算机器集类似。集群上的 control plane 机器集的可用性和初始状态取决于您的云供应商和您安装的 OpenShift Container Platform 版本。如需更多信息,请参阅开始使用 control plane 机器集。
4.5.1. 在集群中添加 control plane 节点 复制链接链接已复制到粘贴板!
在裸机基础架构上安装集群时,您可以手动扩展到 4 或 5 个 control plane 节点。此流程中的示例使用 node-5
作为新的 control plane 节点。
先决条件
- 已安装一个带有至少三个 control plane 节点的健康集群。
- 您已创建了单个 control plane 节点,您要作为安装后任务添加到集群中。
流程
输入以下命令为新的 control plane 节点检索待处理的证书签名请求(CSR):
oc get csr | grep Pending
$ oc get csr | grep Pending
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令为 control plane 节点批准所有待处理的 CSR:
oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs --no-run-if-empty oc adm certificate approve
$ oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs --no-run-if-empty oc adm certificate approve
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要您必须批准 CSR 才能完成安装。
输入以下命令确认 control plane 节点处于
Ready
状态:oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在安装程序置备的基础架构中,etcd Operator 依赖于 Machine API 来管理 control plane 并确保 etcd 仲裁。然后,Machine API 使用
Machine
CR 代表和管理底层 control plane 节点。创建
BareMetalHost
和Machine
CR,并将其链接到 control plane 节点的节点 CR。使用唯一
.metadata.name
值创建BareMetalHost
CR,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令应用
BareMetalHost
CR:oc apply -f <filename>
$ oc apply -f <filename>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 <filename> 替换为
BareMetalHost
CR 的名称。
使用以下示例中所示的唯一
.metadata.name
值创建Machine
CR:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_name>
替换为特定集群的名称,如test-day2-1-6qv96
。
运行以下命令来获取集群名称:
oc get infrastructure cluster -o=jsonpath='{.status.infrastructureName}{"\n"}'
$ oc get infrastructure cluster -o=jsonpath='{.status.infrastructureName}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令应用
Machine
CR:oc apply -f <filename>
$ oc apply -f <filename>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<filename>
替换为Machine
CR 的名称。
通过运行
link-machine-and-node.sh
脚本链接BareMetalHost
、Machine
和Node
对象:将以下
link-machine-and-node.sh
脚本复制到本地机器中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令使脚本可执行:
chmod +x link-machine-and-node.sh
$ chmod +x link-machine-and-node.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令运行脚本:
bash link-machine-and-node.sh node-5 node-5
$ bash link-machine-and-node.sh node-5 node-5
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意第一个
node-5
实例代表计算机,第二个实例代表该节点。
验证
通过执行预先存在的 control plane 节点之一来确认 etcd 成员:
输入以下命令打开到 control plane 节点的远程 shell 会话:
oc rsh -n openshift-etcd etcd-node-0
$ oc rsh -n openshift-etcd etcd-node-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出 etcd 成员:
etcdctl member list -w table
# etcdctl member list -w table
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
输入以下命令检查 etcd Operator 配置过程,直到完成为止。预期输出显示
PROGRESSING
栏下的False
。oc get clusteroperator etcd
$ oc get clusteroperator etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令确认 etcd 健康状况:
打开到 control plane 节点的远程 shell 会话:
oc rsh -n openshift-etcd etcd-node-0
$ oc rsh -n openshift-etcd etcd-node-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查端点健康状况。预期输出对于端点显示
处于健康状态
。etcdctl endpoint health
# etcdctl endpoint health
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
输入以下命令验证所有节点是否已就绪。预期输出显示每个节点条目旁边的
Ready
状态。oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令验证集群 Operator 是否可用。预期输出列出了每个 Operator,并在每个列出的 Operator 旁边显示可用状态为
True
。oc get ClusterOperators
$ oc get ClusterOperators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令验证集群版本是否正确:
oc get ClusterVersion
$ oc get ClusterVersion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version OpenShift Container Platform.5 True False 5h57m Cluster version is OpenShift Container Platform.5
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version OpenShift Container Platform.5 True False 5h57m Cluster version is OpenShift Container Platform.5
Copy to Clipboard Copied! Toggle word wrap Toggle overflow