更新 Satellite 位置控制平面主机
从您的位置分离主机,在基础架构提供商中重新加载主机,然后将主机重新连接并重新分配到您的Satellite位置控制平面,从而获取最新的OpenShift Container Platform、操作系统和安全补丁。
更新控制平面主机之前的注意事项
在更新 Satellite 位置控制平面主机之前,请查看以下注意事项。
- 如何判断版本更新是否可用?
- 随着 Red Hat OpenShift on IBM Cloud 团队打包工作程序节点的新版本,主机的版本更新变为可用。 通常,每两周发布一次工作程序节点版本更新。
- 您可以检查版本更新以满足所需的安全节奏,例如按月或按月进行更新。 要查看可用的版本更新,请参阅 Red Hat OpenShift on IBM Cloud。
- 更新主机是否会影响在 Satellite 位置控制平面中运行的集群主节点?
- 需要。 由于集群主节点在 Satellite 位置控制平面中运行,因此在更新任何主机之前,请确保在控制平面中有足够多的额外主机。 要连接额外的主机,请参阅 将容量连接到 Satellite 位置控制平面。
- Satellite启用的 IBM Cloud 服务中的主机是否必须运行与 Satellite 位置控制平面相同的版本?
- 否,分配给 Satellite 位置控制平面的主机不必运行与分配给在该位置运行的 Satellite-enabled IBM Cloud 服务的主机相同的版本。 但是,该位置中的所有主机都必须运行受支持的版本。
- 要查看主机可以运行的受支持 Red Hat OpenShift 版本,请参阅 Red Hat OpenShift on IBM Cloud 文档 或在命令行中运行
ibmcloud ks versions
。 - 更新主机时,是否仍可访问 Satellite 位置控制平面子域?
- 如果为您自动创建了位置子域,那么将自动为您管理为该子域注册的主机 IP 地址,例如在更新期间。
- 如果在创建 Satellite 位置控制平面时使用
ibmcloud sat location dns register
命令手动注册了位置子域的主机 IP 地址,请确保在开始之前将三个主机连接到控制平面,然后为子域手动注册这些主机 IP。 现在,这些新主机将处理该位置的请求。 然后,您可以更新先前用于子域的主机。 - 如何检查控制平面版本?
- 运行
ibmcloud sat location get --location <locationID> --json
并查看masterKubeVersion
字段。 - 更换控制平面节点时应用什么版本?
- 新节点的次版本与控制平面的次版本一致。 补丁版本是最新的工人补丁版本,其中包含最新的漏洞修复。
- 在更新控制平面时,如何避免停机?
- 通过遵循更新流程,可以确保所有控制平面组件都能在节点上运行,不会出现任何中断。 确保每次只更新一个 Worker,并留出足够的时间让一个节点完全正常运行后再开始下一个节点。
- 我应该多久更新一次控制平面主机?
- 建议在新的工作节点修复包可用时更新控制平面主机,以获得所有最新的漏洞修复。
更新控制平面主机
要应用版本更新,必须将主机拆离,重新装入并重新连接到 Satellite 位置。 然后,可以将主机重新分配给控制平面或位置中运行的其他资源。
更新控制平面主机时,请勿同时分配或移除多个主机,因为这样做可能会破坏控制平面。 必须先等待主机分配或除去操作完成,然后再分配或除去另一个主机。
- 可选: 连接 和 分配 额外主机到 Satellite 位置控制平面,以在现有主机正在更新时处理计算容量。
- 从 Satellite 位置除去要更新的主机。
- 遵循基础结构提供程序中的准则来重新装入主机的操作系统。
- 将主机 连接回 Satellite 位置。
- 将主机 分配回 Satellite 位置控制平面。
在引导过程中,将针对主机更新与集群主节点匹配的最新映像和 Red Hat OpenShift 版本,并除去对主机的 SSH 访问。
更新 Kubernetes API 服务器
更新 Kubernetes API 不会更新控制平面主机。
要更新 Kubernetes API 服务器,请运行 cluster master update
命令。
重置主机密钥
重置控制平面用于与 Satellite 位置所有主机通信的密钥。
创建位置时,将生成一个 API 密钥,Satellite API 服务器使用该 API 密钥将主机连接到该位置,并将主机分配到控制平面或 Satellite-enabled IBM Cloud 服务。 必须将生成的 API 密钥作为敏感信息进行处理和保护。 此密钥每 365 天到期一次。 当密钥到期时,未分配的主机将进入 unresponsive
状态。
要连接其他主机,必须从该位置 下载新的主机连接脚本 并将其用于连接主机。 现有分配的主机不受影响。
可以在密钥到期之前重置现有主机密钥。 要重置 Satellite 位置的主机密钥,请运行带有 --reset-key
选项的 ibmcloud sat host attach
命令。
ibmcloud sat host attach --location <location_name> --reset-key
如果您正在将 Terraform 与 Satellite 位置配合使用,并且由于主机密钥已到期或您手动重置,那么系统会提示您替换所有主机,包括已分配的主机。 您可以通过更新 Terraform 脚本来避免此问题。 有关更多信息,请参阅 为什么我的主机连接脚本触发 Terraform 中的状态更改?。
将控制平面迁移到新的 RHEL 版本
要替换旧版本 RHEL 上的控制平面主机,必须先在要使用的新版本 RHEL 上添加主机。 将新主机附加到位置并分配到控制平面后,就可以从控制平面移除同一区域内的旧主机。
在迁移到新版本的 RHEL 之前,请注意 Red Hat CoreOS (RHCOS) 现在是启用 RHCOS 的地点的支持操作系统。 RHCOS 是一个最小的安全操作系统,可紧密集成到 Red Hat OpenShift 生态系统中,并且能够对主要版本进行就地升级。 必须先创建启用 Red Hat CoreOS 的位置,然后才能在您所在位置使用 RHCOS 主机。 如果已启用 RHCOS 的位置,请考虑改为添加 RHCOS 主机。 要创建启用了 Red Hat CoreOS 的 Satellite 位置,请参阅 了解位置。
-
通过运行以下命令,确定要替换的主机及其所在的区域。 在输出文件中查找
"os"
标签或没有os
标签的主机。ibmcloud sat hosts --location LOCATION_ID --output json
以下示例输出显示
"os": "RHEL7"
标签。 此主机位于us-south-1
区域中。[ { "id": " LOCATION_ID", "name": "LOCATION_NAME", "labels": { ... "os": "RHEL7" ... "state": "assigned", "assignment": { "zone": "us-south-1", }, }, ... ]
-
下载该位置的主机连接脚本。
ibmcloud sat host attach --location LOCATION_ID
-
在确定的区域内为 Satellite 位置配置新的 RHEL 主机,并在该主机上运行主机附加脚本。 此过程因基础结构而异。 有关更多信息,请参阅 将主机连接到您的位置。
-
主机连接到位置后,可以使用
host assign
命令将其分配到位置控制平面。ibmcloud sat host assign --host HOST_NAME --location LOCATION_ID --cluster infrastructure --zone ZONE
-
将新主机分配到控制平面后,可以将旧主机从新主机添加到的同一区域移除。
ibmcloud sat host rm --location LOCATION_ID --host HOST_NAME
重复这些步骤,直到所有旧控制平面主机都被新主机替换并从该位置移除。