In un ambiente vSphere IaaS control plane, un Supervisore può utilizzare uno stack di rete di vSphere o NSX per fornire connettività ai carichi di lavoro, ai servizi e alle macchine virtuali del piano di controllo del Supervisore.

Quando un Supervisore è configurato con lo stack di rete di vSphere, tutti gli host del Supervisore sono connessi a un vDS che fornisce connettività ai carichi di lavoro e alle macchine virtuali del piano di controllo del Supervisore. Un Supervisore che utilizza lo stack di rete di vSphere richiede un bilanciamento del carico nella rete di gestione del vCenter Server per fornire connettività agli utenti DevOps e ai servizi esterni.

Un Supervisore configurato con NSX utilizza le reti basate su software della soluzione e un bilanciamento del carico NSX Edge o NSX Advanced Load Balancer per fornire connettività ai servizi esterni e agli utenti DevOps. È possibile configurare l' NSX Advanced Load Balancer in NSX se l'ambiente soddisfa le seguenti condizioni:
  • La versione di NSX è 4.1.1 o successiva.
  • La versione NSX Advanced Load Balancer è 22.1.4 o successiva con la licenza Enterprise.
  • L'NSX Advanced Load Balancer Controller che si intende configurare è registrato in NSX.
  • Nel Supervisore non è già configurato un bilanciamento del carico NSX.

Rete del Supervisore con VDS

In un Supervisore supportato da VDS come stack di rete, tutti gli host dei cluster vSphere che supportano il Supervisore devono essere connessi allo stesso VDS. Supervisore utilizza gruppi di porte distribuite come reti per i carichi di lavoro Kubernetes e il traffico del piano di controllo. Assegnare le reti di carichi di lavoro agli spazi dei nomi nel Supervisore.

In base alla topologia implementata per il Supervisore, è possibile utilizzare uno o più gruppi di porte distribuite come reti di carichi di lavoro. La rete che fornisce connettività alle macchine virtuali del piano di controllo del Supervisore viene denominata rete del carico di lavoro primaria. Questa rete può essere assegnata a tutti gli spazi dei nomi nel Supervisore oppure è possibile utilizzare reti diverse per ogni spazio dei nomi. I cluster di Tanzu Kubernetes Grid si connettono alla rete del carico di lavoro assegnata allo spazio dei nomi in cui si trovano i cluster.

Un Supervisore supportato da un VDS utilizza un bilanciamento del carico per fornire connettività ai servizi esterni e agli utenti di DevOps. È possibile utilizzare NSX Advanced Load Balancer o il bilanciamento del carico HAProxy.

Per ulteriori informazioni, vedere Installazione e configurazione di NSX Advanced Load Balancer e Installazione e configurazione del bilanciamento del carico HAProxy.

In una configurazione del Supervisore a cluster singolo, il Supervisore è supportato da un solo cluster vSphere. Tutti gli host del cluster devono essere connessi a un VDS.

Figura 1. Rete del Supervisore a cluster singolo con VDS

Architettura di rete di un Supervisore configurato con lo stack di rete VDS.

In un Supervisore a tre zone, il Supervisore viene distribuito in tre zone vSphere, ciascuna mappata a un cluster vSphere. Tutti gli host di questi cluster vSphere devono essere connessi allo stesso VDS. Tutti i server fisici devono essere connessi a un dispositivo L2. Le reti dei carichi di lavoro configurate per lo spazio dei nomi si estendono in tutte e tre le zone vSphere.

Figura 2. Rete del Supervisore a tre zone con VDS

Architettura di rete di un Supervisore in esecuzione in tre zone vSphere in cui ogni rete del carico di lavoro si estende in tutte e tre le zone.

Rete del Supervisore con NSX

NSX fornisce connettività di rete agli oggetti nel Supervisore e nelle reti esterne. La connettività agli host ESXi che comprendono il cluster è gestita dalle reti di vSphere standard.

È inoltre possibile configurare manualmente le reti del Supervisore utilizzando una distribuzione NSX esistente o distribuendo una nuova istanza di NSX.

Per ulteriori informazioni, vedere Installazione e configurazione di NSX per vSphere IaaS control plane.

Figura 3. Rete del Supervisore con NSX
Architettura di rete di un Supervisore configurato con lo stack di rete NSX.
  • NSX Container Plugin (NCP) fornisce l'integrazione tra NSX e Kubernetes. Il componente principale di NCP viene eseguito in un container e comunica con NSX Manager e con il piano di controllo di Kubernetes. NCP monitora le modifiche apportate ai container e alle altre risorse e gestisce le risorse di rete come porte logiche, segmenti, router e gruppi di sicurezza per i container chiamando NSX API.

    Per impostazione predefinita, NCP crea un gateway di livello 1 condiviso per gli spazi dei nomi del sistema e il bilanciamento del carico e un gateway di livello 1 per ogni spazio dei nomi. Il gateway di livello 1 è connesso al gateway di livello 0 e a un segmento predefinito.

    Gli spazi dei nomi del sistema sono spazi dei nomi utilizzati dai componenti principali che sono fondamentali per il funzionamento del Supervisore e dei cluster Tanzu Kubernetes Grid. Le risorse di rete condivise che includono il gateway di livello 1, il bilanciamento del carico e l'IP SNAT sono raggruppate in uno spazio dei nomi del sistema.

  • NSX Edge fornisce connettività da reti esterne a oggetti Supervisore. Il cluster NSX Edge include un bilanciamento del carico che fornisce ridondanza ai server dell'API Kubernetes che si trovano nelle macchine virtuali del piano di controllo del Supervisore e a qualsiasi applicazione che deve essere pubblicata e accessibile dall'esterno del Supervisore.
  • Un gateway di livello 0 viene associato al cluster di NSX Edge per fornire il routing alla rete esterna. L'interfaccia di uplink utilizza il protocollo di routing dinamico, BGP o il routing statico.
  • Ogni Spazio dei nomi vSphere dispone di una rete separata e di un set di risorse di rete condivise dalle applicazioni nello spazio dei nomi, ad esempio, gateway di livello 1, servizio di bilanciamento del carico e indirizzo IP SNAT.
  • I carichi di lavoro in esecuzione in Pod vSphere, le normali macchine virtuali o i cluster Tanzu Kubernetes Grid che si trovano nello stesso spazio dei nomi condividono uno stesso IP SNAT per la connettività verticale.
  • I carichi di lavoro in esecuzione nei cluster Pod vSphere o Tanzu Kubernetes Grid avranno la stessa regola di isolamento implementata dal firewall predefinito.
  • Non è necessario un IP SNAT separato per ogni spazio dei nomi Kubernetes. La connettività est-ovest tra gli spazi dei nomi non sarà SNAT.
  • I segmenti per ogni spazio dei nomi si trovano nel VDS che funziona in modalità standard associato al cluster NSX Edge. Il segmento fornisce una rete di overlay al Supervisore.
  • I Supervisori hanno segmenti separati all'interno del gateway di livello 1 condiviso. Per ogni cluster Tanzu Kubernetes Grid, i segmenti vengono definiti all'interno del gateway di livello 1 dello spazio dei nomi.
  • I processi Spherelet in ogni host ESXi comunicano con il vCenter Server tramite un'interfaccia nella rete di gestione.

In un Supervisore a tre zone configurato con NSX come stack di rete, tutti gli host di tutti e tre i cluster vSphere mappati alle zone devono essere connessi allo stesso VDS e far parte della stessa zona di trasporto overlay di NSX. Tutti gli host devono essere connessi allo stesso dispositivo fisico L2.

Figura 4. Rete del Supervisore a tre zone con NSX

Architettura di rete di un Supervisore con la rete NSX in esecuzione su tre zone. I segmenti per le reti dei carichi di lavoro si estendono in tutte e tre le zone.

Rete del Supervisore con NSX e NSX Advanced Load Balancer

NSX fornisce connettività di rete agli oggetti nel Supervisore e nelle reti esterne. Un Supervisore configurato con NSX può utilizzare NSX Edge o NSX Advanced Load Balancer.

I componenti di NSX Advanced Load Balancer includono il cluster NSX Advanced Load Balancer Controller, le macchine virtuali dei motori di servizio (piano dati) e l'operatore Avi Kubernetes (AKO).

L'NSX Advanced Load Balancer Controller interagisce con il vCenter Server per automatizzare il bilanciamento del carico per i cluster Tanzu Kubernetes Grid. È responsabile del provisioning dei motori di servizio, del coordinamento delle risorse tra i motori di servizio e dell'aggregazione della registrazione e delle metriche dei motori di servizio. Il Controller fornisce un'interfaccia Web, un'interfaccia della riga di comando e un'API per le operazioni utente e l'integrazione programmatica. Dopo aver distribuito e configurato la macchina virtuale del controller, è possibile distribuire un cluster di controller per configurare il cluster del piano di controllo per HA.

Il motore di servizio è la macchina virtuale del piano dati. Un motore di servizio esegue uno o più servizi virtuali. Un motore di servizio è gestito dal NSX Advanced Load Balancer Controller. Il Controller esegue il provisioning dei motori di servizio per ospitare i servizi virtuali.

Il motore di servizio presenta due tipi di interfaccia di rete:
  • La prima interfaccia di rete vnic0 della macchina virtuale si connette alla rete di gestione in cui può connettersi al NSX Advanced Load Balancer Controller.
  • Le interfacce rimanenti, vnic1 - 8, si connettono alla rete dati in cui vengono eseguiti i servizi virtuali.

Le interfacce del motore di servizio si connettono automaticamente ai gruppi di porte vDS corretti. Ogni motore di servizio può supportare fino a 1000 servizi virtuali.

Un servizio virtuale fornisce servizi di bilanciamento del carico di livello 4 e di livello 7 per i carichi di lavoro del cluster Tanzu Kubernetes Grid. Un servizio virtuale è configurato con un IP virtuale e più porte. Quando viene distribuito un servizio virtuale, il controller seleziona automaticamente un server ESX, attiva un motore di servizio e lo connette alle reti corrette (gruppi di porte).

Il primo motore di servizio viene creato solo dopo la configurazione del primo servizio virtuale. Tutti i servizi virtuali successivi configurati utilizzano il motore di servizio esistente.

Ogni server virtuale espone un bilanciamento del carico di livello 4 con un indirizzo IP distinto di tipo bilanciamento del carico per un cluster Tanzu Kubernetes Grid. L'indirizzo IP assegnato a ciascun server virtuale viene selezionato dal blocco di indirizzi IP assegnato al Controller durante la configurazione.

L'operatore Avi Kubernetes (AKO) rileva le risorse Kubernetes e comunica con l'NSX Advanced Load Balancer Controller per richiedere le risorse di bilanciamento del carico corrispondenti. L'operatore AVI Kubernetes viene installato nel Supervisori nell'ambito del processo di abilitazione.

Per ulteriori informazioni, vedere Installazione e configurazione di NSX e NSX Advanced Load Balancer.

Figura 5. Rete del Supervisore con NSX e NSX Advanced Load Balancer Controller
Architettura di rete di un Supervisore configurato con lo stack di rete NSX networking stack e NSX Advanced Load Balancer.
Figura 6. Rete del Supervisore a tre zone con NSX e NSX Advanced Load Balancer Controller
Architettura di rete di un Supervisore con rete NSX e NSX Advanced Load Balancer Controller in esecuzione su tre zone. I segmenti per le reti dei carichi di lavoro si estendono in tutte e tre le zone.
Importante: Quando si configura il NSX Advanced Load Balancer Controller in una distribuzione NSX, tenere presenti le considerazioni seguenti:
  • Non è possibile distribuire il NSX Advanced Load Balancer Controller in una distribuzione Modalità collegata avanzata vCenter Server. È possibile distribuire il NSX Advanced Load Balancer Controller solo in una singola distribuzione vCenter Server. Se più di un vCenter Server è collegato, è possibile utilizzarne solo uno durante la configurazione del NSX Advanced Load Balancer Controller.
  • Non è possibile configurare il NSX Advanced Load Balancer Controller in una topologia di livello 0 multilivello. Se l'ambiente NSX è configurato con una topologia di livello 0 multilivello, è possibile utilizzare un solo gateway di livello 0 durante la configurazione del NSX Advanced Load Balancer Controller.

Metodi di configurazione di rete con NSX

Il Supervisore utilizza una configurazione di rete convenzionale. Esistono due metodi per configurare la rete del Supervisore con NSX, che determinano la distribuzione dello stesso modello di rete per un Supervisore a una zona: