Quando si crea uno spazio dei nomi Kubernetes, è possibile specificare le subnet per lo spazio dei nomi con l'annotazione ncp/subnets se SNAT non è configurato per lo spazio dei nomi. Le subnet verranno utilizzate per allocare gli indirizzi IP ai pod nello spazio dei nomi.

Per abilitare questa funzionalità, impostare enable_namespace_subnets su True nella sezione [K8s] di ncp.ini. Il valore predefinito è False. Una volta impostato su True, non sarà necessario impostarlo nuovamente su False.

Dettagli su questa funzionalità:
  • Il valore dell'annotazione ncp/subnets deve essere un elenco di indirizzi IP separati da virgole nel formato CIDR.
  • È possibile aggiornare l'annotazione con subnet aggiuntive.
  • Se viene creato un pod nello spazio dei nomi e non è disponibile alcun indirizzo IP dalle subnet, lo spazio dei nomi viene annotato con l'errore NAMESPACE_SUBNETS_EXHAUSTED. È possibile aggiornare l'annotazione ncp/subnets con subnet aggiuntive e al pod verrà allocato un indirizzo IP.
  • È possibile rimuovere una subnet dall'annotazione se da tale annotazione non è stato allocato alcun indirizzo IP.
  • Questa funzionalità è supportata solo in modalità criterio.
  • Questa funzionalità è supportata solo per i nuovi spazi dei nomi.
  • L'aggiunta dell'annotazione a uno spazio dei nomi esistente non è supportata. Lo spazio dei nomi verrà annotato con l'errore SUBNETS_ON_EXISTING_NAMESPACE_NOT_SUPPORTED.
  • La rimozione dell'annotazione non è supportata. Se si rimuove l'annotazione, NCP la aggiungerà nuovamente e mostrerà un avviso nel registro NCP.
  • Questa funzionalità non è supportata in Tanzu Application Service (INAA), Tanzu Kubernetes Grid Integrated (TKGI) o vSphere with Kubernetes.
  • Sono supportati sia IPv4 che IPv6.
  • La rimozione di una subnet dall'annotazione verrà ignorata se è stato allocato un indirizzo IP dalla subnet. NCP aggiungerà nuovamente la subnet e mostrerà un errore.