VRRP
在开始使用安装程序配置的基础架构进行安装之前,请确保您的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提供商上
虚拟环境产品 | 所需版本 |
---|---|
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文档中的编辑主机的时钟配置。 |
组件 | 最低支持版本 | 描述 |
---|---|---|
虚拟机管理程序 |
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的指导
考虑分配额外的VPU以提供足够的容量来进行更新和扩展活动。请参阅块卷性能级别(Oracle文档)。 |
您必须配置机器之间的网络连接,以允许OpenShift Container Platform集群组件进行通信。
查看以下关于所需网络端口的详细信息。
协议 | 端口 | 描述 |
---|---|---|
VRRP |
N/A |
keepalived所需 |
ICMP |
N/A |
网络可达性测试 |
TCP |
|
指标 |
|
主机级服务,包括端口 |
|
|
Kubernetes 保留的默认端口 |
|
UDP |
|
|
虚拟可扩展局域网 (VXLAN) |
|
|
Geneve |
|
|
主机级服务,包括端口 |
|
|
IPsec IKE 数据包 |
|
|
IPsec NAT-T 数据包 |
TCP/UDP |
|
Kubernetes 节点端口 |
ESP |
N/A |
协议 | 端口 | 描述 |
---|---|---|
TCP |
|
Kubernetes API |
协议 | 端口 | 描述 |
---|---|---|
TCP |
|
etcd 服务器和对等端口 |
要安装 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 驱动程序操作员仅支持在安装清单中使用 |
您可以为容器存储接口 (CSI) 驱动程序、vSphere CSI 驱动程序操作员和 vSphere 问题检测器操作员创建自定义角色。自定义角色可以包含权限集,这些权限集为每个 vSphere 对象分配最小权限集。这意味着 CSI 驱动程序、vSphere CSI 驱动程序操作员和 vSphere 问题检测器操作员可以与这些对象建立基本交互。
在 vCenter 中安装 OpenShift Container Platform 集群已针对“所需 vCenter 帐户权限”部分中描述的完整权限列表进行了测试。通过遵守完整的权限列表,您可以减少在使用一组受限权限创建自定义角色时可能发生的意外和不受支持的行为的可能性。 |
要删除第三方 vSphere CSI 驱动程序,请参阅 删除第三方 vSphere CSI 驱动程序。
要更新 vSphere 节点的硬件版本,请参阅 更新在 vSphere 上运行的节点上的硬件。
在您在使用安装程序配置的基础架构的 vCenter 上安装 OpenShift Container Platform 集群之前,您必须准备您的环境。
要在 vCenter 中安装 OpenShift Container Platform 集群,安装程序需要访问具有读取和创建所需资源权限的帐户。使用具有全局管理员权限的帐户是访问所有必要权限的最简单方法。
如果您无法使用具有全局管理员权限的帐户,则必须创建角色以授予 OpenShift Container Platform 集群安装所需的权限。虽然大多数权限始终是必需的,但有些权限仅在您计划安装程序配置一个文件夹以在您的 vCenter 实例上包含 OpenShift Container Platform 集群(这是默认行为)时才需要。您必须为指定的對象创建或修改 vSphere 角色以授予所需的权限。
如果安装程序要创建一个 vSphere 虚拟机文件夹,则需要一个附加角色。
角色的 vSphere 对象 | 需要时 | vSphere API 中所需的权限 |
---|---|---|
vSphere vCenter |
始终 |
|
vSphere vCenter 集群 |
如果虚拟机将在集群根目录中创建 |
|
vSphere vCenter 资源池 |
如果提供现有的资源池 |
|
vSphere 数据存储 |
始终 |
|
vSphere 端口组 |
始终 |
|
虚拟机文件夹 |
始终 |
|
vSphere vCenter 数据中心 |
如果安装程序创建虚拟机文件夹。对于用户配置的基础架构,如果您的集群不使用机器 API,则 |
|
角色的 vSphere 对象 | 需要时 | vCenter GUI 中所需的权限 |
---|---|---|
vSphere vCenter |
始终 |
|
vSphere vCenter 集群 |
如果虚拟机将在集群根目录中创建 |
|
vSphere vCenter 资源池 |
如果提供现有的资源池 |
|
vSphere 数据存储 |
始终 |
|
vSphere 端口组 |
始终 |
|
虚拟机文件夹 |
始终 |
|
vSphere vCenter 数据中心 |
如果安装程序创建虚拟机文件夹。对于用户提供的基础设施,如果您的集群不使用 Machine API,则 |
|
此外,用户需要一些只读
权限,并且某些角色需要权限才能将权限传播到子对象。这些设置取决于您是否将集群安装到现有文件夹中。
vSphere 对象 | 需要时 | 传播到子级 | 所需权限 |
---|---|---|---|
vSphere vCenter |
始终 |
否 |
列出的所需权限 |
vSphere vCenter 数据中心 |
现有文件夹 |
否 |
|
安装程序创建文件夹 |
是 |
列出的所需权限 |
|
vSphere vCenter 集群 |
现有资源池 |
否 |
|
集群根目录中的虚拟机 |
是 |
列出的所需权限 |
|
vSphere vCenter 数据存储 |
始终 |
否 |
列出的所需权限 |
vSphere 交换机 |
始终 |
否 |
|
vSphere 端口组 |
始终 |
否 |
列出的所需权限 |
vSphere vCenter 虚拟机文件夹 |
现有文件夹 |
是 |
列出的所需权限 |
vSphere vCenter 资源池 |
现有资源池 |
是 |
列出的所需权限 |
有关仅使用所需权限创建帐户的更多信息,请参阅 vSphere 文档中的vSphere 权限和用户管理任务。
创建自定义角色并为其分配权限后,您可以通过选择特定的 vSphere 对象,然后为每个对象的每个用户或组分配自定义角色来创建权限。
在创建权限或请求为 vSphere 对象创建权限之前,请确定适用于 vSphere 对象的最低权限。通过执行此任务,您可以确保 vSphere 对象和 OpenShift Container Platform 架构之间存在基本交互。
如果您创建自定义角色并且未为其分配权限,则 vSphere 服务器默认会为自定义角色分配 |
当具有全局管理员权限的帐户无法满足您的需求时,请考虑创建自定义角色。
未配置所需权限的帐户不受支持。“所需 vCenter 帐户权限”部分中介绍了在 vCenter 中安装 OpenShift Container Platform 集群时针对的完整权限列表。通过遵守完整的权限列表,您可以减少在使用受限权限集创建自定义角色时可能出现的意外行为的可能性。 |
下表列出了与特定 OpenShift Container Platform 架构交互的 vSphere 对象的最低权限。
角色的 vSphere 对象 | 需要时 | 所需权限 |
---|---|---|
vSphere vCenter |
始终 |
|
vSphere vCenter 集群 |
如果您打算在集群根目录中创建虚拟机 |
|
vSphere vCenter 资源池 |
如果您在 |
|
vSphere 端口组 |
始终 |
|
虚拟机文件夹 |
始终 |
|
vSphere vCenter 数据中心 |
如果安装程序创建虚拟机文件夹。对于用户提供的基础设施,如果您的集群不使用 Machine API,则 |
|
角色的 vSphere 对象 | 需要时 | 所需权限 |
---|---|---|
vSphere vCenter |
始终 |
|
vSphere vCenter 集群 |
如果您打算在集群根目录中创建虚拟机 |
|
vSphere vCenter 资源池 |
如果您在 |
|
vSphere 数据存储 |
始终 |
|
vSphere 端口组 |
始终 |
|
虚拟机文件夹 |
始终 |
|
vSphere vCenter 数据中心 |
如果安装程序创建虚拟机文件夹。对于用户提供的基础设施,如果您的集群不使用 Machine API,则 |
|
角色的 vSphere 对象 | 需要时 | 所需权限 |
---|---|---|
vSphere vCenter |
始终 |
|
vSphere vCenter 集群 |
如果您打算在集群根目录中创建虚拟机 |
|
vSphere vCenter 资源池 |
如果您在 |
|
vSphere 数据存储 |
始终 |
|
vSphere 端口组 |
始终 |
|
虚拟机文件夹 |
始终 |
|
vSphere vCenter 数据中心 |
如果安装程序创建虚拟机文件夹。对于用户提供的基础设施,如果您的集群不使用 Machine API,则 |
|
角色的 vSphere 对象 | 需要时 | 所需权限 |
---|---|---|
vSphere vCenter |
始终 |
|
vSphere vCenter 集群 |
如果您打算在集群根目录中创建虚拟机 |
|
vSphere vCenter 资源池 |
如果您在 |
|
vSphere 数据存储 |
始终 |
|
vSphere 端口组 |
始终 |
|
虚拟机文件夹 |
始终 |
|
vSphere vCenter 数据中心 |
如果安装程序创建虚拟机文件夹。对于用户提供的基础设施,如果您的集群不使用 Machine API,则 |
|
如果您打算在 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 集群的数据丢失问题。 如果您必须跨多个数据存储指定虚拟机,请使用 |
部署使用安装程序提供的基础设施的 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集群之前创建以下网络资源。
对于使用DHCP的网络,安装程序预配的vSphere安装需要两个静态IP地址。
API 地址用于访问集群API。
Ingress 地址用于集群入口流量。
安装OpenShift Container Platform集群时,必须将这些IP地址提供给安装程序。
您必须在托管OpenShift Container Platform集群的vCenter实例的相应DNS服务器中,为两个静态IP地址创建DNS记录。在每个记录中,<cluster_name>
是集群名称,<base_domain>
是您在安装集群时指定的集群基础域名。完整的DNS记录格式为:<component>.<cluster_name>.<base_domain>.
。
组件 | 记录 | 描述 |
---|---|---|
API VIP |
|
此DNS A/AAAA或CNAME(规范名称)记录必须指向控制平面机器的负载均衡器。集群外部的客户端和集群内的所有节点都必须能够解析此记录。 |
Ingress VIP |
|
指向负载均衡器的通配符DNS A/AAAA或CNAME记录,该负载均衡器以默认情况下为工作节点的运行Ingress路由器Pod的机器为目标。集群外部的客户端和集群内的所有节点都必须能够解析此记录。 |
在不存在动态主机配置协议 (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 | 有效的网络定义值包括bootstrap 、control-plane 和compute 。您必须在install-config.yaml 配置文件中至少列出一个bootstrap 网络定义。 |
2 | 列出安装程序传递给网络接口的IPv4、IPv6或IPv4和IPv6 IP地址。机器API控制器将所有配置的IP地址分配给默认网络接口。 |
3 | 网络接口的默认网关。 |
4 | 列出最多3个DNS名称服务器。 |
在您部署集群以运行具有静态IP地址的节点后,您可以扩展机器以使用这些静态IP地址之一。此外,您可以使用机器集将机器配置为使用配置的静态IP地址之一。