Einrichtung von Traffic Director vorbereiten

Das Einrichten von Traffic Director umfasst folgende Phasen:

  1. Berechtigungen gewähren und die Traffic Director API aktivieren
  2. Envoy-Sidecar-Proxys zusammen mit Ihren Anwendungen bereitstellen und die Proxys mit Traffic Director verbinden
  3. Traffic Director einrichten, damit Traffic Director die Datenebene konfigurieren kann.

In diesem Dokument wird beschrieben, wie die erste Phase durchgeführt wird. Die zweite und dritte Phase werden in plattformspezifischen Leitfäden zu Themen behandelt:

Machen Sie sich mit der Traffic Director-Konzeptübersicht vertraut, bevor Sie diesen Leitfaden lesen.

Vorbereitung

Unabhängig davon, ob Sie Traffic Director zum Konfigurieren von Envoy-Proxys verwenden, die zusammen mit Anwendungen auf virtuellen Maschinen, in Containern oder einer Mischung aus beidem ausgeführt werden, müssen Sie zuerst die folgenden Aufgaben ausführen:

Die folgenden Abschnitte enthalten Anleitungen für die einzelnen Aufgaben.

Entscheiden, wie Sie Envoy installieren

Wenn Sie ein Service Mesh erstellen, das Envoy-Proxys verwendet, müssen Sie die Proxys mithilfe von Bootstrapping mit der Traffic Director-Steuerungsebene verbinden, damit sie ihre Konfiguration erhalten. Sie können dies entweder manuell tun oder eine automatische Bereitstellungsmethode verwenden.

  • In Google Kubernetes Engine und Compute Engine können Sie Envoy manuell als Binärdatei (nur Compute Engine) oder als Container (Compute Engine- oder Google Kubernetes Engine-Pod) bereitstellen und die Envoy-Bootstrap-Konfigurationsdatei für die Verbindung mit Traffic Director verwenden.
  • In Compute Engine können Sie eine VM-Vorlage verwenden, die automatisch eine unterstützte Version der Envoy-Binärdatei auf Ihren virtuellen Maschinen bereitstellt. Diese Envoy-Binärdatei wird automatisch über Bootstrapping mit Traffic Director verbunden.

Schließlich können Sie auch Envoy-Bereitstellungslösungen von Drittanbietern mit Traffic Director verwenden. Ein Beispiel für ein solches Angebot ist GetEnvoy, das einen auf Paketmanager basierenden Ansatz zur Installation und Aktualisierung Ihrer Envoy-Proxys bereitstellt.

Wenn Sie Envoy automatisch installieren

Aktivieren Sie die Cloud OS Config API. Sie müssen diese Aktivierung vornehmen, um die erforderlichen Komponenten auf Ihren VMs installieren zu können.

So gehen Sie dazu vor:

Console

  1. Rufen Sie in der Cloud Console "APIs & Dienste" auf.
    Zur Seite "API-Bibliothek"
  2. Wählen Sie das richtige Projekt aus.
  3. Geben Sie in das Suchfeld Cloud OS Config API ein und drücken Sie die Eingabetaste.
  4. Wählen Sie Cloud OS Config API aus.
  5. Klicken Sie auf Aktivieren.

gcloud

gcloud services enable osconfig.googleapis.com

Wenn Sie Envoy manuell installieren

Traffic Director unterstützt Envoy-Version 1.9.1 oder höher. Wir empfehlen dringend, die neueste Envoy-Version zu verwenden, um sicherzustellen, dass alle bekannten Sicherheitslücken beseitigt werden.

In diesem Leitfaden wird erläutert, wie Sie eine Envoy-Binärdatei aus einem Docker-Image erhalten. Wenn Sie sich für die manuellen Einrichtungsschritte in diesem Leitfaden entscheiden, benötigen Sie Docker, um die Envoy-Proxy-Binärdatei zu entpacken. Sie benötigen zum Abrufen außerdem Docker-Berechtigungen, um das Image aus Docker abzurufen. Wenn Sie die Docker-Tools als Nicht-Root-Nutzer ausführen, folgen Sie der Anleitung nach der Installation von Docker.

Erforderliche IAM-Berechtigungen gewähren

Sie müssen ausreichende Berechtigungen zum Erstellen von VM-Instanzen und zum Ändern eines Netzwerks haben, um Traffic Director zu konfigurieren. Wenn Sie die Rolle Inhaber oder Bearbeiter des Projekts in dem Projekt haben, in dem Sie Traffic Director aktivieren, haben Sie automatisch die erforderlichen Berechtigungen.

Andernfalls benötigen Sie die folgenden Compute Engine-IAM-Rollen. Mit diesen Rollen haben Sie auch die zugehörigen Berechtigungen, wie in der IAM-Dokumentation für Compute Engine beschrieben.

Aufgabe Erforderliche Rolle
IAM-Richtlinie (Identity and Access Management) für ein Dienstkonto festlegen Dienstkontoadministrator
Ressource für globale Weiterleitungsregel abrufen Compute-Netzwerkbetrachter
Traffic Director aktivieren Service Usage-Administrator
Netzwerke, Subnetze und Load-Balancer-Komponenten erstellen Netzwerkadministrator
Firewallregeln setzen und löschen Sicherheitsadministrator
Instanzen erstellen Compute-Instanzadministrator

Darüber hinaus müssen die GKE-Knotenpools oder Compute Engine-VMs den Bereich https://www.googleapis.com/auth/cloud-platform haben.

Traffic Director API aktivieren

Console

  1. Rufen Sie in der Cloud Console die Option "APIs & Dienste" für das Projekt auf.
    Zur Seite "API-Bibliothek"
  2. Verwenden Sie das Suchfeld, um die Traffic Director API zu finden. Wenn die Traffic Director API nicht angezeigt wird, haben Sie nicht die erforderlichen Berechtigungen zum Aktivieren der Traffic Director API.
  3. Klicken Sie auf die Traffic Director API.
  4. Klicken Sie auf der Seite mit den Informationen zur API auf Aktivieren.

gcloud

gcloud services enable trafficdirector.googleapis.com

Dienstkonto für den Zugriff auf die Traffic Director API aktivieren

Wenn Sie die Datenebene einrichten und mit Traffic Director verbinden, werden Ihre xDS-Clients (z. B. Envoy-Proxys) mit dem xDS-Server trafficdirector.googleapis.com verbunden. Diese xDS-Clients dienen dem xDS-Server als Dienstkontoidentität, um die ordnungsgemäße Kommunikation zwischen der Datenebene und der Steuerungsebene zu gewährleisten.

Bei einer Compute Engine-VM verwendet der xDS-Client das der VM zugewiesene Dienstkonto. Wenn Workload Identity nicht für GKE aktiviert ist, verwendet der xDS-Client das Dienstkonto, das dem zugrunde liegenden GKE-Knoten zugewiesen ist. Wenn Workload Identity aktiviert ist, verwendet der xDS-Client das Google-Dienstkonto, das mit dem Kubernetes-Dienstkonto verknüpft ist, das dem Pod zugewiesen ist.

Das von Ihren xDS-Clients verwendete Dienstkonto muss die IAM-Berechtigung compute.globalForwardingRules.get auf Projektebene haben. Sie können diese Berechtigung auch erteilen, indem Sie dem Dienstkonto die Rolle compute.networkViewer zuweisen.

Console

  1. Rufen Sie in der Cloud Console die Seite IAM & Verwaltung auf.

    Zur Seite "IAM & Verwaltung"

  2. Wählen Sie Ihr Projekt aus.

  3. Bestimmen Sie das Dienstkonto, dem Sie eine Rolle hinzufügen möchten.

    • Wenn sich das Dienstkonto nicht schon in der Mitgliederliste befindet, sind ihm keine Rollen zugewiesen. Klicken Sie auf Hinzufügen und geben Sie die E-Mail-Adresse des Dienstkontos ein.
    • Wenn sich das Dienstkonto bereits in der Mitgliederliste befindet, enthält es Rollen. Wählen Sie das Dienstkonto aus und klicken Sie auf den Tab Rollen.
  4. Klicken Sie für das Dienstkonto, das Sie bearbeiten möchten, auf die Schaltfläche Bearbeiten .

  5. Wählen Sie die Rolle Compute Engine-Compute-Netzwerkbetrachter aus.

  6. Klicken Sie zum Anwenden dieser Rolle auf das Dienstkonto auf Speichern.

gcloud

Ersetzen Sie die Variable ${SERVICE_ACCOUNT_EMAIL} durch den richtigen Wert.

PROJECT=`gcloud config get-value project`
gcloud projects add-iam-policy-binding ${PROJECT} \
   --member serviceAccount:${SERVICE_ACCOUNT_EMAIL} \
   --role roles/compute.networkViewer

Einrichtungsprozess fortsetzen

Nachdem Sie die erforderlichen Schritte ausgeführt haben, können Sie Ihre Sidecar-Proxys bereitstellen und Traffic Director konfigurieren. Die folgenden Leitfäden enthalten plattformspezifische Anleitungen für Compute Engine und Google Kubernetes Engine:

Beachten Sie, dass diese Leitfäden sich zwar jeweils auf den Einsatz von Envoy-Sidecar-Proxys in einer einzigen Umgebung (entweder Compute Engine oder GKE) konzentrieren, Traffic Director jedoch flexibel ist und Bereitstellungen unterstützt, die sich über Umgebungen erstrecken.

Sie können Traffic Director mit dem Compute Engine-Load-Balancing-SDK oder mit REST APIs konfigurieren. Weitere Informationen finden Sie in den Load-Balancing API- und gcloud-Referenzen.