跳转至

创建子网及 IP 池

本页介绍在创建工作负载使用 IP 池之前,如何创建子网及 IP 池。

  • 如部署 SpiderPool 组件时已创建子网及 IP 池,可直接使用 IP 池
  • 如需要创建新的子网及 IP 池可参考此文档。

前提条件

界面操作

  1. 登录 DCE UI 后,在左侧导航栏点击 容器管理 -> 集群列表,找到对应集群。然后在左侧导航栏点击 容器网络 -> 网络配置

    网络配置

  2. 进入 网络配置 ,确认待使用子网是否已创建。

    • 如待使用子网已默认创建,可直接创建 IP 池。

    • 如待使用子网没有默认创建,可进入页面点击 创建子网

    创建子网

    参数说明:

    • IPv4/IPv6 类型: 待创建子网的子网类型。
    • 子网: 已经规划好的子网段。如配合 Macvlan/IPvlan 使用,请提前同网络管理员确认对应网络接口/子接口所对应的网段。
    • 网关: 子网对应网关,请提前同网络同事确认。
    • VLAN ID: 子网所对应的 VLAN ID。
  3. 点击 下一步 进入 IP 选择 ,输入待使用的 IP 段(输入上述子网内 IP)。点击 确定 ,完成子网创建。

    创建子网

  4. 点击待使用的子网名称,进入子网详情页面。

    子网详情

  5. 在子网详情页,点击 创建 IP 池

    Note

    创建 IP 池为可选步骤,可根据需要进行创建。

    • 如需要对 IP 进行严管控,可提前完成 IP 池创建。
    • 如粗粒度管控 IP 资源,可不用提前创建 IP 池。

    进入创建页面,输入如下参数:

    创建 IP 池

    • 命名空间: 可以指定命名空间(命名空间管理员只能看到自己所属的 IP 池。不能看到子网。)
    • 网关: 默认继承 子网网关 ,可修改。
    • 自定义路由: 当用户有特殊路由需求时,可基于 IP 池粒度的进行自定义。
    • Multus 实例: Multus CNI 中的具体配置实例,可添加多个,添加后创建的 IPPoolMultus 实例 进行关联。 创建应用时选择 Multus 实例仅可使用已关联的 IPPool ,更多信息可参考 SpiderIPPool Affinity
    • 工作负载亲和性: 工作负载标签(如 app: workload01)。IP 池创建后,仅可被对应的工作负载选择,实现固定 IP 池效果。
    • 节点亲和性: 有3种设置方式,分别为不设置;指定节点,可多选(如节点worker1controller); 节点选择器如 zone:beijing)。IP 池创建后,工作负载 Pod 需要调度到对应节点才能使用创建的 IP 池。
    • 命名空间亲和性: 有3种设置方式,分别为不设置;指定命名空间,可多选,选择后在对应命名空间中的工作负载可使用创建的 IP 池;命名空间选择器,可输入键值自行创建。

    Note

    如果创建时不添加任何亲和性,创建后的 IP 池为共享 IP 池。 命名空间管理员 不能操作 multus cr。

  6. 点击 IP 池名称,然后点击 添加 IP 选择 IP 开始地址 以及加入 IP 池中的 IP 数量 ,点击 确定 ,完成 IP 添加,再次点击完成 IP 池创建。

    获取 IP 规则:IP 开始地址 依次获取输入对应数量的 IP,IP 段如不是连续的 IP,则跳过中间断档 IP,依次往后获取。

    添加 IP

  7. 创建完成后,点击 IP 池名称可看到 IP 管理页面

    迁移 IP: 勾选需要迁移的 IP -> 点击 迁移 IP 按钮 -> 选择目标 IP 池完成迁移(同一个 Namespace 的 IP 池可以优雅迁移)。

    移除 IP: 勾选需要移除的 IP -> 点击 移除 IP 按钮 -> 确认后完成 IP 移除。

    迁移IP

  8. 创建完成后工作负载即可使用 IP 池

YAML 创建

也可以直接通过 YAML 来创建子网和 IPPool。

YAML 创建子网

apiVersion: spiderpool.spidernet.io/v2beta1
kind: SpiderSubnet
metadata:
  name: subnet-demo-v4
spec:
  subnet: 172.16.0.0/16
  ips:
    - 172.16.41.1-172.16.41.200  # (1)!
  subnet: 172.30.120.0/21
  vlan: 0
  1. 已规划子网 IP,可输入IP 段,如 72.30.120.126-172.30.120.127 段或单个 IP 172.30.120.126

YAML 创建 IPPool

apiVersion: spiderpool.spidernet.io/v2beta1
kind: SpiderIPPool
metadata:
  name: standard-ipv4-ippool
spec:
  ipVersion: 4
  subnet: 172.30.120.0/21
  ips:
  - 172.30.120.126-172.30.120.127  # (1)!
  1. 已添加至子网内的 IP, 可输入 IP 段如 172.30.120.126-172.30.120.127 段或单个 IP 172.30.120.126

评论