配置子网
目录
IP 分配规则
如果一个项目或命名空间被分配了多个子网,将会随机从其中一个子网中选择一个 IP 地址。
-
项目分配:
- 如果一个项目没有绑定到子网,则该项目下所有命名空间中的 Pods 只能使用默认子网中的 IP 地址。如果默认子网中的 IP 地址不足,Pods 将无法启动。
- 如果一个项目绑定到子网,则该项目下所有命名空间中的 Pods 只能使用该特定子网中的 IP 地址。
-
命名空间分配:
- 如果一个命名空间没有绑定到子网,则该命名空间中的 Pods 只能使用默认子网中的 IP 地址。如果默认子网中的 IP 地址不足,Pods 将无法启动。
- 如果一个命名空间绑定到子网,则该命名空间中的 Pods 只能使用该特定子网中的 IP 地址。
Calico 网络
在 Calico 网络中创建子网,以实现集群内资源的更细粒度的网络隔离。
约束和限制
在 IPv6 集群环境中,默认情况下,在 Calico 网络中创建的子网使用 VXLAN 封装。所需的 VXLAN 封装端口与 IPIP 封装的端口不同。您需要确保 UDP 端口 4789 是开放的。
使用 Calico 网络的示例子网自定义资源 (CR)
- 当
default为 true 时,使用 VXLAN 封装。 - 请参见封装模式参数和封装协议参数。
- 请参见出站流量 NAT 参数。
通过 Web 控制台在 Calico 网络中创建子网
-
转到 平台管理。
-
在左侧导航栏中,单击 网络管理 > 子网。
-
单击 创建子网。
-
根据以下说明配置相关参数。
-
单击 确认。
-
在子网详细信息页面,选择 操作 > 分配项目 / 分配命名空间。
-
完成配置并单击 分配。
通过 CLI 在 Calico 网络中创建子网
参考内容
CIDR 和 blockSize 之间的动态匹配关系如下表所示。
不支持前缀大于 31 的子网配置。
Kube-OVN 网络
在 Kube-OVN Overlay 网络中创建子网,以实现集群内资源的更细粒度的网络隔离。
平台内置了 join 子网,用于节点和 Pods 之间的通信;请避免 join 和新创建的子网之间的网络段冲突。
使用 Kube-OVN Overlay 网络的示例子网自定义资源 (CR)
- 请参见出站流量 NAT 参数。
- 请参见保留 IP 参数。
- 请参见网关类型参数。可用值为
distributed或centralized。 - 请参见网关节点参数。
- 请参见 ECMP 参数。前提是您联系管理员启用该功能。
通过 Web 控制台在 Kube-OVN Overlay 网络中创建子网
-
转到 平台管理。
-
在左侧导航栏中,单击 网络管理 > 子网。
-
单击 创建子网。
-
根据以下说明配置相关参数。
-
单击 确认。
-
在子网详细信息页面,选择 操作 > 分配项目 / 命名空间。
-
完成配置并单击 分配。
通过 CLI 在 Kube-OVN Overlay 网络中创建子网
下层网络
在 Kube-OVN 下层网络中创建子网,不仅可以实现资源的更细粒度网络隔离,还可以提供更好的性能体验。
Kube-OVN 下层的容器网络需要物理网络的支持。请参阅最佳实践 准备 Kube-OVN 下层物理网络 以确保网络连接。
使用说明
在 Kube-OVN 下层网络中创建子网的一般流程为:添加桥接网络 > 添加 VLAN > 创建子网。
- 默认网络卡名称。
- 按节点配置网络卡。
通过 Web 控制台添加桥接网络(可选)
- 默认网络卡名称。
- 按节点配置网络卡。
桥接网络是指一个桥接,在将网络卡绑定到桥接后,可以转发容器网络流量,实现与物理网络的互通。
操作步骤:
-
转到 平台管理。
-
在左侧导航栏中,单击 网络管理 > 桥接网络。
-
单击 添加桥接网络。
-
根据以下说明配置相关参数。
注意:
-
目标 Pod 是指调度在当前节点上的所有 Pods 或调度到当前节点的绑定到特定子网的命名空间中的 Pods。这取决于桥接网络下子网的范围。
-
下层子网中的节点必须具有多个网络卡,桥接网络使用的网络卡必须专门分配给下层,不能承载其他流量,例如 SSH。例如,如果桥接网络有三个节点计划使用 eth0、eth0、eth1 专门用于下层,则默认网络卡可以设置为 eth0,节点三的网络卡可以设置为 eth1。
-
-
单击 添加。
通过 CLI 添加桥接网络
通过 Web 控制台添加 VLAN(可选)
- VLAN ID。
- 桥接网络引用。
平台预配置了 ovn-vlan 虚拟局域网,将连接到 provider 桥接网络。您还可以配置新的 VLAN 连接到其他桥接网络,从而实现 VLAN 之间的网络隔离。
操作步骤:
-
转到 平台管理。
-
在左侧导航栏中,单击 网络管理 > VLAN。
-
单击 添加 VLAN。
-
根据以下说明配置相关参数。
-
单击 添加。
通过 CLI 添加 VLAN
使用 Kube-OVN 下层网络的示例子网自定义资源 (CR)
- VLAN 引用。
通过 Web 控制台在 Kube-OVN 下层网络中创建子网
平台还预配置了 join 子网,用于在 Overlay 传输模式下节点和 Pods 之间的通信。此子网在下层传输模式下将不被使用,因此必须避免 join 和其他子网之间的 IP 段冲突。
操作步骤:
-
转到 平台管理。
-
在左侧导航栏中,单击 网络管理 > 子网。
-
单击 创建子网。
-
根据以下说明配置相关参数。
-
单击 确认。
-
在子网详细信息页面,选择 操作 > 分配项目 / 命名空间。
-
完成配置并单击 分配。
通过 CLI 在 Kube-OVN 下层网络中创建子网
相关操作
当集群中同时存在下层和 Overlay 子网时,您可以根据需要配置 下层和 Overlay 子网之间的自动互通。
子网管理
通过 Web 控制台更新网关
这包括更改出站流量方式、网关节点和 NAT 配置。
-
转到 平台管理。
-
在左侧边栏中,单击 网络管理 > 子网。
-
单击子网的名称。
-
选择 操作 > 更新网关。
-
更新参数配置;有关详细信息,请参见 参数描述。
-
单击 确定。
通过 CLI 更新网关
通过 Web 控制台更新保留 IP
网关 IP 不能从保留 IP 中删除,而其他保留 IP 可以自由编辑、删除或添加。
-
转到 平台管理。
-
在左侧边栏中,单击 网络管理 > 子网。
-
单击子网的名称。
-
选择 操作 > 更新保留 IP。
-
更新完成后,单击 更新。
通过 CLI 更新保留 IP
通过 Web 控制台分配项目
将子网分配给特定项目有助于团队更好地管理和隔离不同项目的网络流量,确保每个项目有足够的网络资源。
-
转到 平台管理。
-
在左侧边栏中,单击 网络管理 > 子网。
-
单击子网的名称。
-
选择 操作 > 分配项目。
-
添加或移除项目后,单击 分配。
通过 CLI 分配项目
通过 Web 控制台分配命名空间
将子网分配给特定命名空间可以实现更细粒度的网络隔离。
注意:分配过程将重建网关,出站数据包将被丢弃!请确保当前没有业务应用程序正在访问外部集群。
-
转到 平台管理。
-
在左侧边栏中,单击 网络管理 > 子网。
-
单击子网的名称。
-
选择 操作 > 分配命名空间。
-
添加或移除命名空间后,单击 分配。
通过 CLI 分配命名空间
通过 Web 控制台扩展子网
当子网的保留 IP 范围达到使用限制或即将耗尽时,可以根据原子网范围进行扩展,而不会影响现有服务的正常运行。
-
转到 平台管理。
-
在左侧边栏中,单击 网络管理 > 子网。
-
单击子网的名称。
-
选择 操作 > 扩展子网。
-
完成配置并单击 更新。
通过 CLI 扩展子网
管理 Calico 网络
支持分配项目和命名空间;有关详细信息,请参见 项目分配 和 命名空间分配。
通过 Web 控制台删除子网
-
当子网被删除时,如果仍有容器组使用子网内的 IP,容器组可以继续运行,IP 地址将保持不变,但它们将无法通过网络进行通信。容器组可以重建以使用默认子网内的 IP,或为容器组所在的命名空间分配新的子网以供使用。
-
默认子网无法删除。
-
转到 平台管理。
-
在左侧导航栏中,单击 网络管理 > 子网。
-
单击 ⋮ > 删除,并继续进行删除。