创建 Kubernetes 命名空间时,如果没有为命名空间配置 SNAT,则可以使用注释 ncp/subnets 指定命名空间的子网。将使用这些子网来将 IP 地址分配给命名空间中的 Pod。
要启用此功能,请在 ncp.ini 的 [K8s]
部分下将 enable_namespace_subnets 设置为 True
。默认值为 False
。设置为 True
后,不得将其重新设置为 False
。
有关此功能的详细信息:
- ncp/subnets 注释的值应为以逗号分隔的 CIDR 格式的 IP 地址列表。
- 您可以使用其他子网更新此注释。
- 如果在命名空间中创建 Pod 时,子网中没有可用的 IP 地址,则命名空间将被注释为出现 NAMESPACE_SUBNETS_EXHAUSTED 错误。您可以使用其他子网更新 ncp/subnets 注释,并为该 Pod 分配一个 IP 地址。
- 如果未从某个子网中分配 IP 地址,则可以从此注释中移除该子网。
- 仅在策略模式下支持此功能。
- 仅新命名空间支持此功能。
- 不支持为现有命名空间添加此注释。该命名空间将被注释为出现 SUBNETS_ON_EXISTING_NAMESPACE_NOT_SUPPORTED 错误。
- 不支持移除此注释。如果移除此注释,NCP 将重新添加此注释,并在 NCP 日志中记录警告消息。
- Tanzu Application Service (TAS)、Tanzu Kubernetes Grid Integrated (TKGI) 或 vSphere with Kubernetes 不支持此功能。
- 支持 IPv4 和 IPv6。
- 如果已从某个子网中分配 IP 地址,则从此注释中移除该子网操作将被忽略。NCP 将重新添加该子网并记录错误。