如果一个项目或命名空间被分配了多个子网,IP 地址将从其中一个子网中随机选择。
项目分配:
命名空间分配:
在 Calico 网络中创建子网,实现集群内资源更细粒度的网络隔离。
在 IPv6 集群环境中,Calico 网络内创建的子网默认使用 VXLAN 封装。VXLAN 封装所需端口与 IPIP 封装不同,需要确保 UDP 端口 4789 已开放。
default 为 true 时,使用 VXLAN 封装。进入 管理员。
在左侧导航栏点击 网络管理 > 子网。
点击 创建子网。
参考以下说明配置相关参数。
| 参数 | 说明 |
|---|---|
| CIDR | 将子网分配给项目或命名空间后,该命名空间内的容器组将随机使用该 CIDR 范围内的 IP 进行通信。 注意:CIDR 与 BlockSize 的对应关系请参考参考内容。 |
| 封装协议 | 选择封装协议。双栈模式下不支持 IPIP。
|
| 封装模式 | 当封装协议为 IPIP 或 VXLAN 时,必须设置封装模式,默认为 Always。
|
| 出站流量 NAT | 选择是否启用出站流量 NAT(网络地址转换),默认启用。 主要用于设置子网容器组访问外网时暴露的访问地址。 启用出站流量 NAT 时,使用主机 IP 作为当前子网容器组的访问地址;未启用时,子网内容器组的 IP 将直接暴露给外网。 |
点击 确认。
在子网详情页,选择 操作 > 分配项目 / 分配命名空间。
完成配置后点击 分配。
CIDR 与 blockSize 的动态匹配关系如下表所示。
| CIDR | blockSize 大小 | 主机数量 | 单个 IP 池大小 |
|---|---|---|---|
prefix<=16 | 26 | 1024+ | 64 |
16<prefix<=19 | 27 | 256~1024 | 32 |
prefix=20 | 28 | 256 | 16 |
prefix=21 | 29 | 256 | 8 |
prefix=22 | 30 | 256 | 4 |
prefix=23 | 30 | 128 | 4 |
prefix=24 | 30 | 64 | 4 |
prefix=25 | 30 | 32 | 4 |
prefix=26 | 31 | 32 | 2 |
prefix=27 | 31 | 16 | 2 |
prefix=28 | 31 | 8 | 2 |
prefix=29 | 31 | 4 | 2 |
prefix=30 | 31 | 2 | 2 |
prefix=31 | 31 | 1 | 2 |
不支持前缀大于 31 的子网配置。
在 Kube-OVN Overlay 网络中创建子网,实现集群内资源更细粒度的网络隔离。
平台内置了用于节点与 Pods 通信的 join 子网;请避免 join 与新建子网之间的网段冲突。
distributed 或 centralized。进入 管理员。
在左侧导航栏点击 网络管理 > 子网。
点击 创建子网。
参考以下说明配置相关参数。
| 参数 | 说明 |
|---|---|
| 网段 | 将子网分配给项目或命名空间后,该网段内的 IP 将随机分配给 Pods 使用。 |
| 保留 IP | 设置的保留 IP 不会被自动分配。例如,可用作计算组件的 固定 IP。 |
| 网关类型 | 选择子网的网关类型以控制出站流量。 - Distributed:集群中每个主机都可作为当前主机上 Pods 的出站节点,实现分布式出口。 - Centralized:集群中所有 Pods 使用一个或多个特定主机作为出站节点,便于外部审计和防火墙控制。设置多个集中式 网关节点 可实现高可用。 |
| ECMP (Alpha) | 选择 Centralized 网关时,可使用 ECMP 功能。默认网关为主备模式,只有主网关处理流量。启用 ECMP(等价多路径路由)后,出站流量将通过多个等价路径路由到所有可用网关节点,从而提升网关总吞吐量。 注意:请提前开启 ECMP 相关功能。 |
| 网关节点 | 使用 Centralized 网关时,选择一个或多个特定主机作为网关节点。 |
| 出站流量 NAT | 选择是否启用出站流量 NAT(网络地址转换),默认启用。 主要用于设置子网内 Pods 访问外网时暴露的访问地址。 启用出站流量 NAT 时,使用主机 IP 作为当前子网 Pods 的访问地址;未启用时,子网内 Pods 的 IP 将直接暴露给外网,建议此时使用集中式网关。 |
点击 确认。
在子网详情页,选择 操作 > 分配项目 / 命名空间。
完成配置后点击 分配。
在 Kube-OVN Underlay 网络中创建子网,不仅实现资源更细粒度的网络隔离,还能提供更优的性能体验。
Kube-OVN Underlay 中的容器网络需要物理网络支持。请参考最佳实践 准备 Kube-OVN Underlay 物理网络 以确保网络连通性。
在 Kube-OVN Underlay 网络中创建子网的一般流程为:添加桥接网络 > 添加 VLAN > 创建子网。
桥接网络即桥接,绑定网卡到桥接后可转发容器网络流量,实现与物理网络的互通。
操作步骤:
进入 管理员。
在左侧导航栏点击 网络管理 > 桥接网络。
点击 添加桥接网络。
根据以下说明配置相关参数。
注意:
目标 Pod 指当前节点上调度的所有 Pods,或绑定特定子网的命名空间中调度到当前节点的 Pods,取决于桥接网络下子网的范围。
Underlay 子网中的节点必须有多块网卡,桥接网络使用的网卡必须专属给 Underlay,不能承载其他流量,如 SSH。例如,若桥接网络有三个节点计划使用 eth0、eth0、eth1 专属给 Underlay,则默认网卡可设置为 eth0,节点三的网卡可设置为 eth1。
| 参数 | 说明 |
|---|---|
| 默认网卡名称 | 默认情况下,目标 Pod 会使用该网卡作为桥接网络卡与物理网络通信。 |
| 按节点配置网卡 | 配置节点后,目标节点上的 Pod 会桥接到指定网卡,而非默认网卡。 |
| 排除节点 | 被排除的节点上调度的所有 Pods 不会桥接到该节点的任何网卡。 注意:排除节点上的 Pods 无法与物理网络或跨节点容器网络通信,需避免调度相关 Pods 到这些节点。 |
点击 添加。
平台预配置了 ovn-vlan 虚拟局域网,连接到 provider 桥接网络。也可配置新的 VLAN 连接其他桥接网络,实现 VLAN 之间的网络隔离。
操作步骤:
进入 管理员。
在左侧导航栏点击 网络管理 > VLAN。
点击 添加 VLAN。
根据以下说明配置相关参数。
| 参数 | 说明 |
|---|---|
| VLAN ID | VLAN 的唯一标识,用于区分不同虚拟局域网。 |
| 桥接网络 | VLAN 将连接到该桥接网络,实现与物理网络的互通。 |
点击 添加。
平台还预配置了用于 Overlay 传输模式下节点与 Pods 通信的 join 子网。Underlay 传输模式下不使用该子网,避免 join 与其他子网 IP 段冲突非常重要。
操作步骤:
进入 管理员。
在左侧导航栏点击 网络管理 > 子网。
点击 创建子网。
根据以下说明配置相关参数。
| 参数 | 说明 |
|---|---|
| VLAN | 子网所属的 VLAN。 |
| 子网 | 将子网分配给项目或命名空间后,物理子网内的 IP 将随机分配给 Pods 使用。 |
| 网关 | 上述子网内的物理网关。 |
| 保留 IP | 指定的保留 IP 不会被自动分配。例如,可用作计算组件的 固定 IP。 |
点击 确认。
在子网详情页,选择 操作 > 分配项目 / 命名空间。
完成配置后点击 分配。
当集群中同时存在 Underlay 和 Overlay 子网时,可根据需要配置Underlay 与 Overlay 子网自动互通。
包括更改出站流量方式、网关节点和 NAT 配置。
进入 管理员。
在左侧栏点击 网络管理 > 子网。
点击子网名称。
选择 操作 > 更新网关。
更新参数配置,详情参考参数说明。
点击 确定。
网关 IP 不能从保留 IP 中移除,其他保留 IP 可自由编辑、删除或添加。
进入 管理员。
在左侧栏点击 网络管理 > 子网。
点击子网名称。
选择 操作 > 更新保留 IP。
完成更新后点击 更新。
将子网分配给特定项目,有助于团队更好地管理和隔离不同项目的网络流量,确保每个项目拥有充足的网络资源。
进入 管理员。
在左侧栏点击 网络管理 > 子网。
点击子网名称。
选择 操作 > 分配项目。
添加或移除项目后点击 分配。
将子网分配给特定命名空间,实现更细粒度的网络隔离。
注意:分配过程会重建网关,出站数据包将被丢弃!请确保当前无业务应用访问外部集群。
进入 管理员。
在左侧栏点击 网络管理 > 子网。
点击子网名称。
选择 操作 > 分配命名空间。
添加或移除命名空间后点击 分配。
当子网保留 IP 范围达到使用上限或即将耗尽时,可基于原子网范围进行扩容,不影响现有服务的正常运行。
进入 管理员。
在左侧栏点击 网络管理 > 子网。
点击子网名称。
选择 操作 > 扩容子网。
完成配置后点击 更新。
删除子网时,如果仍有容器组使用该子网内的 IP,容器组可继续运行且 IP 不变,但无法进行网络通信。可重建容器组使用默认子网内 IP,或为容器组所在命名空间分配新的子网使用。
默认子网不可删除。
进入 管理员。
在左侧导航栏点击 网络管理 > 子网。
点击 ⋮ > 删除,执行删除操作。