×

在开始使用安装程序配置的基础架构进行安装之前,请确保您的vSphere环境满足以下安装要求。

VMware vSphere基础架构要求

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

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

  • 8.0更新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更新2或更高版本,或VMware Cloud Foundation 4.3或更高版本;8.0更新1或更高版本,或VMware Cloud Foundation 5.0或更高版本

vCenter主机

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

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

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

虚拟机管理程序

vSphere 7.0更新2或更高版本,或VMware Cloud Foundation 4.3或更高版本;vSphere 8.0更新1或更高版本,或VMware Cloud Foundation 5.0或更高版本,虚拟硬件版本为15

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

可选:网络 (NSX-T)

vSphere 7.0更新2或更高版本,或VMware Cloud Foundation 4.3或更高版本;vSphere 8.0更新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文档)

网络连接要求

您必须配置机器之间的网络连接,以允许OpenShift Container Platform集群组件进行通信。

查看以下关于所需网络端口的详细信息。

表3. 用于所有机器到所有机器通信的端口
协议 端口 描述

VRRP

N/A

keepalived所需

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 数据包

TCP/UDP

30000-32767

Kubernetes 节点端口

ESP

N/A

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

TCP

6443

Kubernetes API

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

TCP

2379-2380

etcd 服务器和对等端口

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 驱动程序操作员仅支持在安装清单中使用platform: vsphere部署的集群。

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

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

其他资源

vCenter 要求

在您在使用安装程序配置的基础架构的 vCenter 上安装 OpenShift Container Platform 集群之前,您必须准备您的环境。

所需的 vCenter 帐户权限

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

如果您无法使用具有全局管理员权限的帐户,则必须创建角色以授予 OpenShift Container Platform 集群安装所需的权限。虽然大多数权限始终是必需的,但有些权限仅在您计划安装程序配置一个文件夹以在您的 vCenter 实例上包含 OpenShift Container Platform 集群(这是默认行为)时才需要。您必须为指定的對象创建或修改 vSphere 角色以授予所需的权限。

如果安装程序要创建一个 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 数据中心

如果安装程序创建虚拟机文件夹。对于用户配置的基础架构,如果您的集群不使用机器 API,则VirtualMachine.Inventory.CreateVirtualMachine.Inventory.Delete 权限是可选的。请参阅“机器 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 帐户权限”部分中介绍了在 vCenter 中安装 OpenShift Container Platform 集群时针对的完整权限列表。通过遵守完整的权限列表,您可以减少在使用受限权限集创建自定义角色时可能出现的意外行为的可能性。

下表列出了与特定 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
VApp.AssignResourcePool
VApp.Import
VirtualMachine.Config.AddNewDisk

vSphere vCenter 资源池

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

Datastore.Browse
Datastore.FileManagement
Host.Config.Storage
InventoryService.Tagging.ObjectAttachable
Resource.AssignVMToPool
VApp.AssignResourcePool
VApp.Import`最小值

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
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 并且您想设置 API 的最小权限集,请参阅“Machine API 的最低权限”表。

Folder.Create
Folder.Delete
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
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

组件的安装后管理的最低权限
角色的 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 计算 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 的存储分布式资源调度程序 (SDRS) 会自动为数据存储集群启用。Red Hat 不支持 Storage vMotion,因此您必须禁用 Storage DRS 以避免 OpenShift Container Platform 集群的数据丢失问题。

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

集群资源

部署使用安装程序提供的基础设施的 OpenShift Container Platform 集群时,安装程序必须能够在您的 vCenter 实例中创建多个资源。

标准 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。

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

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

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

所需的IP地址

对于使用DHCP的网络,安装程序预配的vSphere安装需要两个静态IP地址。

  • API 地址用于访问集群API。

  • Ingress 地址用于集群入口流量。

安装OpenShift Container Platform集群时,必须将这些IP地址提供给安装程序。

DNS记录

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

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

API VIP

api.<cluster_name>.<base_domain>.

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

Ingress VIP

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

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

vSphere节点的静态IP地址

在不存在动态主机配置协议 (DHCP) 的环境中,您可以预配配置有静态IP地址的引导程序、控制平面和计算节点。要配置此环境,您必须在install-config.yaml文件中为platform.vsphere.hosts.role参数提供值。

默认情况下,安装程序配置为使用网络的DHCP,但是此网络的可配置功能有限。

install-config.yaml文件中定义一个或多个机器池后,您可以为网络上的节点定义网络定义。确保网络定义的数量与您为集群配置的机器池数量匹配。

指定不同角色的示例网络配置
# ...
platform:
  vsphere:
    hosts:
    - role: bootstrap (1)
      networkDevice:
        ipAddrs:
        - 192.168.204.10/24 (2)
        gateway: 192.168.204.1 (3)
        nameservers: (4)
        - 192.168.204.1
    - role: control-plane
      networkDevice:
        ipAddrs:
        - 192.168.204.11/24
        gateway: 192.168.204.1
        nameservers:
        - 192.168.204.1
    - role: control-plane
      networkDevice:
        ipAddrs:
        - 192.168.204.12/24
        gateway: 192.168.204.1
        nameservers:
        - 192.168.204.1
    - role: control-plane
      networkDevice:
        ipAddrs:
        - 192.168.204.13/24
        gateway: 192.168.204.1
        nameservers:
        - 192.168.204.1
    - role: compute
      networkDevice:
        ipAddrs:
        - 192.168.204.14/24
        gateway: 192.168.204.1
        nameservers:
        - 192.168.204.1
# ...
1 有效的网络定义值包括bootstrapcontrol-planecompute。您必须在install-config.yaml配置文件中至少列出一个bootstrap网络定义。
2 列出安装程序传递给网络接口的IPv4、IPv6或IPv4和IPv6 IP地址。机器API控制器将所有配置的IP地址分配给默认网络接口。
3 网络接口的默认网关。
4 列出最多3个DNS名称服务器。

在您部署集群以运行具有静态IP地址的节点后,您可以扩展机器以使用这些静态IP地址之一。此外,您可以使用机器集将机器配置为使用配置的静态IP地址之一。