Anthos Service Mesh 1.6

Anthos Service Mesh mithilfe der Anthos-Befehlszeile auf einem neuen Cluster installieren

In dieser Anleitung wird erläutert, wie Sie Anthos Service Mesh 1.6.11-asm.1 mithilfe der Anthos-Befehlszeile auf einem neuen GKE-Cluster in Google Cloud installieren. Die Anthos-Befehlszeile bietet eine einfache und deklarative Möglichkeit, Ihr Google Cloud-Projekt zu konfigurieren und einen neuen GKE-Cluster in Google Cloud zu erstellen, der alle Anforderungen erfüllt. Anschließend wird Anthos Service Mesh auf dem Cluster installiert.

Die Anthos-Befehlszeile unterstützt Installationen nur in GKE in Google Cloud. Informationen zum Installieren von Anthos Service Mesh in anderen Umgebungen finden Sie in den folgenden Anleitungen:

Informationen zum Installieren von Anthos Service Mesh in Google Cloud mit dem Konfigurationsprofil asm-gcp-multiproject oder mit Citadel als Zertifizierungsstelle anstelle der Anthos Service Mesh-Zertifizierungsstelle (Mesh CA) finden Sie unter Anthos Service Mesh in Google Cloud installieren.

Durch die Installation werden die folgenden Funktionen aktiviert:

In dieser Anleitung wird auch beschrieben, wie Sie Ihren Cluster im Environ Ihres Projekts registrieren. Mit einem Environ können Sie Cluster organisieren und so die Verwaltung mehrerer Cluster vereinfachen. Wenn Sie Ihre Cluster in einem Environ registrieren, können Sie Dienste und andere Infrastruktur nach Bedarf gruppieren, um einheitliche Richtlinien anzuwenden.

Vorbereitung

In diesem Leitfaden wird vorausgesetzt, dass Sie bereits Folgendes haben:

Bevor Sie mit der Installation beginnen:

Voraussetzungen

  • Für die Aufnahme in das Service Mesh müssen Dienstports benannt werden und der Name muss das Protokoll des Ports in der folgenden Syntax enthalten: name: protocol[-suffix], wobei die eckigen Klammern ein optionales Suffix angeben, das mit einem Bindestrich beginnen muss. Weitere Informationen finden Sie unter Dienstports benennen.

Beschränkungen

Nur eine Installation von Anthos Service Mesh pro Google Cloud-Projekt wird unterstützt. Mehrere Mesh-Bereitstellungen in einem einzelnen Projekt werden nicht unterstützt.

Zertifikatsdaten

Zertifikate der Mesh CA enthalten die folgenden Daten zu den Diensten Ihrer Anwendung:

  • Die Google Cloud-Projekt-ID
  • Der GKE-Namespace
  • Der Name des GKE-Dienstkontos

Umgebungsvariablen einrichten

  1. Rufen Sie die Projekt-ID des Projekts ab, in dem der Cluster erstellt wurde.

    gcloud

    gcloud projects list
    

    Console

    1. Öffnen Sie in der Cloud Console die Seite Dashboard.

      Zur Seite "Dashboard"

    2. Klicken Sie oben auf der Seite auf die Drop-down-Liste Auswählen aus. Wählen Sie im angezeigten Fenster Auswählen aus Ihr Projekt aus.

      Die Projekt-ID wird auf der Dashboard-Karte Projektinformationen des Projekts angezeigt.

  2. Erstellen Sie eine Umgebungsvariable für die Projekt-ID:

    export PROJECT_ID=YOUR_PROJECT_ID

  3. Erstellen Sie eine Umgebungsvariable für die Projektnummer:

    export ENVIRON_PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")

    Obwohl dies dieselbe Projektnummer ist, in der der Cluster erstellt wurde, wird diese Projektnummer für die im Cluster und in Anthos Service Mesh festgelegte Mesh-ID verwendet. Sie verwenden diese Projektnummer auch, wenn Sie mit der Environ Ihr Cluster registrieren.

  4. Erstellen Sie eine Umgebungsvariable für den Clusternamen:

    export CLUSTER_NAME=YOUR_CLUSTER_NAME

    Der Clustername darf nur kleingeschriebene, alphanumerische Zeichen und "-" enthalten und muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden. Er darf nicht länger als 40 Zeichen sein.

  5. Erstellen Sie eine Umgebungsvariable für die Zone oder Region Ihres Clusters:

    export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION

Ressourcenkonfigurationsdateien vorbereiten

  1. Erstellen Sie ein Verzeichnis für die Ressourcenkonfigurationsdateien des asm-Pakets. Es empfiehlt sich, den Clusternamen als Verzeichnisnamen zu verwenden.

  2. Wechseln Sie in das Verzeichnis, in das Sie das Paket asm herunterladen möchten.

  3. Laden Sie das Paket asm in das aktuelle Arbeitsverzeichnis herunter:

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.6-asm .
    
  4. Legen Sie die Projekt-ID fest:

    kpt cfg set asm gcloud.core.project ${PROJECT_ID}
    
  5. Legen Sie den Clusternamen fest:

    kpt cfg set asm gcloud.container.cluster ${CLUSTER_NAME}
    
  6. Legen Sie den Clusterstandort fest:

    kpt cfg set asm gcloud.compute.location ${CLUSTER_LOCATION}
    

    Standardmäßig verwenden die kpt-Setter das Projekt und die Clusterzone oder -region, die in gcloud config konfiguriert sind.

  7. Legen Sie die Projektnummer fest:

    kpt cfg set asm gcloud.project.environProjectNumber ${ENVIRON_PROJECT_NUMBER}
    
  8. Optional können Sie die Ressourcenkonfigurationsdateien in Ihr eigenes Versionsverwaltungssystem wie Cloud Source Repositories einchecken, damit Sie Änderungen an den Dateien verfolgen können.

Maschinentyp oder Anzahl von Knoten ändern

Die Anthos-Befehlszeile erstellt einen neuen Cluster mit der erforderlichen Anzahl von Knoten und dem von Anthos Service Mesh erforderlichen Mindestmaschinentyp. Diese Werte werden in nodepool.yaml angegeben. Sie können Ihre lokale Kopie von nodepool.yaml ändern, um einen anderen Maschinentyp anzugeben, sofern dieser mindestens 4 vCPUs hat.

Mit dem folgenden Setter können Sie die Anzahl der Knoten nach Bedarf für Ihre Systemanforderungen erhöhen:

kpt cfg set asm gcloud.container.nodepool.max-nodes NUMBER_OF_NODES

Anthos Service Mesh auf neuem Cluster installieren

Die Anthos-Befehlszeile aktiviert die folgenden Optionen für den Cluster, die von Anthos Service Mesh benötigt werden:

  • Fügt dem Cluster ein mesh_id-Label im Format proj-ENVIRON_PROJECT_NUMBER hinzu, wobei ENVIRON_PROJECT_NUMBER die Projektnummer des Projekts ist, in dem der Cluster erstellt wird. Das Label mesh_id ist erforderlich, damit Messwerte im Anthos Service Mesh-Dashboard in der Cloud Console angezeigt werden. Wenn Ihr Cluster bereits Labels hat, werden diese von der Anthos-Befehlszeile beibehalten.

  • Aktiviert Workload Identity.

  • Aktiviert Kubernetes Engine Monitoring.

  • Meldet den Cluster in einer Übersicht über Release-Versionen an.

Führen Sie den folgenden Befehl aus, um einen neuen Cluster zu erstellen und Anthos Service Mesh mit den zuvor konfigurierten Konfigurationsdateien zu installieren:

gcloud beta anthos apply asm

Komponenten der Steuerungsebene prüfen

Prüfen Sie, ob die Pods der Steuerungsebene in istio-system aktiv sind:

kubectl get pod -n istio-system

Die erwartete Ausgabe sieht in etwa so aus:

NAME                                   READY   STATUS      RESTARTS   AGE
istio-ingressgateway-cff9f5c7d-qg4ls   1/1     Running   0          7m5s
istio-ingressgateway-cff9f5c7d-vlkzb   1/1     Running   0          7m20s
istiod-66b587859c-886gx                1/1     Running   0          7m33s
istiod-66b587859c-dfs2j                1/1     Running   0          7m33s

Cluster registrieren

Sie müssen Ihren Cluster im Environ des Projekts registrieren, um Zugriff auf die einheitliche Benutzeroberfläche in der Cloud Console zu erhalten. Eine Environ ermöglicht die einheitliche Anzeige und Verwaltung der Cluster und ihrer Arbeitslasten, einschließlich Clustern außerhalb von Google Cloud.

Informationen zum Registrieren Ihres Clusters finden Sie unter Cluster bei Environ registrieren.

Sidecar-Proxys einfügen

Anthos Service Mesh verwendet Sidecar-Proxys, um die Sicherheit, Zuverlässigkeit und Beobachtbarkeit von Netzwerken zu verbessern. Mit Anthos Service Mesh werden diese Funktionen vom primären Container der Anwendung abstrahiert und in einem gemeinsamen Out-of-Process-Proxy implementiert, der als separater Container im selben Pod bereitgestellt wird.

Bevor Sie Arbeitslasten bereitstellen, muss die Sidecar-Proxy-Einfügung konfiguriert werden, um den Traffic mit Anthos Service Mesh überwachen und schützen zu können.

Alle Arbeitslasten, die vor der Installation von Anthos Service Mesh auf Ihrem Cluster ausgeführt wurden, müssen den Sidecar-Proxy enthalten oder aktualisiert haben, damit sie die aktuelle Anthos Service Mesh-Version haben. Bevor Sie neue Arbeitslasten bereitstellen, muss die Sidecar-Proxy-Einfügung konfiguriert werden, um den Traffic mit Anthos Service Mesh überwachen und schützen zu können.

Sie können das automatische Einfügen der Sidecar-Datei mit einem Befehl aktivieren. Beispiel:

kubectl label namespace NAMESPACE istio-injection- istio.io/rev=asm-1611-1 --overwrite

Dabei ist NAMESPACE der Name des Namespace für die Dienste der Anwendung oder default, wenn Sie nicht explizit einen Namespace erstellt haben.

Anthos Service Mesh-Seiten aufrufen

Dieser Abschnitt ist nur relevant, wenn Sie Anthos Service Mesh mit dem Konfigurationsprofil asm-gcp installiert haben. Wenn Sie das Profil asm-gcp-multiproject verwendet haben, um Anthos Service Mesh zu installieren, sind Telemetriedaten in den Anthos Service Mesh-Dashboards in der Cloud Console nicht verfügbar.

Nachdem Sie Arbeitslasten mit den eingefügten Sidecar-Proxys auf Ihrem Cluster bereitgestellt haben, können Sie die Anthos Service Mesh-Seiten in der Cloud Console entdecken, um alle Beobachtbarkeitsfunktionen von Anthos Service Mesh zu sehen. Nach der Bereitstellung von Arbeitslasten dauert es etwa ein oder zwei Minuten, bis Telemetriedaten in der Cloud Console angezeigt werden.

Der Zugriff auf Anthos Service Mesh in der Cloud Console wird durch die Identitäts- und Zugriffsverwaltung (IAM) gesteuert. Für den Zugriff auf Anthos Service Mesh-Seiten muss ein Projektinhaber den Nutzern die Rolle "Projektbearbeiter" oder "Betrachter" oder die unter Zugriff auf Anthos Service Mesh in der Cloud Console steuern beschriebenen restriktiveren Rollen gewähren.

  1. Wechseln Sie in der Google Cloud Console zu Anthos Service Mesh.

    Zur Seite "Anthos Service Mesh"

  2. Wählen Sie das Cloud-Projekt aus der Drop-down-Liste in der Menüleiste aus.

  3. Wenn Sie mehr als ein Service Mesh haben, wählen Sie das Mesh aus der Drop-down-Liste Service Mesh aus.

Weitere Informationen finden Sie unter Mit Anthos Service Mesh in der Cloud Console vertraut machen.

Zusätzlich zu den Anthos Service Mesh-Seiten werden Messwerte, die sich auf Ihre Dienste beziehen (z. B. die Anzahl der Anfragen, die von einem bestimmten Dienst empfangen wurden), an Cloud Monitoring gesendet, wo sie im Metrics Explorer angezeigt werden.

So rufen Sie Messwerte auf:

  1. Rufen Sie in der Google Cloud Console die Seite Monitoring auf.

    Zu Monitoring

  2. Wählen Sie Ressourcen > Metrics Explorer aus.

Eine vollständige Liste der Messwerte finden Sie unter Istio-Messwerte in der Cloud Monitoring-Dokumentation.

Weitere Informationen