×

VMware vSphere基础架构要求

您必须在满足您使用的组件要求的VMware vSphere实例的以下版本之一上安装OpenShift Container Platform集群

  • 7.0 Update 2或更高版本,或VMware Cloud Foundation 4.3或更高版本

  • 8.0 Update 1或更高版本,或VMware Cloud Foundation 5.0或更高版本

这两个版本都支持容器存储接口(CSI)迁移,该功能在OpenShift Container Platform 4.17中默认启用。

您可以将VMware vSphere基础架构托管在本地或在满足下表中概述的要求的VMware Cloud Verified提供商

表1. vSphere虚拟环境的版本要求
虚拟环境产品 所需版本

VMware虚拟硬件

15或更高版本

vSphere ESXi主机

7.0 Update 2或更高版本,或VMware Cloud Foundation 4.3或更高版本;8.0 Update 1或更高版本,或VMware Cloud Foundation 5.0或更高版本

vCenter主机

7.0 Update 2或更高版本,或VMware Cloud Foundation 4.3或更高版本;8.0 Update 1或更高版本,或VMware Cloud Foundation 5.0或更高版本

在安装OpenShift Container Platform之前,您必须确保ESXi主机的时钟已同步。请参阅VMware文档中的编辑主机的时钟配置

表2. VMware组件的最低支持vSphere版本
组件 最低支持版本 描述

虚拟机管理程序

vSphere 7.0 Update 2或更高版本,或VMware Cloud Foundation 4.3或更高版本;vSphere 8.0 Update 1或更高版本,或具有虚拟硬件版本15的VMware Cloud Foundation 5.0或更高版本

此虚拟机管理程序版本是Red Hat Enterprise Linux CoreOS (RHCOS)支持的最低版本。有关与RHCOS兼容的最新版本Red Hat Enterprise Linux (RHEL)上支持的硬件的更多信息,请参阅Red Hat客户门户网站上的硬件

可选:网络 (NSX-T)

vSphere 7.0 Update 2或更高版本,或VMware Cloud Foundation 4.3或更高版本;vSphere 8.0 Update 1或更高版本,或VMware Cloud Foundation 5.0或更高版本

有关NSX和OpenShift Container Platform兼容性的更多信息,请参阅VMware的NSX容器插件文档的“发行说明”部分。

CPU微架构

x86-64-v2或更高版本

OpenShift 4.13及更高版本基于RHEL 9.2主机操作系统,该操作系统将微架构要求提高到x86-64-v2。请参阅RHEL微架构要求文档。您可以按照这篇KCS文章中概述的步骤验证兼容性。

为了确保在Oracle® Cloud Infrastructure (OCI)和Oracle® Cloud VMware Solution (OCVS)服务上运行的集群工作负载获得最佳性能条件,请确保块卷的卷性能单元(VPU)已根据您的工作负载进行调整大小。

以下列表提供了一些指导,以选择特定性能需求所需的VPU

  • 测试或概念验证环境:100 GB和20到30个VPU。

  • 基本生产环境:500 GB和60个VPU。

  • 高使用率生产环境:超过500 GB和100个或更多VPU。

考虑分配额外的VPU以提供足够的容量来进行更新和扩展活动。请参阅块卷性能级别(Oracle文档)

VMware vSphere CSI驱动程序操作员要求

要安装vSphere容器存储接口(CSI)驱动程序操作员,必须满足以下要求

  • VMware vSphere版本:7.0 Update 2或更高版本,或VMware Cloud Foundation 4.3或更高版本;8.0 Update 1或更高版本,或VMware Cloud Foundation 5.0或更高版本

  • vCenter版本:7.0 Update 2或更高版本,或VMware Cloud Foundation 4.3或更高版本;8.0 Update 1或更高版本,或VMware Cloud Foundation 5.0或更高版本

  • 硬件版本为15或更高版本的虚拟机

  • 集群中尚未安装任何第三方vSphere CSI驱动程序

如果集群中存在第三方 vSphere CSI 驱动程序,OpenShift Container Platform 不会覆盖它。第三方 vSphere CSI 驱动程序的存在会阻止 OpenShift Container Platform 更新到 OpenShift Container Platform 4.13 或更高版本。

VMware vSphere CSI Driver Operator 仅支持在安装清单中使用platform: vsphere部署的集群。

您可以为容器存储接口 (CSI) 驱动程序、vSphere CSI Driver Operator 和 vSphere 问题检测器 Operator 创建自定义角色。自定义角色可以包含权限集,这些权限集为每个 vSphere 对象分配最小权限集。这意味着 CSI 驱动程序、vSphere CSI Driver Operator 和 vSphere 问题检测器 Operator 可以与这些对象建立基本交互。

在 vCenter 中安装 OpenShift Container Platform 集群已针对“所需 vCenter 帐户权限”部分中描述的完整权限列表进行了测试。通过遵守完整的权限列表,您可以降低在使用一组受限权限创建自定义角色时可能出现的意外和不受支持的行为的可能性。

其他资源

用户自备基础设施集群的要求

对于包含用户自备基础设施的集群,您必须部署所有必需的机器。

本节描述在用户自备基础设施上部署 OpenShift Container Platform 的要求。

vCenter 要求

在您使用您提供的基础设施在 vCenter 上安装 OpenShift Container Platform 集群之前,您必须准备您的环境。

所需 vCenter 帐户权限

要在 vCenter 中安装 OpenShift Container Platform 集群,您的 vSphere 帐户必须包含读取和创建所需资源的权限。使用具有全局管理员权限的帐户是访问所有必要权限的最简单方法。

在 vSphere API 中安装所需的权限和角色
用于角色的 vSphere 对象 何时需要 vSphere API 中所需的权限

vSphere vCenter

始终

Cns.Searchable
InventoryService.Tagging.AttachTag
InventoryService.Tagging.CreateCategory
InventoryService.Tagging.CreateTag
InventoryService.Tagging.DeleteCategory
InventoryService.Tagging.DeleteTag
InventoryService.Tagging.EditCategory
InventoryService.Tagging.EditTag
Sessions.ValidateSession
StorageProfile.Update
StorageProfile.View

vSphere vCenter 集群

如果虚拟机将在集群根目录中创建

Host.Config.Storage
Resource.AssignVMToPool
VApp.AssignResourcePool
VApp.Import
VirtualMachine.Config.AddNewDisk

vSphere vCenter 资源池

如果提供了现有的资源池

Resource.AssignVMToPool
VApp.AssignResourcePool
VApp.Import
VirtualMachine.Config.AddNewDisk

vSphere 数据存储

始终

Datastore.AllocateSpace
Datastore.Browse
Datastore.FileManagement
InventoryService.Tagging.ObjectAttachable

vSphere 端口组

始终

Network.Assign

虚拟机文件夹

始终

InventoryService.Tagging.ObjectAttachable
Resource.AssignVMToPool
VApp.Import
VirtualMachine.Config.AddExistingDisk
VirtualMachine.Config.AddNewDisk
VirtualMachine.Config.AddRemoveDevice
VirtualMachine.Config.AdvancedConfig
VirtualMachine.Config.Annotation
VirtualMachine.Config.CPUCount
VirtualMachine.Config.DiskExtend
VirtualMachine.Config.DiskLease
VirtualMachine.Config.EditDevice
VirtualMachine.Config.Memory
VirtualMachine.Config.RemoveDisk
VirtualMachine.Config.Rename
Host.Config.Storage
VirtualMachine.Config.ResetGuestInfo
VirtualMachine.Config.Resource
VirtualMachine.Config.Settings
VirtualMachine.Config.UpgradeVirtualHardware
VirtualMachine.Interact.GuestControl
VirtualMachine.Interact.PowerOff
VirtualMachine.Interact.PowerOn
VirtualMachine.Interact.Reset
VirtualMachine.Inventory.Create
VirtualMachine.Inventory.CreateFromExisting
VirtualMachine.Inventory.Delete
VirtualMachine.Provisioning.Clone
VirtualMachine.Provisioning.MarkAsTemplate
VirtualMachine.Provisioning.DeployTemplate

vSphere vCenter 数据中心

如果安装程序创建虚拟机文件夹。对于用户自备基础设施,如果您的集群不使用 Machine API,则VirtualMachine.Inventory.CreateVirtualMachine.Inventory.Delete权限是可选的。请参阅“Machine API 的最低权限”表。

InventoryService.Tagging.ObjectAttachable
Resource.AssignVMToPool
VirtualMachine.Config.AddExistingDisk
VirtualMachine.Config.AddNewDisk
VirtualMachine.Config.AddRemoveDevice
VirtualMachine.Config.AdvancedConfig
VirtualMachine.Config.Annotation
VirtualMachine.Config.CPUCount
VirtualMachine.Config.DiskExtend
VirtualMachine.Config.DiskLease
VirtualMachine.Config.EditDevice
VirtualMachine.Config.Memory
VirtualMachine.Config.RemoveDisk
VirtualMachine.Config.Rename
VirtualMachine.Config.ResetGuestInfo
VirtualMachine.Config.Resource
VirtualMachine.Config.Settings
VirtualMachine.Config.UpgradeVirtualHardware
VirtualMachine.Interact.GuestControl
VirtualMachine.Interact.PowerOff
VirtualMachine.Interact.PowerOn
VirtualMachine.Interact.Reset
VirtualMachine.Inventory.Create
VirtualMachine.Inventory.CreateFromExisting
VirtualMachine.Inventory.Delete
VirtualMachine.Provisioning.Clone
VirtualMachine.Provisioning.DeployTemplate
VirtualMachine.Provisioning.MarkAsTemplate
Folder.Create
Folder.Delete

在 vCenter 图形用户界面 (GUI) 中安装所需的权限和角色
用于角色的 vSphere 对象 何时需要 vCenter GUI 中所需的权限

vSphere vCenter

始终

Cns.Searchable
“vSphere 标记”。“分配或取消分配 vSphere 标记”
“vSphere 标记”。“创建 vSphere 标记类别”
“vSphere 标记”。“创建 vSphere 标记”
“vSphere 标记”。“删除 vSphere 标记类别”
“vSphere 标记”。“删除 vSphere 标记”
“vSphere 标记”。“编辑 vSphere 标记类别”
“vSphere 标记”。“编辑 vSphere 标记”
会话。“验证会话”
“基于配置文件的存储”。“基于配置文件的存储更新”
“基于配置文件的存储”。“基于配置文件的存储查看”

vSphere vCenter 集群

如果虚拟机将在集群根目录中创建

主机配置。“存储分区配置”
资源。“将虚拟机分配到资源池”
VApp。“分配资源池”
VApp.Import
“虚拟机”。“更改配置”。“添加新磁盘”

vSphere vCenter 资源池

如果提供了现有的资源池

主机配置。“存储分区配置”
资源。“将虚拟机分配到资源池”
VApp。“分配资源池”
VApp.Import
“虚拟机”。“更改配置”。“添加新磁盘”

vSphere 数据存储

始终

数据存储。“分配空间”
数据存储。“浏览数据存储”
数据存储。“低级文件操作”
“vSphere 标记”。“在对象上分配或取消分配 vSphere 标记”

vSphere 端口组

始终

网络。“分配网络”

虚拟机文件夹

始终

“vSphere 标记”。“在对象上分配或取消分配 vSphere 标记”
资源。“将虚拟机分配到资源池”
VApp.Import
“虚拟机”。“更改配置”。“添加现有磁盘”
“虚拟机”。“更改配置”。“添加新磁盘”
“虚拟机”。“更改配置”。“添加或删除设备”
“虚拟机”。“更改配置”。“高级配置”
“虚拟机”。“更改配置”。“设置注释”
“虚拟机”。“更改配置”。“更改 CPU 数量”
“虚拟机”。“更改配置”。“扩展虚拟磁盘”
“虚拟机”。“更改配置”。“获取磁盘租约”
“虚拟机”。“更改配置”。“修改设备设置”
“虚拟机”。“更改配置”。“更改内存”
“虚拟机”。“更改配置”。“删除磁盘”
“虚拟机”。“更改配置”。重命名
“虚拟机”。“更改配置”。“重置客户机信息”
“虚拟机”。“更改配置”。“更改资源”
“虚拟机”。“更改配置”。“更改设置”
“虚拟机”。“更改配置”。“升级虚拟机兼容性”
“虚拟机”。交互。“通过 VIX API 管理客户机操作系统”
“虚拟机”。交互。“关闭电源”
“虚拟机”。交互。“打开电源”
“虚拟机”。交互。重置
“虚拟机”。“编辑清单”。“新建”
“虚拟机”。“编辑清单”。“从现有创建”
“虚拟机”。“编辑清单”。“删除”
“虚拟机”。配置。“克隆虚拟机”
“虚拟机”。配置。“标记为模板”
“虚拟机”。配置。“部署模板”

vSphere vCenter 数据中心

如果安装程序创建虚拟机文件夹。对于用户自备基础设施,如果您的集群不使用 Machine API,则VirtualMachine.Inventory.CreateVirtualMachine.Inventory.Delete权限是可选的。

“vSphere 标记”。“在对象上分配或取消分配 vSphere 标记”
资源。“将虚拟机分配到资源池”
VApp.Import
“虚拟机”。“更改配置”。“添加现有磁盘”
“虚拟机”。“更改配置”。“添加新磁盘”
“虚拟机”。“更改配置”。“添加或删除设备”
“虚拟机”。“更改配置”。“高级配置”
“虚拟机”。“更改配置”。“设置注释”
“虚拟机”。“更改配置”。“更改 CPU 数量”
“虚拟机”。“更改配置”。“扩展虚拟磁盘”
“虚拟机”。“更改配置”。“获取磁盘租约”
“虚拟机”。“更改配置”。“修改设备设置”
“虚拟机”。“更改配置”。“更改内存”
“虚拟机”。“更改配置”。“删除磁盘”
“虚拟机”。“更改配置”。重命名
“虚拟机”。“更改配置”。“重置客户机信息”
“虚拟机”。“更改配置”。“更改资源”
“虚拟机”。“更改配置”。“更改设置”
“虚拟机”。“更改配置”。“升级虚拟机兼容性”
“虚拟机”。交互。“通过 VIX API 管理客户机操作系统”
“虚拟机”。交互。“关闭电源”
“虚拟机”。交互。“打开电源”
“虚拟机”。交互。重置
“虚拟机”。“编辑清单”。“新建”
“虚拟机”。“编辑清单”。“从现有创建”
“虚拟机”。“编辑清单”。“删除”
“虚拟机”。配置。“克隆虚拟机”
“虚拟机”。配置。“部署模板”
“虚拟机”。配置。“标记为模板”
文件夹。“创建文件夹”
文件夹。“删除文件夹”

此外,用户需要一些只读权限,并且某些角色需要权限才能将权限传播到子对象。这些设置取决于您是否将集群安装到现有文件夹中。

所需的权限和传播设置
vSphere 对象 何时需要 传播到子对象 所需的权限

vSphere vCenter

始终

列出的所需权限

vSphere vCenter 数据中心

现有文件夹

只读权限

安装程序创建文件夹

列出的所需权限

vSphere vCenter 集群

现有资源池

只读权限

集群根目录中的虚拟机

列出的所需权限

vSphere vCenter 数据存储

始终

列出的所需权限

vSphere 交换机

始终

只读权限

vSphere 端口组

始终

列出的所需权限

vSphere vCenter 虚拟机文件夹

现有文件夹

列出的所需权限

vSphere vCenter 资源池

现有资源池

列出的所需权限

有关创建仅具有所需权限的帐户的更多信息,请参阅 vSphere 文档中的vSphere 权限和用户管理任务

最低所需的 vCenter 帐户权限

创建自定义角色并为其分配权限后,您可以通过选择特定的 vSphere 对象,然后为每个对象的每个用户或组分配自定义角色来创建权限。

在为 vSphere 对象创建权限或请求创建权限之前,请确定适用于 vSphere 对象的最低权限。通过执行此任务,您可以确保 vSphere 对象和 OpenShift Container Platform 架构之间存在基本交互。

如果您创建自定义角色并且未为其分配权限,则 vSphere 服务器默认会为自定义角色分配只读角色。请注意,对于云提供商 API,自定义角色只需要继承只读角色的权限。

当具有全局管理员权限的帐户无法满足您的需求时,请考虑创建自定义角色。

未配置所需权限的帐户不受支持。在 vCenter 中安装 OpenShift Container Platform 集群会在“所需的 vCenter 帐户权限”部分中描述的完整权限列表中进行测试。通过遵守完整的权限列表,您可以减少创建具有受限权限集的自定义角色时可能发生的意外行为的可能性。

下表列出了与特定 OpenShift Container Platform 架构交互的 vSphere 对象的最低权限。

组件安装后管理的最低权限
用于角色的 vSphere 对象 何时需要 所需的权限

vSphere vCenter

始终

Cns.Searchable
InventoryService.Tagging.AttachTag
InventoryService.Tagging.CreateCategory
InventoryService.Tagging.CreateTag
InventoryService.Tagging.DeleteCategory
InventoryService.Tagging.DeleteTag
InventoryService.Tagging.EditCategory
InventoryService.Tagging.EditTag
Sessions.ValidateSession
StorageProfile.Update
StorageProfile.View

vSphere vCenter 集群

如果您打算在集群根目录中创建虚拟机

Host.Config.Storage
Resource.AssignVMToPool

vSphere vCenter 资源池

如果您在install-config.yaml文件中提供现有的资源池

Host.Config.Storage

vSphere 数据存储

始终

Datastore.AllocateSpace
Datastore.Browse
Datastore.FileManagement
InventoryService.Tagging.ObjectAttachable

vSphere 端口组

始终

Network.Assign

虚拟机文件夹

始终

VirtualMachine.Config.AddExistingDisk
VirtualMachine.Config.AddRemoveDevice
VirtualMachine.Config.AdvancedConfig
VirtualMachine.Config.Annotation
VirtualMachine.Config.CPUCount
VirtualMachine.Config.DiskExtend
VirtualMachine.Config.Memory
VirtualMachine.Config.Settings
VirtualMachine.Interact.PowerOff
VirtualMachine.Interact.PowerOn
VirtualMachine.Inventory.CreateFromExisting
VirtualMachine.Inventory.Delete
VirtualMachine.Provisioning.Clone
VirtualMachine.Provisioning.DeployTemplate

vSphere vCenter 数据中心

如果安装程序创建虚拟机文件夹。对于用户预配的基础架构,如果您的集群不使用 Machine API,则VirtualMachine.Inventory.CreateVirtualMachine.Inventory.Delete权限是可选的。如果您的集群使用 Machine API,并且您想为 API 设置最低权限集,请参阅“Machine API 的最低权限”表。

Resource.AssignVMToPool
VirtualMachine.Config.AddExistingDisk
VirtualMachine.Config.AddRemoveDevice
VirtualMachine.Interact.PowerOff
VirtualMachine.Interact.PowerOn
VirtualMachine.Provisioning.DeployTemplate

存储组件的最低权限
用于角色的 vSphere 对象 何时需要 所需的权限

vSphere vCenter

始终

Cns.Searchable
InventoryService.Tagging.CreateCategory
InventoryService.Tagging.CreateTag
InventoryService.Tagging.EditCategory
InventoryService.Tagging.EditTag
StorageProfile.Update
StorageProfile.View

vSphere vCenter 集群

如果您打算在集群根目录中创建虚拟机

Host.Config.Storage

vSphere vCenter 资源池

如果您在install-config.yaml文件中提供现有的资源池

Host.Config.Storage

vSphere 数据存储

始终

Datastore.Browse
Datastore.FileManagement
InventoryService.Tagging.ObjectAttachable

vSphere 端口组

始终

只读

虚拟机文件夹

始终

VirtualMachine.Config.AddExistingDisk
VirtualMachine.Config.AddRemoveDevice

vSphere vCenter 数据中心

如果安装程序创建虚拟机文件夹。对于用户预配的基础架构,如果您的集群不使用 Machine API,则VirtualMachine.Inventory.CreateVirtualMachine.Inventory.Delete权限是可选的。如果您的集群使用 Machine API,并且您想为 API 设置最低权限集,请参阅“Machine API 的最低权限”表。

VirtualMachine.Config.AddExistingDisk
VirtualMachine.Config.AddRemoveDevice

Machine API 的最低权限
用于角色的 vSphere 对象 何时需要 所需的权限

vSphere vCenter

始终

InventoryService.Tagging.AttachTag
InventoryService.Tagging.CreateCategory
InventoryService.Tagging.CreateTag
InventoryService.Tagging.DeleteCategory
InventoryService.Tagging.DeleteTag
InventoryService.Tagging.EditCategory
InventoryService.Tagging.EditTag
Sessions.ValidateSession
StorageProfile.Update
StorageProfile.View

vSphere vCenter 集群

如果您打算在集群根目录中创建虚拟机

Resource.AssignVMToPool

vSphere vCenter 资源池

如果您在install-config.yaml文件中提供现有的资源池

只读

vSphere 数据存储

始终

Datastore.AllocateSpace
Datastore.Browse

vSphere 端口组

始终

Network.Assign

虚拟机文件夹

始终

VirtualMachine.Config.AddRemoveDevice
VirtualMachine.Config.AdvancedConfig
VirtualMachine.Config.Annotation
VirtualMachine.Config.CPUCount
VirtualMachine.Config.DiskExtend
VirtualMachine.Config.Memory
VirtualMachine.Config.Settings
VirtualMachine.Interact.PowerOff
VirtualMachine.Interact.PowerOn
VirtualMachine.Inventory.CreateFromExisting
VirtualMachine.Inventory.Delete
VirtualMachine.Provisioning.Clone
VirtualMachine.Provisioning.DeployTemplate

vSphere vCenter 数据中心

如果安装程序创建虚拟机文件夹。对于用户自备基础设施,如果您的集群不使用 Machine API,则VirtualMachine.Inventory.CreateVirtualMachine.Inventory.Delete权限是可选的。

Resource.AssignVMToPool
VirtualMachine.Interact.PowerOff
VirtualMachine.Interact.PowerOn
VirtualMachine.Provisioning.DeployTemplate

将 OpenShift Container Platform 与 vMotion 结合使用

如果您打算在您的 vSphere 环境中使用 vMotion,请在安装 OpenShift Container Platform 集群之前考虑以下事项。

  • 使用 Storage vMotion 会导致问题,并且不受支持。

  • 通常支持使用 VMware compute vMotion 迁移 OpenShift Container Platform 计算机器和控制平面机器的工作负载,其中“通常”意味着您满足 vMotion 的所有 VMware 最佳实践。

    为了帮助确保计算节点和控制平面节点的正常运行时间,请确保您遵循 vMotion 的 VMware 最佳实践,并使用 VMware 反亲和性规则来提高维护或硬件问题期间 OpenShift Container Platform 的可用性。

    有关 vMotion 和反亲和性规则的更多信息,请参阅 VMware vSphere 文档中的vMotion 网络要求虚拟机反亲和性规则

  • 如果您在 Pod 中使用 VMware vSphere 卷,则手动或通过 Storage vMotion 跨数据存储迁移虚拟机会导致 OpenShift Container Platform 持久卷 (PV) 对象中出现无效引用,这可能导致数据丢失。

  • OpenShift Container Platform 不支持跨数据存储选择性迁移 VMDK,使用数据存储集群进行虚拟机预配或动态或静态预配 PV,或使用作为数据存储集群一部分的数据存储进行动态或静态预配 PV。

    您可以指定数据存储集群中任何现有数据存储的路径。默认情况下,使用 Storage vMotion 的 Storage Distributed Resource Scheduler (SDRS) 会自动为数据存储集群启用。Red Hat 不支持 Storage vMotion,因此您必须禁用 Storage DRS 以避免 OpenShift Container Platform 集群的数据丢失问题。

    如果您必须指定跨多个数据存储的虚拟机,请使用datastore对象在集群的install-config.yaml配置文件中指定故障域。有关更多信息,请参阅“VMware vSphere 区域和区域启用”。

集群资源

当您部署使用您提供基础设施的 OpenShift Container Platform 集群时,您必须在您的 vCenter 实例中创建以下资源

  • 1 个文件夹

  • 1 个标签类别

  • 1 个标签

  • 虚拟机

    • 1 个模板

    • 1 个临时引导节点

    • 3 个控制平面节点

    • 3 个计算机器

虽然这些资源使用 856 GB 的存储空间,但在集群安装过程中会销毁引导节点。使用标准集群需要至少 800 GB 的存储空间。

如果您部署更多计算机器,OpenShift Container Platform 集群将使用更多存储空间。

集群限制

集群之间的可用资源有所不同。vCenter 中可能的集群数量主要受可用存储空间和所需资源数量的任何限制所限制。请务必同时考虑集群创建的 vCenter 资源的限制以及部署集群所需的资源(例如 IP 地址和网络)。

网络要求

您可以将动态主机配置协议 (DHCP) 用于网络,并配置 DHCP 服务器以将持久 IP 地址设置为集群中的机器。在 DHCP 租约中,您必须配置 DHCP 以使用默认网关。

如果您想使用静态 IP 地址预配节点,则无需使用 DHCP 网络。

如果您为要在用户预配的基础架构上安装的集群指定了不同 VLAN 上的节点或节点组,则必须确保集群中的机器满足《用户预配基础架构的网络要求》文档的“网络连接要求”部分中概述的要求。

如果您要安装到受限环境中,则受限网络中的虚拟机必须能够访问 vCenter,以便它可以预配和管理节点、持久卷声明 (PVC) 和其他资源。

确保集群中的每个 OpenShift Container Platform 节点都可以访问 DHCP 可发现的网络时间协议 (NTP) 服务器。无需 NTP 服务器即可进行安装。但是,异步服务器时钟可能会导致错误,NTP 服务器可以防止此类错误。

此外,您必须在安装 OpenShift Container Platform 集群之前创建以下网络资源:

DNS 记录

您必须在承载 OpenShift Container Platform 集群的 vCenter 实例的相应 DNS 服务器中,为两个静态 IP 地址创建 DNS 记录。在每个记录中,<cluster_name> 是集群名称,<base_domain> 是您在安装集群时指定的集群基础域。完整的 DNS 记录格式为:<component>.<cluster_name>.<base_domain>.

表 3. 所需的 DNS 记录
组件 记录 描述

API VIP

api.<cluster_name>.<base_domain>.

此 DNS A/AAAA 或 CNAME(规范名称)记录必须指向控制平面机器的负载均衡器。集群外部的客户端和集群内的所有节点都必须能够解析此记录。

入口 VIP

*.apps.<cluster_name>.<base_domain>.

指向负载均衡器的通配符 DNS A/AAAA 或 CNAME 记录,该负载均衡器以默认情况下为工作节点的机器为目标,运行入口路由器 Pod。集群外部的客户端和集群内的所有节点都必须能够解析此记录。

集群安装所需的机器

最小的 OpenShift Container Platform 集群需要以下主机:

表 4. 最低所需主机
主机 描述

一台临时引导机器

集群需要引导机器才能在三台控制平面机器上部署 OpenShift Container Platform 集群。安装集群后,您可以移除引导机器。

三台控制平面机器

控制平面机器运行构成控制平面的 Kubernetes 和 OpenShift Container Platform 服务。

至少两台计算机器,也称为工作机器。

OpenShift Container Platform 用户请求的工作负载在计算机器上运行。

为维护集群的高可用性,请为这些集群机器使用单独的物理主机。

引导机器和控制平面机器必须使用 Red Hat Enterprise Linux CoreOS (RHCOS) 作为操作系统。但是,计算机器可以选择 Red Hat Enterprise Linux CoreOS (RHCOS)、Red Hat Enterprise Linux (RHEL) 8.6 及更高版本。

请注意,RHCOS 基于 Red Hat Enterprise Linux (RHEL) 9.2,并继承其所有硬件认证和要求。请参见 Red Hat Enterprise Linux 技术能力和限制

集群安装的最低资源要求

每台集群机器必须满足以下最低要求:

表 5. 最低资源要求
机器 操作系统 vCPU 虚拟内存 存储 每秒输入/输出 (IOPS)[1]

引导

RHCOS

4

16 GB

100 GB

300

控制平面

RHCOS

4

16 GB

100 GB

300

计算

RHCOS、RHEL 8.6 及更高版本[2]

2

8 GB

100 GB

300

  1. OpenShift Container Platform 和 Kubernetes 对磁盘性能敏感,建议使用更快的存储,特别是对于控制平面节点上的 etcd,它需要 10 毫秒 p99 fsync 持续时间。请注意,在许多云平台上,存储大小和 IOPS 共同缩放,因此您可能需要过度分配存储卷以获得足够的性能。

  2. 与所有用户预配安装一样,如果您选择在集群中使用 RHEL 计算机器,则您将负责所有操作系统生命周期管理和维护,包括执行系统更新、应用补丁以及完成所有其他必需的任务。RHEL 7 计算机器的使用已弃用,并在 OpenShift Container Platform 4.10 及更高版本中被移除。

从 OpenShift Container Platform 4.13 版本开始,RHCOS 基于 RHEL 9.2 版本,这更新了微架构要求。以下列表包含每个架构所需的最低指令集架构 (ISA):

  • x86-64 架构需要 x86-64-v2 ISA

  • ARM64 架构需要 ARMv8.0-A ISA

  • IBM Power 架构需要 Power 9 ISA

  • s390x 架构需要 z14 ISA

更多信息,请参见 RHEL 架构

如果平台的实例类型满足集群机器的最低要求,则支持在 OpenShift Container Platform 中使用它。

请勿在 OpenShift Container Platform 集群中使用内存气球。内存气球会导致集群范围内的不稳定性、服务降级或其他未定义的行为。

  • 控制平面机器的已提交内存应等于或大于发布的集群安装的最低资源要求。

  • 计算机器的最低保留量应等于或大于发布的集群安装的最低资源要求。

这些最低 CPU 和内存要求不包括用户工作负载所需的资源。

更多信息,请参见 Red Hat 知识库文章 内存气球和 OpenShift

其他资源

加密虚拟机的要求

您可以通过满足以下要求来在安装 OpenShift Container Platform 4.17 之前加密虚拟机。

在“安装 RHCOS 并启动 OpenShift Container Platform 引导过程”部分部署 OVF 模板时,在选择 OVF 模板的存储空间时,选择“加密此虚拟机”选项。完成集群安装后,创建一个使用您用于加密虚拟机的加密存储策略的存储类。

其他资源

证书签名请求管理

由于当您使用您自己提供的基础设施时,您的集群对自动机器管理的访问权限有限,因此您必须提供一种机制来批准安装后的集群证书签名请求 (CSR)。kube-controller-manager 仅批准 kubelet 客户端 CSR。machine-approver 无法保证使用 kubelet 凭据请求的服务证书的有效性,因为它无法确认正确的机器发出了请求。您必须确定并实施一种验证 kubelet 服务证书请求的有效性并批准它们的方法。

用户提供的基础设施的网络要求

所有 Red Hat Enterprise Linux CoreOS (RHCOS) 机器都需要在启动期间在 initramfs 中配置网络才能获取其 Ignition 配置文件。

在初始启动期间,机器需要通过 DHCP 服务器或通过提供所需的引导选项静态设置的 IP 地址配置。建立网络连接后,机器将从 HTTP 或 HTTPS 服务器下载其 Ignition 配置文件。然后,使用 Ignition 配置文件来设置每台机器的确切状态。安装后,机器配置操作员将对机器进行更多更改,例如应用新的证书或密钥。

建议使用 DHCP 服务器来长期管理集群机器。确保 DHCP 服务器已配置为向集群机器提供持久性 IP 地址、DNS 服务器信息和主机名。

如果您的用户提供的基础设施没有可用的 DHCP 服务,则可以在 RHCOS 安装时向节点提供 IP 网络配置和 DNS 服务器的地址。如果从 ISO 映像安装,则可以将这些作为引导参数传递。有关静态 IP 配置和高级网络选项的更多信息,请参见“安装 RHCOS 并启动 OpenShift Container Platform 引导过程”部分。

Kubernetes API 服务器必须能够解析集群机器的节点名称。如果 API 服务器和工作节点位于不同的区域,您可以配置默认的 DNS 搜索区域以允许 API 服务器解析节点名称。另一种支持的方法是始终在节点对象和所有 DNS 请求中使用其完全限定域名来引用主机。

通过 DHCP 设置集群节点主机名

在 Red Hat Enterprise Linux CoreOS (RHCOS) 机器上,主机名通过 NetworkManager 设置。默认情况下,机器通过 DHCP 获取其主机名。如果主机名未由 DHCP 提供,则通过内核参数或其他方法静态设置,则通过反向 DNS 查询获取。反向 DNS 查询发生在节点上的网络初始化之后,并且可能需要时间才能解析。其他系统服务可以在此之前启动并检测主机名为 localhost 或类似名称。您可以通过使用 DHCP 为每个集群节点提供主机名来避免这种情况。

此外,通过 DHCP 设置主机名可以绕过在具有 DNS 分裂视野实现的环境中的任何手动 DNS 记录名称配置错误。

网络连接要求

您必须配置机器之间的网络连接以允许 OpenShift Container Platform 集群组件进行通信。每台机器都必须能够解析集群中所有其他机器的主机名。

本节提供有关所需端口的详细信息。

在连接的 OpenShift Container Platform 环境中,所有节点都需要访问互联网才能提取平台容器的映像并向 Red Hat 提供遥测数据。

表 6. 所有机器到所有机器通信中使用的端口
协议 端口 描述

ICMP

N/A

网络连通性测试

TCP

1936

指标

9000-9999

主机级服务,包括端口 9100-9101 上的节点导出器和端口 9099 上的集群版本操作员。

10250-10259

Kubernetes 保留的默认端口

UDP

4789

VXLAN

6081

Geneve

9000-9999

主机级服务,包括端口 9100-9101 上的节点导出器。

500

IPsec IKE 数据包

4500

IPsec NAT-T 数据包

123

UDP 端口 123 上的网络时间协议 (NTP)

如果配置了外部 NTP 时间服务器,则必须打开 UDP 端口 123

TCP/UDP

30000-32767

Kubernetes 节点端口

ESP

N/A

IPsec 封装安全有效负载 (ESP)

表 7. 所有机器到控制平面通信中使用的端口
协议 端口 描述

TCP

6443

Kubernetes API

表 8. 控制平面机器到控制平面机器通信中使用的端口
协议 端口 描述

TCP

2379-2380

etcd 服务器和对等端口

以太网适配器硬件地址要求

为集群配置虚拟机时,为每个虚拟机配置的以太网接口必须使用 VMware 组织唯一标识符 (OUI) 分配范围中的 MAC 地址

  • 00:05:69:00:00:0000:05:69:FF:FF:FF

  • 00:0c:29:00:00:0000:0c:29:FF:FF:FF

  • 00:1c:14:00:00:0000:1c:14:FF:FF:FF

  • 00:50:56:00:00:0000:50:56:FF:FF:FF

如果使用 VMware OUI 之外的 MAC 地址,则集群安装将失败。

用户提供的基础设施的 NTP 配置

OpenShift Container Platform 集群默认配置为使用公共网络时间协议 (NTP) 服务器。如果您想使用本地企业 NTP 服务器,或者如果您的集群部署在断开连接的网络中,您可以将集群配置为使用特定的时间服务器。更多信息,请参见“配置 chrony 时间服务”文档。

如果 DHCP 服务器提供 NTP 服务器信息,则 Red Hat Enterprise Linux CoreOS (RHCOS) 机器上的 chrony 时间服务将读取这些信息并可以与 NTP 服务器同步时钟。

用户提供的 DNS 要求

在 OpenShift Container Platform 部署中,DNS 名称解析对于以下组件是必需的:

  • Kubernetes API

  • OpenShift Container Platform 应用程序通配符

  • 引导程序、控制平面和计算机器

Kubernetes API、引导程序机器、控制平面机器和计算机器也需要反向 DNS 解析。

DNS A/AAAA 或 CNAME 记录用于名称解析,PTR 记录用于反向名称解析。反向记录很重要,因为 Red Hat Enterprise Linux CoreOS (RHCOS) 使用反向记录来设置所有节点的主机名,除非主机名由 DHCP 提供。此外,反向记录用于生成 OpenShift Container Platform 运行所需的证书签名请求 (CSR)。

建议使用 DHCP 服务器向每个集群节点提供主机名。有关更多信息,请参见“用户提供的基础设施的 DHCP 建议”部分。

用户预配的 OpenShift Container Platform 集群需要以下 DNS 记录,并且必须在安装之前到位。在每个记录中,<cluster_name> 是集群名称,<base_domain> 是您在 install-config.yaml 文件中指定的基域。完整的 DNS 记录格式为:<component>.<cluster_name>.<base_domain>.

表 9. 必需的 DNS 记录
组件 记录 描述

Kubernetes API

api.<cluster_name>.<base_domain>.

用于标识 API 负载均衡器的 DNS A/AAAA 或 CNAME 记录和 DNS PTR 记录。集群外部的客户端和集群内的所有节点都必须能够解析这些记录。

api-int.<cluster_name>.<base_domain>.

用于在内部标识 API 负载均衡器的 DNS A/AAAA 或 CNAME 记录和 DNS PTR 记录。集群内的所有节点都必须能够解析这些记录。

API 服务器必须能够通过 Kubernetes 中记录的主机名解析工作节点。如果 API 服务器无法解析节点名称,则代理的 API 调用可能会失败,并且您无法检索 pod 日志。

路由

*.apps.<cluster_name>.<base_domain>.

指向应用程序入口负载均衡器的通配符 DNS A/AAAA 或 CNAME 记录。应用程序入口负载均衡器将目标指向运行 Ingress Controller pod 的机器。默认情况下,Ingress Controller pod 运行在计算机器上。集群外部的客户端和集群内的所有节点都必须能够解析这些记录。

例如,console-openshift-console.apps.<cluster_name>.<base_domain> 用作 OpenShift Container Platform 控制台的通配符路由。

引导机器

bootstrap.<cluster_name>.<base_domain>.

用于标识引导机器的 DNS A/AAAA 或 CNAME 记录和 DNS PTR 记录。集群内的节点必须能够解析这些记录。

控制平面机器

<control_plane><n>.<cluster_name>.<base_domain>.

用于标识每个控制平面节点机器的 DNS A/AAAA 或 CNAME 记录和 DNS PTR 记录。集群内的节点必须能够解析这些记录。

计算机器

<compute><n>.<cluster_name>.<base_domain>.

用于标识每个工作节点机器的 DNS A/AAAA 或 CNAME 记录和 DNS PTR 记录。集群内的节点必须能够解析这些记录。

在 OpenShift Container Platform 4.4 及更高版本中,您无需在 DNS 配置中指定 etcd 主机和 SRV 记录。

您可以使用 dig 命令验证名称和反向名称解析。有关详细的验证步骤,请参见关于“验证用户预配基础设施的 DNS 解析”的部分。

用户预配集群的 DNS 配置示例

本节提供满足在用户预配的基础架构上部署 OpenShift Container Platform 的 DNS 要求的 A 和 PTR 记录配置示例。这些示例并非旨在就选择哪种 DNS 解决方案提供建议。

在示例中,集群名称为 ocp4,基域为 example.com

用户预配集群的 DNS A 记录配置示例

以下示例是一个 BIND 区域文件,显示了用户预配集群中名称解析的 A 记录示例。

DNS 区域数据库示例
$TTL 1W
@	IN	SOA	ns1.example.com.	root (
			2019070700	; serial
			3H		; refresh (3 hours)
			30M		; retry (30 minutes)
			2W		; expiry (2 weeks)
			1W )		; minimum (1 week)
	IN	NS	ns1.example.com.
	IN	MX 10	smtp.example.com.
;
;
ns1.example.com.		IN	A	192.168.1.5
smtp.example.com.		IN	A	192.168.1.5
;
helper.example.com.		IN	A	192.168.1.5
helper.ocp4.example.com.	IN	A	192.168.1.5
;
api.ocp4.example.com.		IN	A	192.168.1.5 (1)
api-int.ocp4.example.com.	IN	A	192.168.1.5 (2)
;
*.apps.ocp4.example.com.	IN	A	192.168.1.5 (3)
;
bootstrap.ocp4.example.com.	IN	A	192.168.1.96 (4)
;
control-plane0.ocp4.example.com.	IN	A	192.168.1.97 (5)
control-plane1.ocp4.example.com.	IN	A	192.168.1.98 (5)
control-plane2.ocp4.example.com.	IN	A	192.168.1.99 (5)
;
compute0.ocp4.example.com.	IN	A	192.168.1.11 (6)
compute1.ocp4.example.com.	IN	A	192.168.1.7 (6)
;
;EOF
1 提供 Kubernetes API 的名称解析。该记录引用 API 负载均衡器的 IP 地址。
2 提供 Kubernetes API 的名称解析。该记录引用 API 负载均衡器的 IP 地址,并用于内部集群通信。
3 提供通配符路由的名称解析。该记录引用应用程序入口负载均衡器的 IP 地址。应用程序入口负载均衡器将目标指向运行 Ingress Controller pod 的机器。默认情况下,Ingress Controller pod 运行在计算机器上。

在示例中,Kubernetes API 和应用程序入口流量使用相同的负载均衡器。在生产环境中,您可以分别部署 API 和应用程序入口负载均衡器,以便您可以隔离地扩展每个负载均衡器基础设施。

4 提供引导机器的名称解析。
5 提供控制平面机器的名称解析。
6 提供计算机器的名称解析。
用户预配集群的 DNS PTR 记录配置示例

以下示例 BIND 区域文件显示了用户预配集群中反向名称解析的 PTR 记录示例。

反向记录的 DNS 区域数据库示例
$TTL 1W
@	IN	SOA	ns1.example.com.	root (
			2019070700	; serial
			3H		; refresh (3 hours)
			30M		; retry (30 minutes)
			2W		; expiry (2 weeks)
			1W )		; minimum (1 week)
	IN	NS	ns1.example.com.
;
5.1.168.192.in-addr.arpa.	IN	PTR	api.ocp4.example.com. (1)
5.1.168.192.in-addr.arpa.	IN	PTR	api-int.ocp4.example.com. (2)
;
96.1.168.192.in-addr.arpa.	IN	PTR	bootstrap.ocp4.example.com. (3)
;
97.1.168.192.in-addr.arpa.	IN	PTR	control-plane0.ocp4.example.com. (4)
98.1.168.192.in-addr.arpa.	IN	PTR	control-plane1.ocp4.example.com. (4)
99.1.168.192.in-addr.arpa.	IN	PTR	control-plane2.ocp4.example.com. (4)
;
11.1.168.192.in-addr.arpa.	IN	PTR	compute0.ocp4.example.com. (5)
7.1.168.192.in-addr.arpa.	IN	PTR	compute1.ocp4.example.com. (5)
;
;EOF
1 提供 Kubernetes API 的反向 DNS 解析。PTR 记录引用 API 负载均衡器的记录名称。
2 提供 Kubernetes API 的反向 DNS 解析。PTR 记录引用 API 负载均衡器的记录名称,并用于内部集群通信。
3 提供引导机器的反向 DNS 解析。
4 提供控制平面机器的反向 DNS 解析。
5 提供计算机器的反向 DNS 解析。

OpenShift Container Platform 应用程序通配符不需要 PTR 记录。

用户预配基础设施的负载均衡要求

在安装 OpenShift Container Platform 之前,必须预配 API 和应用程序入口负载均衡基础设施。在生产环境中,您可以分别部署 API 和应用程序入口负载均衡器,以便您可以隔离地扩展每个负载均衡器基础设施。

如果要使用 Red Hat Enterprise Linux (RHEL) 实例部署 API 和应用程序入口负载均衡器,则必须单独购买 RHEL 订阅。

负载均衡基础设施必须满足以下要求

  1. API 负载均衡器:为用户(人和机器)提供一个公共端点,用于与平台交互和配置平台。配置以下条件

    • 仅限第 4 层负载均衡。这可以称为原始 TCP 或 SSL 直通模式。

    • 无状态负载均衡算法。选项因负载均衡器实现而异。

    不要为 API 负载均衡器配置会话持久性。为 Kubernetes API 服务器配置会话持久性可能会导致 OpenShift Container Platform 集群和集群内运行的 Kubernetes API 的应用程序流量过多而导致性能问题。

    在负载均衡器的前面和后面配置以下端口

    表 10. API 负载均衡器
    端口 后端机器(池成员) 内部 外部 描述

    6443

    引导程序和控制平面。引导机器初始化集群控制平面后,您将引导机器从负载均衡器中移除。必须为 API 服务器运行状况检查探测配置 /readyz 端点。

    X

    X

    Kubernetes API 服务器

    22623

    引导程序和控制平面。引导机器初始化集群控制平面后,您将引导机器从负载均衡器中移除。

    X

    机器配置服务器

    负载均衡器必须配置为从 API 服务器关闭 /readyz 端点到从池中删除 API 服务器实例的时间最多为 30 秒。在 /readyz 返回错误或变为健康状态后的时间范围内,必须已删除或添加了端点。经过测试的值为每 5 或 10 秒探测一次,两次成功的请求变为健康状态,三次变为不健康状态。

  2. 应用程序入口负载均衡器:为从集群外部流入的应用程序流量提供入口点。OpenShift Container Platform 集群需要 Ingress 路由器的正常配置。

    配置以下条件

    • 仅限第 4 层负载均衡。这可以称为原始 TCP 或 SSL 直通模式。

    • 建议使用基于连接或基于会话的持久性,具体取决于可用的选项以及将在平台上托管的应用程序类型。

    如果应用程序 Ingress 负载均衡器可以查看客户端的真实 IP 地址,则启用基于源 IP 的会话持久性可以提高使用端到端 TLS 加密的应用程序的性能。

    在负载均衡器的前面和后面配置以下端口

    表 11. 应用程序 Ingress 负载均衡器
    端口 后端机器(池成员) 内部 外部 描述

    443

    默认情况下,运行 Ingress Controller Pod 的机器,即计算节点或工作节点。

    X

    X

    HTTPS 流量

    80

    默认情况下,运行 Ingress Controller Pod 的机器,即计算节点或工作节点。

    X

    X

    HTTP 流量

    如果您部署的是一个包含零个计算节点的三节点集群,则 Ingress Controller Pod 将运行在控制平面节点上。在三节点集群部署中,您必须配置您的应用程序 Ingress 负载均衡器以将 HTTP 和 HTTPS 流量路由到控制平面节点。

用户配置集群的负载均衡器配置示例

本节提供了一个满足用户配置集群负载均衡需求的示例 API 和应用程序 Ingress 负载均衡器配置。该示例是一个用于 HAProxy 负载均衡器的 /etc/haproxy/haproxy.cfg 配置文件。本示例并非旨在提供关于选择哪种负载均衡解决方案的建议。

在示例中,Kubernetes API 和应用程序入口流量使用相同的负载均衡器。在生产环境中,您可以分别部署 API 和应用程序入口负载均衡器,以便您可以隔离地扩展每个负载均衡器基础设施。

如果您使用 HAProxy 作为负载均衡器并且 SELinux 设置为 enforcing,则必须确保 HAProxy 服务可以通过运行 setsebool -P haproxy_connect_any=1 来绑定到已配置的 TCP 端口。

示例 API 和应用程序 Ingress 负载均衡器配置
global
  log         127.0.0.1 local2
  pidfile     /var/run/haproxy.pid
  maxconn     4000
  daemon
defaults
  mode                    http
  log                     global
  option                  dontlognull
  option http-server-close
  option                  redispatch
  retries                 3
  timeout http-request    10s
  timeout queue           1m
  timeout connect         10s
  timeout client          1m
  timeout server          1m
  timeout http-keep-alive 10s
  timeout check           10s
  maxconn                 3000
listen api-server-6443 (1)
  bind *:6443
  mode tcp
  option  httpchk GET /readyz HTTP/1.0
  option  log-health-checks
  balance roundrobin
  server bootstrap bootstrap.ocp4.example.com:6443 verify none check check-ssl inter 10s fall 2 rise 3 backup (2)
  server master0 master0.ocp4.example.com:6443 weight 1 verify none check check-ssl inter 10s fall 2 rise 3
  server master1 master1.ocp4.example.com:6443 weight 1 verify none check check-ssl inter 10s fall 2 rise 3
  server master2 master2.ocp4.example.com:6443 weight 1 verify none check check-ssl inter 10s fall 2 rise 3
listen machine-config-server-22623 (3)
  bind *:22623
  mode tcp
  server bootstrap bootstrap.ocp4.example.com:22623 check inter 1s backup (2)
  server master0 master0.ocp4.example.com:22623 check inter 1s
  server master1 master1.ocp4.example.com:22623 check inter 1s
  server master2 master2.ocp4.example.com:22623 check inter 1s
listen ingress-router-443 (4)
  bind *:443
  mode tcp
  balance source
  server compute0 compute0.ocp4.example.com:443 check inter 1s
  server compute1 compute1.ocp4.example.com:443 check inter 1s
listen ingress-router-80 (5)
  bind *:80
  mode tcp
  balance source
  server compute0 compute0.ocp4.example.com:80 check inter 1s
  server compute1 compute1.ocp4.example.com:80 check inter 1s
1 端口 6443 处理 Kubernetes API 流量并指向控制平面机器。
2 引导条目必须在 OpenShift Container Platform 集群安装之前到位,并且必须在引导过程完成后将其删除。
3 端口 22623 处理机器配置服务器流量并指向控制平面机器。
4 端口 443 处理 HTTPS 流量并指向运行 Ingress Controller Pod 的机器。默认情况下,Ingress Controller Pod 运行在计算机器上。
5 端口 80 处理 HTTP 流量并指向运行 Ingress Controller Pod 的机器。默认情况下,Ingress Controller Pod 运行在计算机器上。

如果您部署的是一个包含零个计算节点的三节点集群,则 Ingress Controller Pod 将运行在控制平面节点上。在三节点集群部署中,您必须配置您的应用程序 Ingress 负载均衡器以将 HTTP 和 HTTPS 流量路由到控制平面节点。

如果您使用 HAProxy 作为负载均衡器,则可以通过在 HAProxy 节点上运行 netstat -nltupe 来检查 haproxy 进程是否正在监听端口 64432262344380