2.5. 网络要求


OpenShift Container Platform 安装程序置备的安装涉及多网络要求。首先,安装程序置备的安装涉及一个可选的不可路由 置备 网络,用于在每个裸机节点上置备操作系统。其次,安装程序置备的安装涉及一个可路由的 baremetal 网络。

2.5.1. 确保打开所需的端口

某些端口必须在集群节点之间打开,才能成功完成安装程序置备的安装。在某些情况下,比如在边缘 worker 节点中使用单独的子网,您必须确保这些子网中的节点可以与以下所需端口上其他子网中的节点通信。

Expand
表 2.4. 所需端口
port描述

67,68

在使用 provisioning 网络时,集群节点使用端口 6768 访问 dnsmasq DHCP 服务器。

69

在使用 provisioning 网络时,集群节点使用它们的置备网络接口与端口 69 上的 TFTP 服务器通信。TFTP 服务器在 bootstrap 虚拟机上运行。bootstrap 虚拟机在 provisioner 节点上运行。

80

如果没有使用镜像缓存选项或使用虚拟介质,则 provisioner 节点必须在 baremetal 机器网络接口上打开端口 80,才能将来自 provisioner 节点的 Red Hat Enterprise Linux CoreOS (RHCOS)镜像流传输到集群节点。

123

集群节点必须使用 baremetal 机器网络访问端口 123 上的 NTP 服务器。

5050

Ironic Inspector API 在 control plane 节点上运行,并侦听端口 5050。Inspector API 负责硬件内省,它收集有关裸机节点的硬件特征的信息。

5051

端口 5050 使用端口 5051 作为代理。

6180

当使用虚拟介质而不是 TLS 部署时,provisioner 节点和 control plane 节点必须在 baremetal 机器网络接口上打开端口 6180,以便 worker 节点的基板管理控制器(BMC)可以访问 RHCOS 镜像。从 OpenShift Container Platform 4.13 开始,默认 HTTP 端口为 6180

6183

当使用虚拟介质并使用 TLS 部署时,provisioner 节点和 control plane 节点必须在 baremetal 机器网络接口上打开端口 6183,以便 worker 节点的 BMC 可以访问 RHCOS 镜像。

6385

Ironic API 服务器最初在 bootstrap 虚拟机上运行,稍后在 control plane 节点上运行,并侦听端口 6385。Ironic API 允许客户端与 Ironic 交互以进行裸机节点置备和管理,包括注册新节点、管理电源状态、部署镜像和清理硬件等操作。

6388

端口 6385 使用端口 6388 作为代理。

8080

在不使用 TLS 的情况下使用镜像缓存时,必须在 provisioner 节点上打开端口 8080,并可以被集群节点的 BMC 接口访问。

8083

当将镜像缓存选项与 TLS 搭配使用时,必须在 provisioner 节点上打开端口 8083,并可以被集群节点的 BMC 接口访问。

9999

默认情况下,Ironic Python 代理(IPA)侦听来自 Ironic 编排器服务的 API 调用的 TCP 端口 9999。运行 IPA 的裸机节点之间的通信,Ironic 编排器服务使用此端口。

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-virtualmediaidrac-virtualmedia

  • baremetalbaremetal 网络是一个可路由的网络。您可以使用任何 NIC 与 baremetal 网络 进行接口,只要 NIC 没有配置为使用 provisioning 网络。
重要

在使用 VLAN 时,每个 NIC 必须位于与相应网络对应的独立 VLAN 中。

2.5.4. DNS 要求

客户端通过 baremetal 网络访问 OpenShift Container Platform 集群节点。网络管理员必须配置子域或子区,其中规范名称扩展是集群名称。

<cluster_name>.<base_domain>
Copy to Clipboard Toggle word wrap

例如:

test-cluster.example.com
Copy to Clipboard Toggle word wrap

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>.

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

Kubernetes API

api.<cluster_name>.<base_domain>.

A/AAAA 记录和 PTR 记录可识别 API 负载均衡器。这些记录必须由集群外的客户端和集群中的所有节点解析。

Routes

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

通配符 A/AAAA 记录指的是应用程序入口负载均衡器。应用程序入口负载均衡器以运行 Ingress Controller pod 的节点为目标。默认情况下,Ingress Controller pod 在 worker 节点上运行。这些记录必须由集群外的客户端和集群中的所有节点解析。

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

提示

您可以使用 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 地址,包括:

  1. 两个唯一的虚拟 IP 地址。

    • API 端点的一个虚拟 IP 地址。
    • 一个用于通配符入口端点的虚拟 IP 地址。
  2. 一个用于 provisioner 节点的 IP 地址。
  3. 每个 control plane 节点有一个 IP 地址。
  4. 每个 worker 节点有一个 IP 地址(如果适用)。
保留 IP 地址,以便其成为静态 IP 地址

有些管理员更喜欢使用静态 IP 地址,以便在没有 DHCP 服务器时每个节点的 IP 地址保持恒定状态。要使用 NMState 配置静态 IP 地址,请参阅"设置 OpenShift 安装环境"部分中的" (可选)配置节点网络接口"。

外部负载均衡器和 control plane 节点间的网络

当使用 VLAN 在负载均衡服务和 control plane 节点之间路由流量时,外部负载平衡服务和 control plane 节点必须在同一个 L2 网络上运行,并使用 VLAN 来路由负载平衡服务和 control plane 节点之间的流量。

重要

存储接口需要 DHCP 保留或静态 IP。

下表提供了完全限定域名的实例化。API 和 Nameserver 地址以规范名称扩展开头。control plane 和 worker 节点的主机名是示例,您可以使用您喜欢的任何主机命名规则。

Expand
用法主机名IP

API

api.<cluster_name>.<base_domain>

<ip>

Ingress LB(apps)

*.apps.<cluster_name>.<base_domain>

<ip>

provisioner 节点

provisioner.<cluster_name>.<base_domain>

<ip>

control-plane-0

openshift-control-plane-0.<cluster_name>.<base_domain>

<ip>

Control-plane-1

openshift-control-plane-1.<cluster_name>-.<base_domain>

<ip>

Control-plane-2

openshift-control-plane-2.<cluster_name>.<base_domain>

<ip>

Worker-0

openshift-worker-0.<cluster_name>.<base_domain>

<ip>

Worker-1

openshift-worker-1.<cluster_name>.<base_domain>

<ip>

Worker-n

openshift-worker-n.<cluster_name>.<base_domain>

<ip>

注意

如果您不创建 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。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat