第 11 章 网络配置
这部分论述了使用 Assisted Installer 进行网络配置的基础知识。
11.1. 集群网络
OpenShift 使用各种网络类型和地址,并在下表中列出。
Type | DNS | 描述 |
---|---|---|
| 从中分配 Pod IP 地址的 IP 地址池。 | |
| 服务的 IP 地址池。 | |
| 组成集群的机器的 IP 地址块。 | |
|
| 用于 API 通信的 VIP。这个设置必须提供,或者在 DNS 中预先配置,以便正确解析默认名称。如果要使用双栈网络部署,则必须是 IPv4 地址。 |
|
|
用于 API 通信的 VIP。这个设置必须提供,或者在 DNS 中预先配置,以便正确解析默认名称。如果使用双栈网络,则第一个地址必须是 IPv4 地址,第二个地址必须是 IPv6 地址。您还必须设置 |
|
| 用于入口流量的 VIP。如果要使用双栈网络部署,则必须是 IPv4 地址。 |
|
|
用于入口流量的 VIP。如果您使用双栈网络部署,则第一个地址必须是 IPv4 地址,第二个地址必须是 IPv6 地址。您还必须设置 |
OpenShift Container Platform 4.12 引入了新的 apiVIPs
和 ingressVIPs
设置,用于接受双栈网络的多个 IP 地址。使用双栈网络时,第一个 IP 地址必须是 IPv4 地址,第二个 IP 地址必须是 IPv6 地址。新设置将替换 apiVIP
和 IngressVIP
,但在使用 API 修改配置时,您必须同时设置新的和旧设置。
根据所需的网络堆栈,您可以选择不同的网络接口控制器。目前,辅助服务可以使用以下配置之一部署 OpenShift Container Platform 集群:
- IPv4
- IPv6
- 双栈 (IPv4 + IPv6)
支持的网络接口控制器取决于所选的堆栈,并在下表中总结。如需详细的 Container Network Interface (CNI)网络供应商功能比较,请参阅 OCP 网络文档。
堆栈 | SDN | OVN |
---|---|---|
IPv4 | 是 | 是 |
IPv6 | 否 | 是 |
dual-stack | 否 | 是 |
OVN 是 OpenShift Container Platform 4.12 及更新的版本中的默认 Container Network Interface (CNI)。
11.1.1. 限制
11.1.1.1. SDN
- 使用单节点 OpenShift (SNO) 时,不支持 SDN 控制器。
- SDN 控制器不支持 IPv6。
11.1.1.2. OVN-Kubernetes
11.1.2. 集群网络
集群网络是一个网络,集群中部署的每个 Pod 都从中获取其 IP 地址。如果工作负载可以在组成集群的多个节点间存在,因此网络供应商可以根据 Pod 的 IP 地址轻松查找单个节点。为此,clusterNetwork.cidr
被进一步分成 clusterNetwork.hostPrefix
中定义的大小的子网。
主机前缀指定分配给集群中每个节点的子网的长度。集群如何为多节点集群分配地址的示例:
--- clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 ---
使用上述代码片段创建 3 节点集群可以创建以下网络拓扑:
-
在节点 #1 中调度的 Pod 从
10.128.0.0/23
获取 IP -
在节点 #2 中调度的 Pod 从
10.128.2.0/23
获取 IP -
在节点 #3 中调度的 Pod 从
10.128.4.0/23
获取 IP
解释 OVN-K8s 超出了本文档的范围,但上述的模式提供了在不同节点之间路由 Pod 到Pod 流量的方法,而无需保留 Pod 和对应节点之间的大量映射列表。
11.1.3. 机器网络
机器网络是由组成集群用来相互通信的所有主机使用的网络。这也是必须包括 API 和 Ingress VIP 的子网。
11.1.4. 与多节点集群相比的 SNO
取决于您要部署单节点 OpenShift 还是多节点集群,需要使用不同的值。下表更详细地说明了这一点。
参数 | SNO | 使用 DHCP 模式的多节点集群 | 没有 DHCP 模式的多节点集群 |
---|---|---|---|
| 必填 | 必填 | 必填 |
| 必填 | 必填 | 必填 |
| 可以自动分配 (*) | 可以自动分配 (*) | 可以自动分配 (*) |
| 禁止 | 禁止 | 必填 |
| 禁止 | 禁止 | 4.12 及更新的版本需要 |
| 禁止 | 禁止 | 必填 |
| 禁止 | 禁止 | 4.12 及更新的版本需要 |
如果只有一个主机网络,则机器网络 CIDR 的自动分配。否则,您需要明确指定它。
11.1.5. air-gapped 环境
在没有互联网访问的情况下部署集群的工作流有一些超出本文档范围的先决条件。您可以参阅 Zero Touch Provisioning the hard way Git repository 以了解更多信息。