Esaminare le topologie che è possibile implementare per il bilanciamento del carico HAProxy per un Supervisore configurato con la rete VDS. Quando si utilizza vSphere IaaS control plane con rete VDS, HAProxy fornisce il bilanciamento del carico per gli sviluppatori che accedono al piano di controllo di Tanzu Kubernetes Grid e per i servizi Kubernetes di tipo bilanciamento del carico.
Reti del carico di lavoro in Supervisore
Per configurare un Supervisore con la rete VDS, è necessario connettere tutti gli host del cluster a un VDS. In base alla topologia implementata per le reti del carico di lavoro di Supervisore, è necessario creare uno o più gruppi di porte distribuiti. I gruppi di porte vengono designati come reti del carico di lavoro in Spazi dei nomi vSphere.
Le macchine virtuali del piano di controllo di Kubernetes nel Supervisore utilizzano tre indirizzi IP dell'intervallo di indirizzi IP assegnato alla rete del carico di lavoro primaria. A ogni nodo di un cluster di Tanzu Kubernetes Grid è assegnato un indirizzo IP distinto dell'intervallo di indirizzi della rete del carico di lavoro configurata con lo spazio dei nomi in cui viene eseguito il cluster di Tanzu Kubernetes Grid.
Allocazione di intervalli IP
- Un intervallo per l'allocazione di IP virtuali per HAProxy. L'intervallo di indirizzi IP configurato per i server virtuali di HAProxy è riservato dall'appliance di bilanciamento del carico. Ad esempio, se l'intervallo di IP virtuali è
192.168.1.0/24
, tutti gli host di tale intervallo non sono accessibili al traffico diverso dal traffico IP virtuale.Nota: Non configurare un gateway all'interno dell'intervallo di IP virtuali di HAProxy, perché tutte le route verso tale gateway non verranno eseguite correttamente. - Un intervallo di indirizzi IP per i nodi di Supervisore e dei cluster di Tanzu Kubernetes Grid. A ogni macchina virtuale del piano di controllo di Kubernetes nel Supervisore è assegnato un indirizzo IP, per un totale di tre indirizzi IP. A ogni nodo di un cluster di Tanzu Kubernetes Grid è assegnato anche un IP separato. È necessario assegnare un intervallo di indirizzi IP univoco a ogni rete del carico di lavoro nel Supervisore configurata per uno spazio dei nomi.
Configurazione di esempio con una rete /24:
- Rete: 192.168.120.0/24
- VIP di HAProxy: 192.168.120.128/25
- 1 indirizzo IP per l'interfaccia del carico di lavoro di HAProxy: 192.168.120.5
In base agli IP che sono liberi nei primi 128 indirizzi, è possibile definire intervalli di IP per le reti del carico di lavoro nel Supervisore, ad esempio:
- 192.168.120.31-192.168.120.40 per la rete del carico di lavoro primaria
- 192.168.120.51-192.168.120.60 per un'altra rete del carico di lavoro
Topologia di rete di HAProxy
Sono disponibili due opzioni di configurazione di rete per la distribuzione di HAProxy: Predefinito e Front-end. La rete predefinita include 2 NIC, una per la rete di gestione e una per la rete del carico di lavoro. La rete front-end include 3 NIC, ovvero rete di gestione, rete del carico di lavoro e rete front-end per i client. Nella tabella sono elencate e descritte le caratteristiche di ciascuna rete.
Network | Caratteristiche |
---|---|
Gestione |
Il cluster supervisore utilizza la rete di gestione per connettersi al bilanciamento del carico HAProxy e programmarlo.
|
Carico di lavoro |
La macchina virtuale del piano di controllo di HAProxy utilizza la rete del carico di lavoro per accedere ai servizi nei nodi del cluster supervisore e del cluster di Tanzu Kubernetes.
Nota: La rete del carico di lavoro deve trovarsi in una subnet diversa da quella della rete di gestione. Fare riferimento ai
requisiti di sistema.
|
Front-end (facoltativo) | I client esterni (ad esempio utenti o applicazioni) che accedono ai carichi di lavoro del cluster utilizzano la rete front-end per accedere ai servizi di bilanciamento del carico back-end utilizzando gli indirizzi IP virtuali.
|
Il diagramma seguente illustra una distribuzione HAProxy che utilizza una topologia Rete front-end. Il diagramma indica dove sono previsti campi di configurazione durante il processo di installazione e configurazione.
Topologia del Supervisore con una rete del carico di lavoro e un HAProxy con due NIC virtuali
In questa topologia si configura un Supervisore con una rete del carico di lavoro per i seguenti componenti:
- Macchine virtuali del piano di controllo Kubernetes
- I nodi dei cluster di Tanzu Kubernetes Grid.
- L'intervallo di IP virtuali di HAProxy dove si connettono i servizi esterni e gli utenti DevOps. In questa configurazione, HAProxy viene distribuito con due NIC virtuali (configurazione Predefinito), una connessa alla rete di gestione e una seconda connessa alla rete del carico di lavoro primaria. È necessario pianificare l'allocazione degli IP virtuali in una subnet separata dalla rete del carico di lavoro primaria.
- L'utente DevOps o il servizio esterno invia il traffico a un IP virtuale nella subnet della rete del carico di lavoro del gruppo di porte distribuite.
- HAProxy esegue il bilanciamento del carico del traffico IP virtuale verso l'IP del nodo del cluster Tanzu Kubernetes Grid o l'IP della macchina virtuale del piano di controllo. HAProxy richiede l'indirizzo IP virtuale in modo da poter bilanciare il carico del traffico in arrivo in tale IP.
- La macchina virtuale del piano di controllo o il nodo del cluster di Tanzu Kubernetes Grid invia il traffico ai pod di destinazione in esecuzione nel Supervisore o nel cluster di Tanzu Kubernetes Grid rispettivamente.
Topologia di Supervisore con una rete del carico di lavoro isolata e HAproxy con due NIC virtuali
- Macchine virtuali del piano di controllo Kubernetes. Una rete del carico di lavoro primaria per gestire il traffico per le macchine virtuali del piano di controllo di Kubernetes.
- Nodi del cluster di Tanzu Kubernetes Grid Una rete del carico di lavoro assegnata a tutti gli spazi dei nomi nel Supervisore. Questa rete connette i nodi del cluster di Tanzu Kubernetes Grid.
- IP virtuali di HAProxy. In questa configurazione, la macchina virtuale di HAProxy viene distribuita con due NIC virtuali (configurazione Predefinito). È possibile connettere la macchina virtuale di HAProxy alla rete del carico di lavoro primaria o alla rete del carico di lavoro utilizzata per gli spazi dei nomi. È inoltre possibile connettere HAProxy a una rete di macchine virtuali che esiste già in vSphere ed è instradabile alla rete primaria e alla rete del carico di lavoro.
- L'utente DevOps o il servizio esterno invia il traffico a un IP virtuale. Il traffico viene instradato verso la rete in cui è connesso HAProxy.
- HAProxy esegue il bilanciamento del carico del traffico IP virtuale verso l'IP del nodo di Tanzu Kubernetes Grid o la macchina virtuale del piano di controllo. HAProxy richiede l'indirizzo IP virtuale in modo da poter bilanciare il carico del traffico in arrivo in tale IP.
- La macchina virtuale del piano di controllo o il nodo del cluster di Tanzu Kubernetes Grid invia il traffico ai pod di destinazione in esecuzione nel cluster di Tanzu Kubernetes Grid.
Topologia di Supervisore con più reti del carico di lavoro e un HAproxy con due NIC virtuali
In questa topologia, è possibile configurare un gruppo di porte che funga da rete del carico di lavoro primaria e un gruppo di porte dedicato che funga da rete del carico di lavoro per ogni spazio dei nomi. HAProxy viene distribuito con due NIC virtuali (configurazione Predefinito) ed è possibile connetterlo alla rete del carico di lavoro primaria oppure a una delle reti del carico di lavoro. È inoltre possibile utilizzare una rete di macchine virtuali esistente instradabile verso la rete primaria e la rete del carico di lavoro.
Topologia di Supervisore con più reti del carico di lavoro e un HAproxy con tre NIC virtuali
Selezione tra le topologie possibili
Prima di selezionare la topologia da utilizzare, valutare le esigenze dell'ambiente in uso:
- È necessario l'isolamento di livello 2 tra Supervisore e i cluster di Tanzu Kubernetes Grid?
- No: selezionare la topologia più semplice con una rete del carico di lavoro per tutti i componenti.
- Sì. Selezionare la topologia della rete del carico di lavoro isolata con la rete primaria e la rete del carico di lavoro separate.
- È necessario ulteriore isolamento di livello 2 tra i cluster di Tanzu Kubernetes Grid?
- No. Selezionare la topologia della rete del carico di lavoro isolata con la rete primaria e la rete del carico di lavoro separate.
- Sì. Selezionare la topologia con più reti del carico di lavoro con una rete del carico di lavoro separata per ogni spazio dei nomi e una rete del carico di lavoro primaria dedicata.
- Si desidera impedire agli utenti DevOps e ai servizi esterni di eseguire il routing diretto alle macchine virtuali del piano di controllo Kubernetes e ai nodi del cluster di Tanzu Kubernetes Grid?
- No. Selezionare la configurazione di HAProxy con due NIC.
- Sì. Selezionare la configurazione di HAProxy con tre NIC. Questa configurazione è consigliata per gli ambienti di produzione
Considerazioni sull'utilizzo del bilanciamento del carico HAProxy con vSphere IaaS control plane
Quando si pianifica un vSphere IaaS control plane con il bilanciamento del carico HAProxy, tenere presenti le considerazioni seguenti.
- Con HAProxy è necessario un contratto di supporto per ottenere assistenza tecnica per il bilanciamento del carico HAProxy. VMware GSS non è in grado di fornire supporto per l'appliance HAProxy.
- L'appliance HAProxy è un singleton che non supporta alcuna topologia ad alta disponibilità. Per gli ambienti ad alta disponibilità, VMware consiglia di utilizzare un'installazione completa di NSX o NSX Advanced Load Balancer.
- Poiché non è possibile espandere l'intervallo di indirizzi IP utilizzato per il front-end in un secondo momento, la rete deve essere dimensionata tenendo conto di eventuali espansioni future.