创建子网(Calico 网络)

在 Calico 网络中创建子网,以实现集群内资源网络隔离的更细粒度控制。

限制与限制条件

在 IPv6 集群环境中,默认情况下,在 Calico 网络中创建的子网使用 VXLAN 封装。VXLAN 封装所需的端口与 IPIP 封装的端口不同。您需要确保 UDP 端口 4789 是开放的。

IP 分配规则

注意:如果项目或命名空间分配了多个子网,则会从其中一个子网随机选择一个 IP 地址。

  • 项目分配:

    • 如果项目未绑定到子网,则该项目下所有命名空间中的 Pods 只能使用默认子网中的 IP 地址。如果默认子网中的 IP 地址不足,Pods 将无法启动。
    • 如果项目绑定到子网,则该项目下所有命名空间中的 Pods 只能使用该特定子网中的 IP 地址。
  • 命名空间分配:

    • 如果命名空间未绑定到子网,则该命名空间中的 Pods 只能使用默认子网中的 IP 地址。如果默认子网中的 IP 地址不足,Pods 将无法启动。
    • 如果命名空间绑定到子网,则该命名空间中的 Pods 只能使用该特定子网中的 IP 地址。

创建子网及分配项目或命名空间

  1. 进入 平台管理

  2. 在左侧导航栏中,单击 网络管理 > 子网

  3. 单击 创建子网

  4. 根据以下说明配置相关参数。

    参数描述
    CIDR在将子网分配给项目或命名空间后,命名空间内的容器组会随机使用此 CIDR 范围内的 IP 地址进行通信。
    注意:有关 CIDR 和 BlockSize 之间的对应关系,请参见 参考内容
    封装协议选择封装协议。 IPIP 不支持双栈模式。
    • IPIP: 使用 IPIP 协议实现跨段通信。
    • VXLAN (Alpha): 使用 VXLAN 协议实现跨段通信。
    • 无封装: 通过路由转发直接连接。
    封装模式当封装协议为 IPIPVXLAN 时,必须设置封装模式,默认为 始终
    • 始终: 始终启用 IPIP / VXLAN 隧道。
    • 跨子网: 仅在主机处于不同子网时启用 IPIP / VXLAN 隧道;主机在同一子网时通过路由转发直接连接。
    出站流量 NAT选择是否启用出站流量 NAT(网络地址转换),默认启用。
    主要用于设置子网容器组访问外部网络时暴露给外部网络的访问地址。
    当启用出站流量 NAT 时,主机 IP 将作为当前子网容器组的访问地址;当未启用时,子网中的容器组 IP 将直接暴露给外部网络。
  5. 单击 确认

  6. 在子网详情页面,选择 操作 > 分配项目 / 分配命名空间

  7. 完成配置并单击 分配

参考内容

CIDR 与 blockSize 之间的动态匹配关系如下表所示。

CIDRblockSize 大小主机数量单个 IP 池的大小
prefix<=16261024+64
16<prefix<=1927256~102432
prefix=202825616
prefix=21292568
prefix=22302564
prefix=23301284
prefix=2430644
prefix=2530324
prefix=2631322
prefix=2731162
prefix=283182
prefix=293142
prefix=303122
prefix=313112

注意:不支持前缀大于 31 的子网配置。