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.