Einrichtung von Traffic Director vorbereiten

Das Einrichten von Traffic Director umfasst folgende Phasen:

  1. Berechtigungen gewähren und die Traffic Director API aktivieren
  2. Anwendungen mit Envoy-Proxys bereitstellen
  3. Dienste und Routingregeln erstellen, die festlegen, wie Traffic durch Ihr Service Mesh geleitet wird

In diesem Dokument wird beschrieben, wie die erste Phase durchgeführt wird. Die zweite und dritte Phase umfasst plattformspezifische Anleitungen zu folgenden Themen:

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

Voraussetzungen

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:

  1. Abrechnung aktivieren
  2. Entscheiden, wie Sie Envoy installieren möchten
  3. Erforderliche Berechtigungen erteilen
  4. Traffic Director API für Ihr Projekt aktivieren
  5. Prüfen, ob das von den Envoy-Proxys verwendete Dienstkonto ausreichende Berechtigungen für den Zugriff auf die Traffic Director API hat

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

Abrechnung aktivieren

Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. Weitere Informationen finden Sie unter Abrechnung für ein Projekt aktivieren, deaktivieren oder ändern.

Entscheiden, wie Envoy installiert werden soll

Mit Traffic Director können Sie Envoy-Proxys ganz einfach installieren und diese Infrastrukturebene verwalten.

  • In Compute Engine können Sie Envoy automatisch zu Anwendungen hinzufügen, die auf Ihren VMs ausgeführt werden. Sie verwenden eine VM-Vorlage, die Envoy installiert, eine Verbindung zu Traffic Director herstellt und das Netzwerk Ihrer VM konfiguriert.

  • In GKE können Sie automatisch Envoy-Sidecar-Proxys zu den Pods Ihrer Dienste hinzufügen. Sie installieren einen Envoy-Sidecar-Injektor in Ihrem Cluster, der Envoy-Sidecar-Proxys hinzufügt, sie mit Traffic Director verbindet und das Netzwerk Ihres Containers konfiguriert.

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 einem Paketmanager beruhenden Ansatz für die Installation und Aktualisierung Ihrer Envoy-Proxys bereitstellt.

Informationen zur Envoy-Versionsverwaltung

Envoy muss zum Arbeiten mit Traffic Director Version 1.9.1 oder höher sein. Darüber hinaus empfehlen wir, immer die neueste Envoy-Version zu verwenden, um bekannte Sicherheitslücken zu verringern.

Wenn Sie sich dafür entscheiden, Envoy mit einer unserer automatisierten Methoden bereitzustellen, erledigen wir diese Aufgabe für Sie so:

  • Wenn Sie die automatisierte Envoy-Bereitstellung mit Compute Engine-VMs verwenden, wird die Envoy-Version installiert, die für die Arbeit mit Traffic Director validiert wurde. Wenn eine neue VM mit der Instanzvorlage erstellt wird, erhält die VM die neueste von uns validierte Version. Wenn Sie eine VM mit langer Laufzeit haben, können Sie mit einem Rolling Update Ihre vorhandenen VMs ersetzen und die neueste Version abrufen.
  • Wenn Sie den Envoy-Sidecar-Injektor mit GKE verwenden, ist der Injektor so konfiguriert, dass er eine neue Version von Envoy verwendet, die wir für die Zusammenarbeit mit Traffic Director validieren. Wenn ein Sidecar zusammen mit dem Arbeitslast-Pod eingefügt wird, erhält er diese Version von Envoy. Wenn Sie eine neuere Version von Envoy verwenden möchten, aktualisieren Sie den Envoy-Sidecar-Injektor.

Informationen zu bestimmten Envoy-Versionen finden Sie unter Versionsverlauf. Informationen zu Sicherheitslücken finden Sie unter Sicherheitshinweise.

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 Projektinhaber oder Projektbearbeiter für das 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 über die zugehörigen Berechtigungen, wie in der Compute Engine IAM-Dokumentation beschrieben.

Aufgabe Erforderliche Rolle
IAM-Richtlinie (Identitäts- und Zugriffsverwaltung) 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 hinzufügen 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 "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 Traffic Director API aktivieren

Wenn Sie die Datenebene einrichten und diese 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.
  • Im Fall von GKE verwendet der xDS-Client das Dienstkonto, das dem zugrunde liegenden GKE-Knoten zugewiesen ist, wenn Workload Identity nicht aktiviert ist.
  • Wenn Workload Identity aktiviert ist, verwendet der xDS-Client das Google-Dienstkonto, das an das Kubernetes-Dienstkonto gebunden ist, das dem Pod zugewiesen ist.

Je nach Version des xDS-Clients, mit dem Sie Envoy konfigurieren, benötigen Sie die folgenden Berechtigungen. Wir empfehlen Ihnen, die neuen Envoy-Bereitstellungen mit xDS v3 zu konfigurieren oder zu xDS v3 zu migrieren, wenn Sie ein bestehendes Deployment haben, das xDS v2 verwendet.

  • Wenn Sie xDS v3 verwenden, muss das von Ihren Clients verwendete Dienstkonto die Berechtigungen trafficdirector.networks.reportMetrics und trafficdirector.networks.getConfigs haben. Sie können die IAM-Rolle trafficdirector.client verwenden, die beide Berechtigungen umfasst.
  • Wenn Sie xDS v2 verwenden, muss das von Ihren Clients verwendete Dienstkonto 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.

    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 Sonstige > Traffic Director-Client 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/trafficdirector.client

Einrichtung fortsetzen

Nachdem Sie die erforderlichen Schritte abgeschlossen haben, können Sie mit der Einrichtung des Service Mesh beginnen. Die folgenden Leitfäden enthalten plattformspezifische Anleitungen für Compute Engine und GKE:

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 in sowohl Compute Engine als auch GKE unterstützt.