1.2. 主机拓扑
OpenShift Container Platform 架构允许您为每个发现的主机选择标准 Kubernetes 角色。这些角色定义集群中主机的功能。
1.2.1. 关于为主机分配角色 复制链接链接已复制到粘贴板!
在安装过程中,您可以为主机选择一个角色,或者配置 Assisted Installer 为您分配它。
主机必须满足您选择的角色的最低要求。您可以通过引用本文档的先决条件部分或使用 preflight 要求 API 来查找硬件要求。
如果您没有选择角色,系统会为您选择一个。您可以在安装启动前随时更改角色。
每个主机可以具有以下任何角色:
- control plane (master)
- control plane 节点运行控制集群所需的服务,包括 API 服务器。control plane 调度工作负载,维护集群状态,并确保稳定性。
- Compute (worker)
- 计算节点负责执行集群用户的工作负载。Compute 节点公告其容量,以便 control plane 调度程序可以识别用于运行 pod 和容器的适当计算节点。
- 仲裁程序
仲裁程序节点是 control plane 节点经济的替代选择。它们的功能相似,但只运行维护 etcd 仲裁所需的基本组件,并阻止脑裂状况。由于它们不托管完整的 control plane 或任何工作负载,因此仲裁节点可以使用较少的强大的硬件。
Assisted Installer 为带有 Arbiter (TNA)集群的 Two-Node OpenShift 提供仲裁节点。对带有 Arbiter 集群的双节点 OpenShift 的支持从 OpenShift Container Platform 版本 4.19 及更高版本开始。如需了解更多详细信息,请参阅 带有 Arbiter (TNA)资源要求的两个节点 OpenShift。
要安装带有 Arbiter 集群的双节点 OpenShift,请将仲裁或自动分配角色分配给至少一个节点,并将集群的 control plane 节点数设置为 2。
带有 Arbiter (TNA)的双节点 OpenShift 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的详情,请参考 https://access.redhat.com/support/offerings/techpreview/。
- 自动分配
Assisted Installer 默认将每个主机设置为自动分配角色。auto-assign 允许 Assisted Installer 根据检测到的硬件和网络延迟,自动确定主机是否应该作为 control plane、仲裁者或计算(worker)角色运行。
要确定最合适的角色,Assisted Installer 会评估每个主机的内存、CPU、磁盘空间和网络性能。它为每个主机分配一个内部
suggested_role
值,它会在启用 auto-assigned 时驱动自动分配过程。预安装验证可确保生成的角色分配有效。自动分配角色的逻辑如下:
- Assisted Installer 按其硬件功能对主机进行排序,从弱到强。所有主机都必须满足最低要求。
-
Assisted Installer 将 control plane 角色分配给最弱的主机,直到它达到 control_plane
_count 字段指定的 control plane
节点数量。只有主机通过必要的 control plane 角色验证时,才会将其指定为 control plane。有关指定 control plane 数量的详情,请参阅"添加资源"。 如果满足以下条件,辅助安装程序为主机分配仲裁角色:
- control plane 计数为 2。
主机满足集群的最低硬件要求,以下之一为 true:
- 集群已包含两个 control plane 节点,可以手动分配或通过自动分配;或者
- 主机不符合 control plane 节点的最低硬件要求。
- Assisted Installer 将所有剩余的主机指定为 worker (计算)节点。这种方法可确保 Assisted Installer 为 worker 角色设置最强大的主机,同时仍然维护必要的 control plane 和仲裁节点数量。
要使用 Web 控制台或 API 为主机分配角色,或者对带有自动分配角色的主机的预安装验证错误进行故障排除,请参阅"添加资源"。
1.2.2. 关于 control plane 节点数量 复制链接链接已复制到粘贴板!
使用更多 control plane (master) 节点可增强容错和可用性,从而尽量减少故障期间的停机时间。Assisted Installer 支持的 control plane 节点数量因 OpenShift Container Platform 版本而异:
- OpenShift Container Platform 的所有版本都支持一个或多个 control plane 节点,其中一个 control plane 节点是一个单节点 OpenShift 集群。
- 在 OpenShift Container Platform 版本 4.18 及更高版本中,辅助安装程序还支持在带有 x86_64 架构的裸机或用户管理的网络平台上的四个或五个 control plane 节点。实施可以支持任意数量的计算节点。
- 在 OpenShift Container Platform 版本 4.19 及更高版本中,辅助安装程序还支持两个 control plane 节点,用于带有 Arbiter (TNA)集群拓扑.A 集群,只有两个 control plane 节点必须至少有一个主机具有仲裁角色。详情请参阅 关于为主机分配角色。
带有 Arbiter (TNA)的双节点 OpenShift 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的详情,请参考 https://access.redhat.com/support/offerings/techpreview/。
要为集群指定所需的 control plane 节点数量,请查看以下之一:
1.2.3. control plane 节点上的工作负载调度 复制链接链接已复制到粘贴板!
对于较小的集群,调度工作负载在 control plane 节点上运行,提高了效率,并最大化资源利用率。您可在安装过程中启用这个选项,或作为安装后步骤。
使用以下准则来确定何时使用此功能:
- 单节点 OpenShift 集群、带有 Arbiter 集群或具有最多一个 worker (计算)节点的双节点 OpenShift 集群: 系统默认将工作负载调度到 control plane 节点上。无法更改此设置。
- 两个 worker 节点的集群: 此配置支持在 control plane (master)和计算(worker)节点上手动调度工作负载。
- 超过 7 个 worker 节点的集群: 不建议在 control plane 节点上调度工作负载。
可调度的 control plane 节点具有角色 Control plane, Worker。
有关在安装过程中将 control plane 节点配置为可以调度的步骤,请参阅以下部分:
有关在安装后配置可调度 control plane 节点的说明,请参阅 OpenShift Container Platform 文档中的 将 control plane 节点配置为可以调度。
当您将 control plane 节点配置为可以调度工作负载时,每个 control plane 节点都需要额外的订阅,作为计算(worker)节点。