Load-Balancing für GKE on VMware

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

Ihnen 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 Load-Balancer von Drittanbietern, z. B. Citrix F5 BIG-IP

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.

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 die IP-Adressen Ihrer Clusterknoten von einem DHCP-Server abrufen lassen.

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, möchten Anwendungsentwickler möglicherweise Kubernetes-Dienste erstellen und für externe Clients verfügbar machen.

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.