In diesem Dokument werden die Load Balancing-Optionen beschrieben, die von Google Distributed Cloud unterstützt werden.
Es stehen zwei Load-Balancing-Optionen zur Verfügung. Wählen Sie die Option aus, die für Ihre Umgebung und Ihre Anforderungen am besten geeignet ist. Sie können beispielsweise eine Option auswählen, die eine minimale Konfiguration erfordert. Sie können auch eine Option auswählen, die den Load-Balancern Ihres Netzwerks entspricht.
Folgende Optionen sind verfügbar:
Gebündeltes MetalLB
Manuelles Load-Balancing für jeden Load-Balancer eines Drittanbieters, z. B. F5 BIG-IP oder Citrix
MetalLB
Der MetalLB-Load-Balancer ist in Google Distributed Cloud enthalten und lässt sich besonders einfach konfigurieren. Die MetalLB-Komponenten werden auf Ihren Clusterknoten ausgeführt. Sie müssen also keine separaten VMs für Ihren Load-Balancer erstellen.
Sie können MetalLB so konfigurieren, dass es eine IP-Adressverwaltung durchführt. Das bedeutet, wenn ein Entwickler einen Dienst vom Typ LoadBalancer
erstellt, muss er keine VIP für den Dienst angeben. Stattdessen wählt MetalLB automatisch eine VIP aus einem Adresspool aus, den Sie vorab bereitstellen.
Weitere Informationen finden Sie unter Gebündeltes Load-Balancing mit MetalLB.
Citrix
In diesem Dokument wird die Einrichtung des Citrix-Load-Balancers als Beispiel für die manuelle Einrichtung eines Load-Balancers beschrieben. Bei jedem manuell eingerichteten Load-Balancer müssen Sie Zuordnungen zwischen VIPs, Knotenadressen und nodePort
-Werten konfigurieren.
Wie Sie dies für den Citrix-Load-Balancer tun, erfahren Sie unter Manuelles Load-Balancing mit Citrix.
Manuelles Load-Balancing im Allgemeinen
Sie können einen beliebigen Load-Balancer verwenden, solange Sie ihn manuell einrichten.
Bei jedem manuell eingerichteten Load-Balancer müssen Sie Zuordnungen zwischen VIPs, Knotenadressen und nodePort
-Werten konfigurieren. Allgemeine Informationen dazu finden Sie unter Manuelles Load-Balancing.
Virtuelle IP-Adressen reservieren
Unabhängig vom Load-Balancer müssen Sie mehrere virtuelle IP-Adressen (VIPs) angeben, die Sie für das Load-Balancing verwenden möchten.
Für Ihren Administratorcluster müssen Sie diese VIPs reservieren:
- VIP für den Kubernetes API-Server
- VIP für Add-ons
Für jeden Nutzercluster, den Sie erstellen möchten, müssen Sie diese VIPs reservieren:
- VIP für den Kubernetes API-Server
- VIP für den Ingress-Dienst
Angenommen, Sie möchten zwei Nutzercluster haben. Dann benötigen Sie zwei VIPs für Ihren Admincluster und zwei VIPs für jeden Ihrer Nutzercluster. Sie müssen also sechs VIPs reservieren.
Knoten-IP-Adressen
Wenn Sie MetalLB als Load-Balancer auswählen, können Sie entweder statische IP-Adressen für Ihre Clusterknoten verwenden oder Ihre Clusterknoten können die IP-Adressen von einem DHCP-Server abrufen.
Wenn Sie eine manuelle Load-Balancing-Option wählen, müssen Sie statische IP-Adressen für Ihre Clusterknoten verwenden.
Wenn Sie statische IP-Adressen verwenden möchten, müssen Sie genügend Adressen für die Knoten im Administratorcluster und die Knoten in allen Nutzerclustern reservieren, die Sie erstellen möchten. Weitere Informationen dazu, wie viele Knoten-IP-Adressen Sie reservieren müssen, finden Sie unter IP-Adressen planen.
Dienste im Cluster erstellen
Nachdem der Nutzercluster ausgeführt wurde, können Anwendungsentwickler Kubernetes-Dienste erstellen und für externe Clients freigeben.
Für Dienste vom Typ LoadBalancer
müssen VIPs auf dem Load-Balancer konfiguriert werden. Wie diese VIPs konfiguriert werden, hängt vom ausgewählten Load-Balancer ab.
MetalLB
In der Konfigurationsdatei des Nutzerclusters geben Sie Adresspools an, die der MetalLB-Controller verwendet, um Diensten VIPs zuzuweisen. Wenn ein Entwickler einen Dienst vom Typ LoadBalancer
erstellt, wählt der MetalLB-Controller eine Adresse aus einem Pool aus und weist diese dem Dienst zu. Der Entwickler muss im Service-Manifest keinen Wert für loadBalancerIP
angeben.
Manuell konfigurierter Load-Balancer
Wenn Sie eine manuelle Load-Balancing-Option gewählt haben, können Entwickler die folgenden Schritte ausführen, um einen Dienst für externe Clients verfügbar zu machen:
Erstellen Sie einen Dienst vom Typ NodePort.
Wählen Sie eine VIP für den Dienst aus.
Konfigurieren Sie den Load-Balancer manuell so, dass der an die VIP gesendete Traffic an den Dienst weitergeleitet wird.