Sono disponibili due metodi per configurare determinate risorse di rete per NCP. In questa sezione viene descritta la configurazione delle risorse in modalità Criterio.
Nel file di configurazione di NCP ncp.ini è necessario specificare le risorse di NSX utilizzando i rispettivi ID. Il nome e l'ID di una risorsa sono in genere uguali. Per essere completamente sicuri, nell'interfaccia utente Web di NSX Manager fare clic sull'icona con 3 punti che consente di visualizzare le opzioni per una risorsa e selezionare Copia percorso negli Appunti. Incollare il percorso in un'applicazione come Blocco note. L'ultima parte del percorso è l'ID della risorsa.
Gateway e segmento
- Creare un segmento per i nodi Kubernetes, ad esempio Segment1.
- Creare un gateway di livello 0, ad esempio T0GW1. Impostare l'opzione top_tier_router nella sezione [nsx_v3] di ncp.ini con l'ID del gateway se non si dispone di una topologia di livello 1 condivisa. Per informazioni sulla configurazione di una topologia di livello 1 condivisa, vedere di seguito. Impostare la modalità HA su Attivo-Standby se si intende configurare regole NAT in questo gateway. In caso contrario, impostarla su Attivo-Attivo. Abilitare la ridistribuzione della route. Configurare inoltre il gateway per l'accesso alla rete esterna.
- Creare un gateway di livello 1, ad esempio T1GW1. Connettere questo gateway al gateway di livello 0.
- Configurare l'annuncio del router per T1GW1. È necessario abilitare almeno le route connesse a NSX e NAT.
- Connettere T1GW1 a Segment1. Assicurarsi che l'indirizzo IP della porta del gateway non sia in conflitto con gli indirizzi IP dei nodi Kubernetes.
- Per ogni macchina virtuale del nodo, assicurarsi che la vNIC per il traffico del container sia collegata al commutatore logico creato automaticamente. È disponibile nella scheda Rete con lo stesso nome del segmento, ovvero Segment1.
Tag | Ambito |
---|---|
Nome nodo | ncp/node_name |
Nome cluster | ncp/cluster |
kubectl get nodes
Se si desidera estendere il cluster Kubernetes mentre NCP è in esecuzione, ad esempio aggiungendo altri nodi al cluster, è necessario aggiungere i tag alle porte del commutatore corrispondente prima di eseguire "kubeadm join". Se si dimentica di aggiungere i tag prima di eseguire "kubeadm join", i nuovi nodi non avranno connettività. In questo caso, sarà necessario aggiungere i tag e riavviare NCP per risolvere il problema.
/api/v1/fabric/virtual-machines
/api/v1/search -G --data-urlencode "query=(resource_type:VirtualMachine AND display_name:<node_vm_name>)"
/api/v1/search -G --data-urlencode \ "query=(resource_type:VirtualNetworkInterface AND external_id:<node_vm_ext_id> AND \ _exists_:lport_attachment_id)"
L'attributo lport_attachment_id è l'ID VIF per la macchina virtuale del nodo. È quindi possibile trovare la porta logica per questo VIF e aggiungere i tag necessari.
Blocchi di IP per i pod Kubernetes
Passare a container_ip_blocks nella sezione [nsx_v3] di ncp.ini immettere gli UUID dei blocchi di IP. Se si desidera che NCP crei automaticamente blocchi di IP, è possibile impostare nell'opzione container_ip_blocks un elenco di indirizzi separati da virgola in formato CIDR.
per creare uno o più blocchi di IP. Specificare il blocco di IP in formato CIDR. InPer impostazione predefinita, i progetti condividono i blocchi di IP specificati in container_ip_blocks. È possibile creare blocchi di IP in modo specifico per gli spazi dei nomi non SNAT (per Kubernetes) o i cluster (per TAS) impostando l'opzione no_snat_ip_blocks nella sezione [nsx_v3] di ncp.ini.
Se si creano blocchi di IP non SNAT mentre NCP è in esecuzione, è necessario riavviare NCP. In caso contrario, NCP continuerà a utilizzare i blocchi di IP condivisi finché non verranno esauriti.
Quando si crea un blocco di IP, il prefisso non può essere maggiore del valore dell'opzione subnet_prefix nel file di configurazione di NCP ncp.ini. Il valore predefinito è 24.
Non modificare il blocco di IP se NCP ha avviato l'allocazione degli indirizzi IP da tale blocco. Se si desidera utilizzare un blocco diverso, assicurarsi che NCP non abbia allocato alcun indirizzo dal blocco.
Pool di IP esterni
Un pool di IP esterni viene utilizzato per l'allocazione degli indirizzi IP che verranno usati per la conversione degli IP pod mediante le regole SNAT e per l'esposizione dei controller in ingresso e dei servizi di tipo LoadBalancer utilizzando le regole SNAT/DNAT, come gli IP mobili di OpenStack. Questi indirizzi IP vengono denominati anche IP esterni.
Passare a external_ip_pools nella sezione [nsx_v3] di ncp.ini gli UUID dei pool di IP. Se si desidera che NCP crei automaticamente pool di IP, è possibile immettere nell'opzione external_ip_pools un elenco di indirizzi separati da virgola in formato CIDR o intervalli di IP.
per creare un pool di IP. Immettere nell'opzionePiù cluster Kubernetes utilizzano lo stesso pool di IP esterni. Ogni istanza di NCP utilizza un sottoinsieme di questo pool per il cluster Kubernetes che gestisce. Per impostazione predefinita, verrà utilizzato lo stesso prefisso di subnet per le subnet del pod. Per utilizzare dimensioni di subnet diverse, aggiornare l'opzione external_subnet_prefix nella sezione [nsx_v3] di ncp.ini.
È possibile passare a un pool di IP diverso modificando il file di configurazione e riavviando NCP.
Non modificare il pool di IP se NCP ha avviato l'allocazione degli indirizzi IP da tale pool. Se si desidera utilizzare un pool diverso, assicurarsi che NCP non abbia allocato alcun indirizzo dal pool.
Topologia di livello 1 condivisa
- Impostare l'opzione top_tier_router sull'ID di un gateway di livello 1. Connettere il gateway di livello 1 a un gateway di livello 0 per connessioni esterne.
- Se è abilitato il traffico SNAT per pod, modificare l'uplink del segmento per i nodi Kubernetes impostandolo sullo stesso gateway di livello 0 o di livello 1 impostato in top_tier_router.
- Impostare l'opzione single_tier_topology su True. Il valore predefinito è False.
- Se si desidera che NCP configuri automaticamente il router di livello superiore come gateway di livello 1, annullare l'impostazione dell'opzione top_tier_router e impostare l'opzione tier0_gateway. NCP creerà un gateway di livello 1 e ne eseguirà l'uplink al gateway di livello 0 specificato nell'opzione tier0_gateway.
Nota: dopo aver impostato l'opzione top_tier_router e aver creato alcuni spazi dei nomi, non è possibile aggiornare top_tier_router impostando un valore diverso e riavviare NCP. Questa operazione non è supportata.