第 12 章 更新在 vSphere 上运行的节点上运行的硬件
您必须确保您在 vSphere 中运行的节点在 OpenShift Container Platform 支持的硬件版本上运行。目前,硬件版本 15 或更高版本都支持集群中的 vSphere 虚拟机。
您可以立即更新虚拟硬件,或在 vCenter 中计划更新。
OpenShift Container Platform 版本 4.11 需要 VMware 虚拟硬件版本 15 或更高版本。
12.1. 更新 vSphere 上的虚拟硬件
要在 VMware vSphere 上更新虚拟机 (VM) 的硬件,请单独更新您的虚拟机,以减少集群停机风险。
12.1.1. 为 vSphere 上的 control plane 节点更新虚拟硬件
要减少停机的风险,建议按顺序更新 control plane 节点。这样可确保 Kubernetes API 保持可用,etcd 保留仲裁。
先决条件
- 在托管 OpenShift Container Platform 集群的 vCenter 实例中具有执行所需权限的权限。
- 您的 vSphere ESXi 主机是 7.0U2 或更高版本。
流程
列出集群中的 control plane 节点。
$ oc get nodes -l node-role.kubernetes.io/master
输出示例
NAME STATUS ROLES AGE VERSION control-plane-node-0 Ready master 75m v1.24.0 control-plane-node-1 Ready master 75m v1.24.0 control-plane-node-2 Ready master 75m v1.24.0
请注意 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 节点重复此步骤。
12.1.2. 更新 vSphere 上计算节点的虚拟硬件
要降低停机的风险,建议按顺序更新计算节点。
可以在并行给定工作负载中更新多个计算节点,可以接受具有 NotReady
状态的多个节点。管理员负责确保所需的计算节点可用。
先决条件
- 在托管 OpenShift Container Platform 集群的 vCenter 实例中具有执行所需权限的权限。
- 您的 vSphere ESXi 主机是 7.0U2 或更高版本。
流程
列出集群中的计算节点。
$ oc get nodes -l node-role.kubernetes.io/worker
输出示例
NAME STATUS ROLES AGE VERSION compute-node-0 Ready worker 30m v1.24.0 compute-node-1 Ready worker 30m v1.24.0 compute-node-2 Ready worker 30m v1.24.0
注意计算节点的名称。
将计算节点标记为不可调度:
$ 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>
- 对集群中的每个计算节点重复此步骤。
12.1.3. 为 vSphere 上的模板更新虚拟硬件
先决条件
- 在托管 OpenShift Container Platform 集群的 vCenter 实例中具有执行所需权限的权限。
- 您的 vSphere ESXi 主机是 7.0U2 或更高版本。
流程
如果 RHCOS 模板被配置为 vSphere 模板 ,请在进行下一步前参阅将模板转换为一个虚拟机。
注意从模板转换后,请不要打开虚拟机电源。
- 更新 vSphere 客户端中的虚拟机。如需更多信息,请参阅 VMware 文档中的手动升级虚拟机兼容性。
- 将 vSphere 客户端中的虚拟机从虚拟机转换为模板。如需更多信息,请参阅 VMware 文档中的将虚拟机转换为 vSphere 客户端中的模板。
其他资源