Erweitertes Load-Balancing einrichten
Dieses Dokument enthält eine Anleitung zum Einrichten der erweiterten Load-Balancing-Optionen, die unter Erweitertes Load-Balancing – Übersicht beschrieben werden. Dieses Dokument richtet sich an Nutzer, die bereits mit den Konzepten von Traffic Director und Load-Balancing vertraut sind.
Hinweise
Aktualisieren Sie die Google Cloud CLI, um sicherzustellen, dass Sie die neueste Version haben:
gcloud components update
Erstellen Sie einen neuen Back-End-Dienst oder entscheiden Sie, welcher vorhandene Back-End-Dienst für das erweiterte Load-Balancing verwendet werden soll.
Verwenden Sie den folgenden Befehl, um einen neuen Back-End-Dienst mit dem Namen hello-world-backend-service
zu erstellen:
gcloud compute backend-services create hello-world-backend-service \ --global \ --protocol=HTTP \ --health-checks hello-world-health-check --load-balancing-scheme=INTERNAL_SELF_MANAGED
Dienst-Load-Balancing-Richtlinie mit YAML erstellen
Sie können Richtlinien für das Dienst-Load-Balancing in einer YAML-Datei definieren. Richten Sie beispielsweise in einer Datei namens hello-world-lb-policy
eine Richtlinie ein, um die Funktion zum automatischen Leeren der Kapazität zu aktivieren:
name: projects/${project-id}/locations/global/serviceLbPolicies/hello-world-lb-policy autoCapacityDrain: enable: True
Nachdem Sie die YAML-Datei erstellt haben, importieren Sie sie:
gcloud beta network-services service-lb-policies import hello-world-lb-policy \ --source=hello-world-lb-policy.yaml --location=global
Verknüpfen Sie abschließend die Load-Balancing-Richtlinie für den Dienst mit dem Back-End-Dienst:
gcloud compute backend-services update hello-world-backend-service \ --service-lb-policy hello-world-lb-policy --location=global
Alternativ können Sie beim Erstellen des Back-End-Dienstes eine vorhandene Load-Balancing-Richtlinie für Dienste mit einem Back-End-Dienst verknüpfen:
gcloud beta compute backend-services create hello-world-backend-service \ --global \ --protocol=HTTP \ --health-checks hello-world-health-check \ --load-balancing-scheme=INTERNAL_SELF_MANAGED \ --service-lb-policy hello-world-lb-policy
Diese Anleitung bezieht sich nur auf Änderungen an der Back-End-Dienstressource. Ihre Traffic Director-Bereitstellung muss auch eine Systemdiagnose und Firewallregeln enthalten und Sie müssen nach Bedarf Back-Ends hinzufügen.
Spray-to-Region-Algorithmus konfigurieren
Erstellen Sie zum Konfigurieren des Spray-to-Region-Algorithmus, der den Traffic auf alle Zonen in einer Region verteilt, eine Dienst-Load-Balancing-Richtlinie in einer Datei mit dem Namen hello-world-lb-policy.yaml
:
name: projects/${project-id}/locations/global/serviceLbPolicies/hello-world-lb-policy loadBalancingAlgorithm: SPRAY_TO_REGION
Importieren Sie die YAML-Datei:
gcloud beta network-services service-lb-policies import hello-world-lb-policy \ --source=hello-world-lb-policy.yaml --location=global
Sie können diesen Algorithmus auch mit der gcloud CLI konfigurieren:
gcloud network-services service-lb-policies create hello-world-lb-policy \ --load-balancing-algorithm=SPRAY_TO_REGION --location=global
Algorithmus für Wasserfall-nach-Zone konfigurieren
Erstellen Sie eine Dienst-Load-Balancing-Richtlinie in einer Datei mit dem Namen hello-world-lb-policy.yaml
, um den zonenbasierten Algorithmus zu konfigurieren, der den Traffic an die lokale Zone sendet, bevor er an andere Zonen weitergeleitet wird:
name: projects/${project-id}/locations/global/serviceLbPolicies/hello-world-lb-policy loadBalancingAlgorithm: WATERFALL_BY_ZONE
Importieren Sie die YAML-Datei:
gcloud beta network-services service-lb-policies import hello-world-lb-policy \ --source=hello-world-lb-policy.yaml --location=global
Sie können diesen Algorithmus auch mit der gcloud CLI konfigurieren:
gcloud network-services service-lb-policies create hello-world-lb-policy \ --load-balancing-algorithm=WATERFALL_BY_ZONE --location=global
Bevorzugte Back-Ends konfigurieren
Erstellen Sie zum Konfigurieren bevorzugter Back-Ends eine Dienst-Load-Balancing-Richtlinie. Gehen Sie dazu so vor:
name: projects/${project-id}/locations/global/backendServices/hello-world-service ... backends: ... preference: PREFERRED
Das folgende Beispiel zeigt die drei Back-Ends MIG1
, MIG2
und MIG3
:
name: .. ... - backends name: MIG1 preference: PREFERRED - backends name: MIG2 preference: DEFAULT - backends name: MIG3 ...
Sie können dieses Feature auch mit der gcloud CLI konfigurieren:
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ [...] --preference=PREFERRED --global
So aktualisieren Sie die bevorzugten Back-Ends:
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ [...] --preference=PREFERRED
Automatischen Kapazitätsausgleich konfigurieren
Wenn Sie Traffic Director so konfigurieren möchten, dass ein Back-End anhand seines Zustands automatisch entleert wird, erstellen Sie wie folgt eine Dienst-Load-Balancing-Richtlinie:
name: projects/${project-id}/locations/global/serviceLbPolicies/hello-world-lb-policy autoCapacityDrain: enable: True
Sie können dieses Feature auch mit der gcloud CLI konfigurieren:
gcloud network-services service-lb-policies create capacity-drain-policy \ --auto-capacity-drain --location=global
Failover-Verhalten anpassen
Wenn Sie Traffic Director für einen bestimmten Wert für den Schwellenwert des Failover-Systems konfigurieren möchten, fügen Sie Folgendes in eine Dienst-Load-Balancing-Richtlinie ein. Ersetzen Sie dabei VALUE
durch einen Wert zwischen 1 und 99. Die Standardwerte sind 50 für Traffic Director mit proxylosem gRPC und 70 für Traffic Director mit Envoy.
projects/${project-id}/locations/global/serviceLbPolicies/hello-world-lb-policy failoverConfig: failoverHealthThreshold: VALUE
So passen Sie das Failover-Verhalten mit der gcloud CLI an:
gcloud network-services service-lb-policies create failover-health-threshold--policy --failover-health-threshold=VALUE --location=global