配置 IPPool
IPPool 是比 Subnet 更细粒度的 IPAM 管理单元。
你可以通过 IPPool 将子网段细分为多个单元,每个单元绑定一个或多个命名空间。
说明
创建 IPPool
示例如下:
- IP 池所属的子网。
- IP 范围。支持的格式:<IP>、<CIDR> 和 <IP1>..<IP2>。同时支持 IPv4 和 IPv6。
- 可选,IP 池绑定的命名空间。已绑定命名空间中的 Pod 只会从绑定的池中获取 IP,而不会从子网中的其他范围获取。
使用 IPPool
要从 IP 池中随机分配 IP,只需将 IP 池绑定到目标命名空间即可。
当在已绑定命名空间中创建 Pod 时,其 IP 将从相应的 IP 池中分配。
NOTE
在将 IP 池绑定到命名空间之前,请确保该命名空间仅绑定了 IP 池所属的子网。
你也可以通过 annotation 将 IP 池分配给 Pod:
对于 workload,请在 Deployment、StatefulSet 等的 Pod 模板中使用 annotation:
注意事项
- 为确保与 Fixed Addresses 功能兼容,IP 池名称不能是 IP 地址。
- 允许使用超出子网范围的 IP 地址,但这些 IP 不会生效。
- 属于同一子网的不同 IP 池不能具有重叠的 IP 范围。
- 可以根据需要随时更新
.spec.ips字段,任何更改都会立即生效。 - IP 池会继承子网的保留 IP。在从 IP 池中随机分配 IP 地址时,会跳过 IP 池范围内的保留 IP。
- 在从子网中随机分配 IP 地址时,将排除该子网中所有 IP 池的 IP 范围。
- 多个 IP 池可以绑定到同一个命名空间。