2.5. 网络要求
OpenShift Container Platform 安装程序置备的安装涉及多网络要求。首先,安装程序置备的安装涉及一个可选的不可路由 置备
网络,用于在每个裸机节点上置备操作系统。其次,安装程序置备的安装涉及一个可路由的 baremetal
网络。
2.5.1. 确保打开所需的端口 复制链接链接已复制到粘贴板!
某些端口必须在集群节点之间打开,才能成功完成安装程序置备的安装。在某些情况下,比如在边缘 worker 节点中使用单独的子网,您必须确保这些子网中的节点可以与以下所需端口上其他子网中的节点通信。
port | 描述 |
---|---|
|
在使用 provisioning 网络时,集群节点使用端口 |
|
在使用 provisioning 网络时,集群节点使用它们的置备网络接口与端口 |
|
如果没有使用镜像缓存选项或使用虚拟介质,则 provisioner 节点必须在 |
|
集群节点必须使用 |
|
Ironic Inspector API 在 control plane 节点上运行,并侦听端口 |
|
端口 |
|
当使用虚拟介质而不是 TLS 部署时,provisioner 节点和 control plane 节点必须在 |
|
当使用虚拟介质并使用 TLS 部署时,provisioner 节点和 control plane 节点必须在 |
|
Ironic API 服务器最初在 bootstrap 虚拟机上运行,稍后在 control plane 节点上运行,并侦听端口 |
|
端口 |
|
在不使用 TLS 的情况下使用镜像缓存时,必须在 provisioner 节点上打开端口 |
|
当将镜像缓存选项与 TLS 搭配使用时,必须在 provisioner 节点上打开端口 |
|
默认情况下,Ironic Python 代理(IPA)侦听来自 Ironic 编排器服务的 API 调用的 TCP 端口 |
2.5.2. 增加网络 MTU 复制链接链接已复制到粘贴板!
在部署 OpenShift Container Platform 前,将网络最大传输单元 (MTU) 增加到 1500 或更多。如果 MTU 小于 1500,用于引导节点的 Ironic 镜像可能无法与 Ironic 检查 pod 通信,检查将失败。如果发生了这种情况,安装会停止,因为节点无法用于安装。
2.5.3. 配置 NIC 复制链接链接已复制到粘贴板!
OpenShift Container Platform 使用两个网络部署:
provisioning
:置备
网络是一个可选的不可路由的网络,用于在作为 OpenShift Container Platform 集群一部分的每个节点上置备底层操作系统。每个集群节点上provisioning
网络的网络接口必须将 BIOS 或 UEFI 配置为 PXE 引导。provisioningNetworkInterface
配置设置指定 control plane 节点上的provisioning
网络 NIC 名称,它在 control plane 节点上必须相同。bootMACAddress
配置设置提供了一种方法,用于在每个节点上为provisioning
网络指定特定的 NIC。调配
网络是可选的,但 PXE 引导需要该网络。如果您在没有provisioning
网络的情况下部署,则必须使用虚拟介质 BMC 寻址选项,如redfish-virtualmedia
或idrac-virtualmedia
。-
baremetal
:baremetal
网络是一个可路由的网络。您可以使用任何 NIC 与baremetal 网络
进行接口,只要 NIC 没有配置为使用provisioning
网络。
在使用 VLAN 时,每个 NIC 必须位于与相应网络对应的独立 VLAN 中。
2.5.4. DNS 要求 复制链接链接已复制到粘贴板!
客户端通过 baremetal
网络访问 OpenShift Container Platform 集群节点。网络管理员必须配置子域或子区,其中规范名称扩展是集群名称。
<cluster_name>.<base_domain>
<cluster_name>.<base_domain>
例如:
test-cluster.example.com
test-cluster.example.com
OpenShift Container Platform 包含使用集群成员资格信息来生成 A/AAAA 记录的功能。这会将节点名称解析为其 IP 地址。使用 API 注册节点后,集群可以在不使用 CoreDNS-mDNS 的情况下分散节点信息。这可消除与多播 DNS 关联的网络流量。
CoreDNS 需要 TCP 和 UDP 连接到上游 DNS 服务器才能正常工作。确保上游 DNS 服务器可以从 OpenShift Container Platform 集群节点接收 TCP 和 UDP 连接。
在 OpenShift Container Platform 部署中,以下组件需要 DNS 名称解析:
- The Kubernetes API
- OpenShift Container Platform 应用程序通配符入口 API
A/AAAA 记录用于名称解析,而 PTR 记录用于反向名称解析。Red Hat Enterprise Linux CoreOS(RHCOS)使用反向记录或 DHCP 为所有节点设置主机名。
安装程序置备的安装包括使用集群成员资格信息生成 A/AAAA 记录的功能。这会将节点名称解析为其 IP 地址。在每个记录中,<cluster_name>
是集群名称,<base_domain>
是您在 install-config.yaml
文件中指定的基域。完整的 DNS 记录采用以下形式: <component>.<cluster_name>.<base_domain>.
。
组件 | 记录 | 描述 |
---|---|---|
Kubernetes API |
| A/AAAA 记录和 PTR 记录可识别 API 负载均衡器。这些记录必须由集群外的客户端和集群中的所有节点解析。 |
Routes |
| 通配符 A/AAAA 记录指的是应用程序入口负载均衡器。应用程序入口负载均衡器以运行 Ingress Controller pod 的节点为目标。默认情况下,Ingress Controller pod 在 worker 节点上运行。这些记录必须由集群外的客户端和集群中的所有节点解析。
例如,console |
您可以使用 dig
命令验证 DNS 解析。
2.5.5. 动态主机配置协议(DHCP)要求 复制链接链接已复制到粘贴板!
默认情况下,安装程序置备的安装会在 provisioning
网络启用了 DHCP 的情况下部署 ironic-dnsmasq
。当 provisioningNetwork
配置设置为 managed
时(默认值),不能有其他 DHCP 服务器在 provisioning
网络中运行。如果您在 provisioning
网络上运行 DHCP 服务器,则必须在 install-config.yaml
文件中将 provisioningNetwork
配置设置设置为 非受管
。
网络管理员必须为 OpenShift Container Platform 集群中的各个节点为外部 DHCP 服务器上的 baremetal 网络
保留 IP 地址。
2.5.6. 使用 DHCP 服务器为节点保留 IP 地址 复制链接链接已复制到粘贴板!
对于 baremetal
网络,网络管理员必须保留几个 IP 地址,包括:
两个唯一的虚拟 IP 地址。
- API 端点的一个虚拟 IP 地址。
- 一个用于通配符入口端点的虚拟 IP 地址。
- 一个用于 provisioner 节点的 IP 地址。
- 每个 control plane 节点有一个 IP 地址。
- 每个 worker 节点有一个 IP 地址(如果适用)。
有些管理员更喜欢使用静态 IP 地址,以便在没有 DHCP 服务器时每个节点的 IP 地址保持恒定状态。要使用 NMState 配置静态 IP 地址,请参阅"设置 OpenShift 安装环境"部分中的" (可选)配置节点网络接口"。
当使用 VLAN 在负载均衡服务和 control plane 节点之间路由流量时,外部负载平衡服务和 control plane 节点必须在同一个 L2 网络上运行,并使用 VLAN 来路由负载平衡服务和 control plane 节点之间的流量。
存储接口需要 DHCP 保留或静态 IP。
下表提供了完全限定域名的实例化。API 和 Nameserver 地址以规范名称扩展开头。control plane 和 worker 节点的主机名是示例,您可以使用您喜欢的任何主机命名规则。
用法 | 主机名 | IP |
---|---|---|
API |
|
|
Ingress LB(apps) |
|
|
provisioner 节点 |
|
|
control-plane-0 |
|
|
Control-plane-1 |
|
|
Control-plane-2 |
|
|
Worker-0 |
|
|
Worker-1 |
|
|
Worker-n |
|
|
如果您不创建 DHCP 保留,安装程序需要反向 DNS 解析来为 Kubernetes API 节点、provisioner 节点、control plane 节点和 worker 节点设置主机名。
2.5.7. provisioner 节点要求 复制链接链接已复制到粘贴板!
您必须在安装配置中为 provisioner 节点指定 MAC 地址。bootMacAddress
规范通常与 PXE 网络引导关联。但是,Ironic 置备服务还需要 bootMacAddress
规格,以便在检查集群期间或集群中重新部署节点时识别节点。
provisioner 节点需要第 2 层连接才能进行网络引导、DHCP 和 DNS 解析,以及本地网络通信。provisioner 节点需要第 3 层连接才能进行虚拟介质引导。
2.5.8. 网络时间协议(NTP) 复制链接链接已复制到粘贴板!
集群中的每个 OpenShift Container Platform 节点都必须有权访问 NTP 服务器。OpenShift Container Platform 节点使用 NTP 来同步其时钟。例如,集群节点使用需要验证的 SSL/TLS 证书,如果节点之间的日期和时间未同步,则可能会失败。
在每个群集节点的 BIOS 设置中定义一致的时钟日期和时间格式,或者安装可能会失败。
您可以重新配置 control plane 节点,作为断开连接的集群中的 NTP 服务器,并重新配置 worker 节点以从 control plane 节点检索时间。
2.5.9. 带外管理 IP 地址的端口访问 复制链接链接已复制到粘贴板!
带外管理 IP 地址位于与节点分开的网络中。为确保带外管理可以在安装过程中与 provisioner 节点通信,带外管理 IP 地址必须被授予对 provisioner 节点和 OpenShift Container Platform control plane 节点上端口 6180
的访问权限。虚拟介质安装需要 TLS 端口 6183
,例如使用 Redfish。