Load-Balancing für GKE on VMware

In diesem Dokument werden die von GKE on VMware unterstützten Load-Balancing-Optionen erläutert.

Es stehen mehrere 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

  • F5 BIG-IP eingebunden (nicht unterstützt für Nutzercluster mit Controlplane V2)

  • F5 BIG-IP manuell einrichten

  • Citrix manuell einrichten

  • Alle Load-Balancer, die Sie manuell einrichten

MetalLB

Der MetalLB-Load-Balancer ist mit GKE on VMware gebündelt und besonders einfach zu 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.

F5 BIG-IP

Der F5 BIG-IP-Load-Balancer ist nicht mit GKE on VMware gebündelt. Daher müssen Sie eine Lizenz erwerben und den Load-Balancer getrennt von GKE on VMware einrichten.

Sie können GKE on VMware für die Einbindung in F5 BIG-IP auf folgende Weise konfigurieren: Wenn ein Entwickler einen Dienst vom Typ LoadBalancer erstellt und eine VIP für den Dienst angibt, konfiguriert GKE on VMware die VIP automatisch auf dem Load-Balancer.

Die F5 BIG-IP-Integration wird für Nutzercluster mit Controlplane V2 nicht unterstützt. Stattdessen können Sie F5 BIG-IP als manuell konfigurierten Load-Balancer verwenden. In diesem Fall konfiguriert GKE on VMware nicht automatisch Dienst-VIPs.

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 eine der folgenden Load-Balancing-Optionen 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:

  • MetalLB
  • Integrierte F5 BIG-IP

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.

Integrierte F5 BIG-IP

Wenn ein Entwickler einen Dienst vom Typ LoadBalancer erstellt, gibt er eine externe IP-Adresse an. Beispiel:

spec:
  type: LoadBalancer
  loadBalancerIP: 192.168.100.2

GKE on VMware konfiguriert die angegebene Adresse automatisch auf einer Netzwerkschnittstelle des F5 BIG-IP-Load-Balancers.

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.