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.