第 11 章 更新在 vSphere 上运行的节点上运行的硬件
您必须确保您在 vSphere 中运行的节点在 OpenShift Container Platform 支持的硬件版本上运行。目前,硬件版本 13 或更高版本都支持集群中的 vSphere 虚拟机。
您可以立即更新虚拟硬件,或在 vCenter 中计划更新。
在 vSphere 上运行的集群节点使用硬件版本 13 现已弃用。这个版本仍然被完全支持,但在以后的 OpenShift Container Platform 版本中将会删除支持。现在,硬件版本 15 是 OpenShift Container Platform 中 vSphere 虚拟机的默认版本。
11.1. 更新 vSphere 上的虚拟硬件
要在 VMware vSphere 上更新虚拟机 (VM) 的硬件,请单独更新您的虚拟机,以减少集群停机风险。
11.1.1. 为 vSphere 上的 control plane 节点更新虚拟硬件
要减少停机的风险,建议按顺序更新 control plane 节点。这样可确保 Kubernetes API 保持可用,etcd 保留仲裁。
先决条件
- 在托管 OpenShift Container Platform 集群的 vCenter 实例中具有执行所需权限的权限。
- 您的 vSphere ESXi 主机是 6.7U3 或更高版本。
流程
列出集群中的 control plane 节点。
$ oc get nodes -l node-role.kubernetes.io/master
输出示例
NAME STATUS ROLES AGE VERSION control-plane-node-0 Ready master 75m v1.22.1 control-plane-node-1 Ready master 75m v1.22.1 control-plane-node-2 Ready master 75m v1.22.1
请注意 control plane 节点的名称。
将 control plane 节点标记为不可调度。
$ oc adm cordon <control_plane_node>
-
关闭与 control plane 节点关联的虚拟机 (VM)。在 vSphere 客户端中通过右键单击虚拟机并选择 Power
Shut Down Guest OS 进行此操作。不要使用 Power Off 来关闭虚拟机,因为它可能无法安全地关闭。 - 更新 vSphere 客户端中的虚拟机。如需更多信息 ,请参阅 VMware 文档中的将虚拟机升级到最新硬件版本。
- 打开与 control plane 节点关联的虚拟机。在 vSphere 客户端中通过右键单击虚拟机并选择 Power On 来进行此操作。
等待节点报告为
Ready
:$ oc wait --for=condition=Ready node/<control_plane_node>
再次将 control plane 节点标记为可以调度:
$ oc adm uncordon <control_plane_node>
- 对集群中的每个 control plane 节点重复此步骤。
11.1.2. 更新 vSphere 上计算节点的虚拟硬件
要降低停机的风险,建议按顺序更新计算节点。
可以在并行给定工作负载中更新多个计算节点,可以接受具有 NotReady
状态的多个节点。管理员负责确保所需的计算节点可用。
先决条件
- 在托管 OpenShift Container Platform 集群的 vCenter 实例中具有执行所需权限的权限。
- 您的 vSphere ESXi 主机是 6.7U3 或更高版本。
流程
列出集群中的计算节点。
$ oc get nodes -l node-role.kubernetes.io/worker
输出示例
NAME STATUS ROLES AGE VERSION compute-node-0 Ready worker 30m v1.22.1 compute-node-1 Ready worker 30m v1.22.1 compute-node-2 Ready worker 30m v1.22.1
注意计算节点的名称。
将计算节点标记为不可调度:
$ oc adm cordon <compute_node>
从计算节点撤离容器集。执行此操作有多种方法。例如,您可以撤离节点上的所有或选定 pod:
$ oc adm drain <compute_node> [--pod-selector=<pod_selector>]
如需从节点上撤离 pod 的其他选项,请参阅"如何撤离节点上的 pod"部分。
-
关闭与计算节点关联的虚拟机 (VM)。在 vSphere 客户端中通过右键单击虚拟机并选择 Power
Shut Down Guest OS 进行此操作。不要使用 Power Off 来关闭虚拟机,因为它可能无法安全地关闭。 - 更新 vSphere 客户端中的虚拟机。如需更多信息 ,请参阅 VMware 文档中的将虚拟机升级到最新硬件版本。
- 打开与计算节点关联的虚拟机。在 vSphere 客户端中通过右键单击虚拟机并选择 Power On 来进行此操作。
等待节点报告为
Ready
:$ oc wait --for=condition=Ready node/<compute_node>
将计算节点再次标记为可调度:
$ oc adm uncordon <compute_node>
- 对集群中的每个计算节点重复此步骤。
11.1.3. 为 vSphere 上的模板更新虚拟硬件
先决条件
- 在托管 OpenShift Container Platform 集群的 vCenter 实例中具有执行所需权限的权限。
- 您的 vSphere ESXi 主机是 6.7U3 或更高版本。
流程
- 如果 RHCOS 模板被配置为 vSphere 模板 ,请在进行下一步前参阅将模板转换为一个虚拟机。
从模板转换后,请不要打开虚拟机电源。
- 更新 vSphere 客户端中的虚拟机。如需更多信息 ,请参阅 VMware 文档中的将虚拟机升级到最新硬件版本。
- 将 vSphere 客户端中的虚拟机从虚拟机转换为模板。如需更多信息,请参阅 VMware 文档中的将虚拟机转换为 vSphere 客户端中的模板。
其他资源