创建 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 将重新添加该子网并记录错误。