Installieren von MetalLB-Load Balancern
Auf dieser Seite finden Sie die Installations- und Konfigurationsanweisungen für den von MetalLB verwalteten Load Balancer.
Installieren des MetalLB Load Balancers
Der MetalLB-Load Balancer ist vollständig in Anthos-Cluster auf VMware integriert und verfügt ab der Version 1.11 über eine automatische Bereitstellung als Teil der Admin- und Benutzercluster-Setups. Es gibt Textblöcke in den jeweiligen cluster.yaml
Konfigurationsdateien, die Sie ändern müssen, um Informationen zum Lastenausgleich bereitzustellen. Es wird auf Ihrem Anthos-Cluster selbst gehostet, anstatt wie bei den anderen unterstützten Load Balancer-Lösungen die Bereitstellung externer Ressourcen zu erfordern. Außerdem können Sie einen IP-Pool erstellen, der bei der Erstellung von Kubernetes-Diensten vom Typ „Load Balancer“ in Clustern, die nicht auf einem Cloud-Anbieter ausgeführt werden, automatisch Adressen zuweist.
Integration mit Anthos
Wenn Sie den MetalLB-Load Balancer für Anthos Admin aktivieren, müssen Sie einige Zeilen in der loadBalancer:
Abschnitt, der in der admin-cluster.yaml
Datei. Die einzigen Werte, die Sie ändern müssen, sind die Einstellung controlPlaneVIP:
Adresse und stellen Sie dann die kind:
als MetalLB. Ein Beispiel finden Sie im folgenden Codeausschnitt:
# (Required) Load balancer configuration loadBalancer: # (Required) The VIPs to use for load balancing vips: # Used to connect to the Kubernetes API controlPlaneVIP: "10.61.181.230" # # (Optional) Used for admin cluster addons (needed for multi cluster features). Must # # be the same across clusters # addonsVIP: "" # (Required) Which load balancer to use "F5BigIP" "Seesaw" "ManualLB" or "MetalLB". # Uncomment the corresponding field below to provide the detailed spec kind: MetalLB
Beim Aktivieren des MetalLB-Load Balancers für Anthos-Benutzercluster gibt es in jedem zwei Bereiche user-cluster.yaml
Datei, die Sie aktualisieren müssen. Erstens, in ähnlicher Weise wie die admin-cluster.yaml
Datei müssen Sie die controlPlaneVIP:
, ingressVIP:
, Und kind:
Werte in der loadBalancer:
Abschnitt. Ein Beispiel finden Sie im folgenden Codeausschnitt:
loadBalancer: # (Required) The VIPs to use for load balancing vips: # Used to connect to the Kubernetes API controlPlaneVIP: "10.61.181.240" # Shared by all services for ingress traffic ingressVIP: "10.61.181.244" # (Required) Which load balancer to use "F5BigIP" "Seesaw" "ManualLB" or "MetalLB". # Uncomment the corresponding field below to provide the detailed spec kind: MetalLB
|
Die IngressVIP-IP-Adresse muss im Pool der IP-Adressen vorhanden sein, die dem MetalLB-Load Balancer später in der Konfiguration zugewiesen werden. |
Navigieren Sie dann zum metalLB:
Unterabschnitt und ändern Sie die addressPools:
Abschnitt, indem Sie den Pool im - name:
Variable. Sie müssen außerdem einen Pool von IP-Adressen erstellen, die MetalLB Diensten vom Typ LoadBalancer zuweisen kann, indem Sie einen Bereich für die addresses:
Variable.
# # (Required when using "MetalLB" kind in user clusters) Specify the MetalLB config metalLB: # # (Required) A list of non-overlapping IP pools used by load balancer typed services. # # Must include ingressVIP of the cluster. addressPools: # # (Required) Name of the address pool - name: "default" # # (Required) The addresses that are part of this pool. Each address must be either # # in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5). addresses: - "10.61.181.244-10.61.181.249"
|
Der Adresspool kann wie im Beispiel als Bereich bereitgestellt werden, wodurch er auf eine Anzahl von Adressen in einem bestimmten Subnetz beschränkt wird, oder er kann als CIDR-Notation bereitgestellt werden, wenn das gesamte Subnetz verfügbar gemacht wird. |
-
Wenn Kubernetes-Dienste vom Typ LoadBalancer erstellt werden, weist MetalLB den Diensten automatisch eine externe IP zu und gibt die IP-Adresse bekannt, indem es auf ARP-Anfragen antwortet.