Load-Balancing für Anthos-Cluster auf VMware

In diesem Dokument werden die Load-Balancing-Optionen beschrieben, die von Anthos-Clustern auf VMware (GKE On-Prem) unterstützt werden.

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

  • Gebündeltes Seesaw

  • Integrierte F5 BIG-IP

  • F5 BIG-IP manuell einrichten

  • Citrix manuell einrichten

  • Alle Load-Balancer, die Sie manuell einrichten

MetalLB

Der MetalLB-Load-Balancer ist in Anthos-Clustern auf VMware 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.

Seesaw

Der Seesaw-Load-Balancer ist mit Anthos-Clustern in VMware gebündelt und erfordert etwas mehr manuelle Konfiguration als für MetalLB erforderlich. Der Seesaw-Load-Balancer wird auf VMs ausgeführt, die von Ihren Clusterknoten getrennt sind.

Weitere Informationen finden Sie unter Gebündeltes Load-Balancing mit Seesaw.

F5 BIG-IP

Der F5 BIG-IP-Load-Balancer ist nicht mit Anthos-Clustern in VMware gebündelt, sodass Sie eine Lizenz erhalten und den Load-Balancer getrennt von der Installation von Anthos-Clustern auf VMware einrichten müssen.

Sie können Anthos-Cluster auf VMware so konfigurieren, dass sie mit F5 BIG-IP im folgenden Sinne integriert werden: Wenn ein Entwickler einen Dienst des Typs LoadBalancer erstellt und ein VIP für den Dienst angibt, konfiguriert Anthos-Cluster auf VMware die VIP automatisch auf dem Load-Balancer. Weitere Informationen finden Sie unter F5 BIG-IP ADC for Anthos-Cluster auf VMware installieren

Sie können F5 BIG-IP auch als manuell konfigurierten Load-Balancer verwenden. In diesem Fall konfigurieren Anthos clusters on VMware nicht automatisch Dienst-VIPs. Weitere Informationen finden Sie unter F5 BIG-IP ADC für Anthos-Cluster auf VMware mit manuellem Load-Balancing installieren.

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
  • Seesaw
  • 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.

Seesaw

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

spec:
  type: LoadBalancer
  loadBalancerIP: 192.168.100.1

Anthos-Cluster auf VMware konfigurieren automatisch die angegebene Adresse in einer Netzwerkschnittstelle einer Seesaw-VM.

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

Anthos-Cluster auf VMware konfigurieren 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.