Lorsque vous créez un espace de noms Kubernetes, vous pouvez spécifier des sous-réseaux pour l'espace de noms avec l'annotation ncp/subnets si SNAT n'est pas configuré pour l'espace de noms. Les sous-réseaux seront utilisés pour allouer des adresses IP aux espaces dans l'espace de noms.

Pour activer cette fonctionnalité, définissez enable_namespace_subnets sur True sous la section [K8s] de ncp.ini. La valeur par défaut est False. Une fois défini sur True, vous ne devez pas le définir de nouveau sur False.

Détails de cette fonctionnalité :
  • La valeur de l'annotation ncp/subnets doit être une liste d'adresses IP séparées par des virgules au format CIDR.
  • Vous pouvez mettre à jour l'annotation avec des sous-réseaux supplémentaires.
  • Si un espace est créé dans l'espace de noms et qu'aucune adresse IP des sous-réseaux n'est disponible, l'espace de noms est annoté avec l'erreur NAMESPACE_SUBNETS_EXHAUSTED. Vous pouvez mettre à jour l'annotation ncp/subnets avec des sous-réseaux supplémentaires et une adresse IP sera allouée à l'espace.
  • Vous pouvez supprimer un sous-réseau de l'annotation si aucune adresse IP n'y a été allouée.
  • Cette fonctionnalité n'est prise en charge qu'en mode stratégie.
  • Cette fonctionnalité est uniquement prise en charge pour les nouveaux espaces de noms.
  • L'ajout de l'annotation à un espace de noms existant n'est pas pris en charge. L'espace de noms sera annoté avec l'erreur SUBNETS_ON_EXISTING_NAMESPACE_NOT_SUPPORTED.
  • La suppression de l'annotation n'est pas prise en charge. Si vous supprimez l'annotation, NCP l'ajoutera de nouveau et consignera un avertissement dans le journal NCP.
  • Cette fonctionnalité n'est pas prise en charge sur Tanzu Application Service (TAS), Tanzu Kubernetes Grid Integrated (TKGI) ou vSphere with Kubernetes.
  • IPv4 et IPv6 sont pris en charge.
  • La suppression d'un sous-réseau de l'annotation sera ignorée si une adresse IP du sous-réseau a été allouée. NCP rajoutera le sous-réseau et consignera une erreur.