Bei Verwendung von vSphere with Tanzu mit vDS-Netzwerk bietet HAProxy Lastausgleich für Entwickler, die auf die Tanzu Kubernetes-Steuerungsebene zugreifen, sowie für Kubernetes-Dienste vom Typ „Lastausgleichsdienst“. Überprüfen Sie die möglichen Topologien, die Sie für den HAProxy-Lastausgleichsdienst implementieren können.
Arbeitslastnetzwerke auf dem Supervisor-Cluster
Zum Konfigurieren eines Supervisor-Clusters mit dem vSphere-Netzwerk-Stack müssen Sie alle Hosts aus dem Cluster mit einem vSphere Distributed Switch verbinden. Je nach der von Ihnen für die Supervisor-Cluster-Arbeitslastnetzwerke implementierten Topologie können Sie eine oder mehrere verteilte Portgruppen erstellen. Sie bestimmen die Portgruppen als Arbeitslastnetzwerke für vSphere-Namespaces.
Bevor Sie einen Host zu einem Supervisor-Cluster hinzufügen, müssen Sie ihn zu allen vSphere Distributed Switches hinzufügen, die Teil des Clusters sind.
Die Kubernetes-Steuerungsebenen-VMs im Supervisor-Cluster verwenden drei IP-Adressen aus dem IP-Adressbereich, der dem primären Arbeitslastnetzwerk zugewiesen ist. Jeder Knoten eines Tanzu Kubernetes-Clusters verfügt über eine eigene, aus dem Adressbereich des Arbeitslastnetzwerks zugewiesene IP-Adresse. Das Arbeitslastnetzwerk ist mit dem Namespace konfiguriert ist, in dem der Tanzu Kubernetes-Cluster ausgeführt wird.
Zuteilung von IP-Bereichen
- Ein Bereich für die Zuteilung virtueller IPs für HAProxy. Der IP-Bereich, den Sie für die virtuellen Server von HAProxy konfigurieren, ist von der Lastausgleichsdienst-Appliance reserviert. Wenn der Bereich für virtuelle IPs beispielsweise
192.168.1.0/24
lautet, sind sämtliche Hosts in diesem Bereich für keinen anderen Datenverkehr als den Datenverkehr über virtuelle IPs verfügbar.Hinweis: Sie dürfen kein Gateway innerhalb des virtuellen HAProxy-IP-Bereichs konfigurieren, da alle Routen zu einem solchen Gateway fehlschlagen. - Ein IP-Bereich für die Knoten des Supervisor-Clusters und der Tanzu Kubernetes-Cluster. Jeder Kubernetes-Steuerungsebenen-VM im Supervisor-Cluster ist eine IP-Adresse zugewiesen, in der Summe sind dies drei IP-Adressen. Jedem Knoten eines Tanzu Kubernetes-Clusters ist auch eine eigene IP-Adresse zugewiesen. Sie müssen jedem Arbeitslastnetzwerk auf dem Supervisor-Cluster, das Sie für einen Namespace konfigurieren, einen eindeutigen IP-Bereich zuweisen.
Beispiel für eine Konfiguration mit einem /24-Netzwerk:
- Netzwerk: 192.168.120.0/24
- HAProxy-VIPs: 192.168.120.128/25
- 1 IP-Adresse für die HAProxy-Arbeitslastschnittstelle: 192.168.120.5
Abhängig von den IPs, die innerhalb der ersten 128 Adressen frei sind, können Sie IP-Bereiche für Arbeitslastnetzwerke auf dem Supervisor-Cluster definieren, z. B.:
- 192.168.120.31-192.168.120.40 für das primäre Arbeitslastnetzwerk
- 192.168.120.51-192.168.120.60 für ein weiteres Arbeitslastnetzwerk
HAProxy-Netzwerktopologie
Es gibt zwei Optionen für die Netzwerkkonfiguration für die Bereitstellung von HAProxy: Standard und Frontend. Das Standardnetzwerk verfügt über 2 Netzwerkkarten: eine für das Verwaltungsnetzwerk und eine für das Arbeitslastnetzwerk. Das Frontend-Netzwerk verfügt über 3 NICs: Verwaltungsnetzwerk, Arbeitslastnetzwerk und das Frontend-Netzwerk für Clients. In der Tabelle sind die Merkmale jedes Netzwerks aufgelistet und beschrieben.
Netzwerk | Merkmale |
---|---|
Verwaltung |
Der Supervisor-Cluster nutzt das Verwaltungsnetzwerk, um eine Verbindung zum HAProxy-Lastausgleichsdienst herzustellen und diesen zu programmieren.
|
Arbeitslast |
Die HAProxy-Steuerungsebenen-VM nutzt das Arbeitslastennetzwerk, um auf die Dienste im Supervisor-Cluster und auf den Tanzu Kubernetes-Clusterknoten zuzugreifen.
Hinweis: Das Arbeitslastnetzwerk muss sich in einem anderen Subnetz als das Verwaltungsnetzwerk befinden. Weitere Informationen finden Sie in den
Systemanforderungen.
|
Frontend (optional) | Externe Clients (z. B. Benutzer oder Anwendungen), die auf Clusterarbeitslasten zugreifen, verwenden das Frontend-Netzwerk, um über virtuelle IP-Adressen auf Backend-Lastausgleichsdienste zuzugreifen.
|
Das folgende Diagramm veranschaulicht eine HAProxy-Bereitstellung mithilfe einer Frontend-Netzwerk-Topologie. Das Diagrammverzeichnis gibt an, wo während des Installations- und Konfigurationsvorgangs Konfigurationsfelder erwartet werden.
Supervisor-Cluster-Topologie mit einem Arbeitslastnetzwerk und HAProxy mit zwei virtuellen Netzwerkkarten
In dieser Topologie konfigurieren Sie einen Supervisor-Cluster mit einem Arbeitslastnetzwerk für die folgenden Komponenten:
- Kubernetes-Steuerungsebenen-VMs
- Die Knoten von Tanzu Kubernetes-Clustern.
- Der virtuelle HAProxy-Bereich für Verbindungen externer Dienste und DevOps-Benutzer. In dieser Konfiguration wird HAProxy mit zwei virtuellen NICs (Standard-Konfiguration) bereitgestellt, wobei eine mit dem Verwaltungsnetzwerk und eine zweite mit dem primären Arbeitslastnetzwerk verbunden ist. Sie müssen die Zuteilung virtueller IPs in einem Subnetz planen, das vom primären Arbeitslastnetzwerk getrennt ist.
- Der DevOps-Benutzer oder der externe Dienst sendet Datenverkehr an eine virtuelle IP-Adresse in einem Subnetz des Arbeitslastnetzwerks der verteilten Portgruppe.
- HAProxy gleicht die Last des virtuellen IP-Datenverkehrs aus, der zur IP des Tanzu Kubernetes-Knotens oder zur IP der Steuerungsebenen-VM fließt. HAProxy beansprucht die virtuelle IP-Adresse, damit er die Last des auf dieser IP eingehenden Datenverkehrs ausgleichen kann.
- Die Steuerungsebenen-VM oder der Tanzu Kubernetes-Clusterknoten leitet den Datenverkehr an die Ziel-Pods weiter, die jeweils innerhalb des Supervisor-Clusters oder des Tanzu Kubernetes-Clusters ausgeführt werden.
Supervisor-Cluster-Topologie mit einem isolierten Arbeitslastnetzwerk und einem HAProxy mit zwei virtuellen Netzwerkkarten
- Kubernetes-Steuerungsebenen-VMs. Ein primäres Arbeitslastnetzwerk für die Verarbeitung des Datenverkehrs für die Kubernetes-Steuerungsebenen-VMs.
- Tanzu Kubernetes-Clusterknoten Ein Arbeitslastnetzwerk, das Sie allen Namespaces auf dem Supervisor-Cluster zuweisen. Dieses Netzwerk verbindet die Tanzu Kubernetes-Clusterknoten.
- Virtuelle HAProxy-IPs. In dieser Konfiguration wird die HAProxy-VM mit zwei virtuellen NICs bereitgestellt (Standard-Konfiguration). Sie können die HAProxy-VM entweder mit dem primären Arbeitslastnetzwerk oder mit dem Arbeitslastnetzwerk verbinden, das Sie für Namespaces verwenden. Sie können HAProxy auch mit einem VM-Netzwerk verbinden, das bereits in vSphere vorhanden ist und für das Routing in das primäre Arbeitslastnetzwerk und die Arbeitslastnetzwerke möglich ist.
- Der DevOps-Benutzer oder der externe Dienst sendet Datenverkehr an eine virtuelle IP. Der Datenverkehr wird an das Netzwerk weitergeleitet, mit dem HAProxy verbunden ist.
- HAProxy gleicht die Last des virtuellen IP-Datenverkehrs aus, der zur IP des Tanzu Kubernetes-Knotens oder zur Steuerungsebenen-VM fließt. HAProxy beansprucht die virtuelle IP-Adresse, damit er die Last des auf dieser IP eingehenden Datenverkehrs ausgleichen kann.
- Die Steuerungsebenen-VM oder der Tanzu Kubernetes-Clusterknoten leitet den Datenverkehr an die Ziel-Pods weiter, die innerhalb des Tanzu Kubernetes-Clusters ausgeführt werden.
Supervisor-Cluster-Topologie mit mehreren Arbeitslastnetzwerken und HAProxy mit zwei virtuellen Netzwerkkarten
In dieser Topologie können Sie eine Portgruppe so konfigurieren, dass sie als primäres Arbeitslastnetzwerk agiert, und Sie können eine dedizierte Portgruppe als Arbeitslastnetzwerk für jeden Namespace konfigurieren. HAProxy wird mit zwei virtuellen Netzwerkkarten bereitgestellt (Standard-Konfiguration), und Sie können eine Verbindung mit dem primären Arbeitslastnetzwerk oder den anderen Arbeitslastnetzwerken herstellen. Sie können auch ein vorhandenes VM-Netzwerk verwenden, für das Routing in das primäre Arbeitslastnetzwerk und die Arbeitslastnetzwerke möglich ist.
Supervisor-Cluster-Topologie mit mehreren Arbeitslastnetzwerken und HAProxy mit drei virtuellen Netzwerkkarten
Auswählen zwischen den möglichen Topologien
Bevor Sie zwischen den möglichen Topologien auswählen, analysieren Sie die Anforderungen Ihrer Umgebung:
- Benötigen Sie eine Schicht-2-Isolierung zwischen dem Supervisor-Cluster und Tanzu Kubernetes-Clustern?
- Nein: die einfachste Topologie mit einem Arbeitslastnetzwerk, das alle Komponenten bedient.
- Ja: die isolierte Arbeitslastnetzwerk-Topologie mit getrennten primären und Arbeitslastnetzwerken.
- Benötigen Sie eine weitere Schicht-2-Isolierung zwischen Ihren Tanzu Kubernetes-Clustern?
- Nein: isolierte Arbeitslastnetzwerk-Topologie mit getrennten primärem Arbeitslastnetzwerk und Arbeitslastnetzwerken.
- Ja: mehrere Arbeitslastnetzwerk-Topologien mit einem getrennten Arbeitslastnetzwerk für jeden Namespace und einem dedizierten primären Arbeitslastnetzwerk.
- Möchten Sie verhindern, dass Ihre DevOps-Benutzer und externe Dienste ein direktes Routing zu VMs der Steuerungsebene von Kubernetes und Tanzu Kubernetes-Clusterknoten ausführen?
- Nein: HAProxy-Konfiguration mit zwei NICs.
- Ja: HAProxy-Konfiguration mit drei NICs Diese Konfiguration wird für Produktionsumgebungen empfohlen.