Anthos Service Mesh 1.6

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

In dieser Anleitung wird beschrieben, wie Sie Anthos Service Mesh 1.6.8-asm.0 in einem neuen Anthos GKE in Google Cloud-Cluster über die Anthos-Befehlszeilenschnittstelle installieren. Mit der Anthos-Befehlszeile können Sie Ihr Google Cloud-Projekt auf einfache und deklarative Art konfigurieren. Erstellen Sie außerdem einen neuen Anthos GKE-Cluster, der alle Anforderungen erfüllt, und installieren Sie Anthos Service Mesh auf dem Cluster.

Derzeit unterstützt die Anthos-Befehlszeile nur Installationen auf Anthos GKE in Google Cloud.

Durch die Installation werden die folgenden Funktionen aktiviert:

In diesem Leitfaden wird auch erläutert, 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:

Anforderungen

  • Sie benötigen ein Anthos-Abo. Für Anthos (nur auf Google Cloud) ist alternativ eine "Pay as you go"-Abrechnung möglich. Weitere Informationen finden Sie in der Anthos-Preisübersicht.

  • 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

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 die Zone oder Region 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. Optional können Sie die Ressourcenkonfigurationsdateien in Ihr eigenes Versionsverwaltungssystem wie Cloud Source Repositories einchecken, damit Sie Änderungen an den Dateien verfolgen können.

Optionale Werte festlegen

Mit der Anthos-Befehlszeile können Sie auch andere Werte festlegen. So rufen Sie eine Liste der verfügbaren kpt-Setter auf:

kpt cfg list-setters asm/

Die Ausgabe sieht etwa so aus:

          NAME                            VALUE                SET BY   DESCRIPTION   COUNT
anthos.servicemesh.hub                    your_anthos_hub                               1
anthos.servicemesh.tag                    your_anthos_tag                               1
gcloud.compute.location                   your_zone_or_region                           8
gcloud.compute.network                    default                                       1
gcloud.compute.subnetwork                 default                                       1
gcloud.container.cluster                  your_cluster_name                             9
gcloud.container.cluster.releaseChannel   REGULAR                                       1
gcloud.container.nodepool.max-nodes       4                                             1
gcloud.core.project                       your_project_ID      kpt                     21
gcloud.project.projectNumber              your_project_number  kpt                      4 

Standardmäßig ist die Release-Version auf REGULAR festgelegt. Eine Beschreibung der einzelnen Versionen finden Sie unter Welche Kanäle sind verfügbar?. Es wird empfohlen, sich für die Release-Version "Regular" zu registrieren, da andere Versionen möglicherweise auf einer GKE-Version basieren, die mit Anthos Service Mesh nicht unterstützt wird. 1.6.8. Weitere Informationen finden Sie unter Unterstützte Umgebungen.

Maschinentyp oder Anzahl der 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-PROJECT_NUMBER hinzu, wobei 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-74cc894bfd-786rg     1/1     Running     0          7m19s
istiod-78cdbbbdb-d7tps                    1/1     Running     0          7m36s
promsd-576b8db4d6-lqf64                   2/2     Running     1          7m19s

Wenden Sie die in ISTIO-SECURITY-2020-007 angegebenen Konfigurationsänderungen an, um DoS-Angriffe (Denial of Service) auf Ihr Mesh zu verhindern.

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=enabled --overwrite

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

Weitere Informationen finden Sie unter Sidecar-Proxys einfügen.

Anthos Service Mesh-Seiten aufrufen

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.

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

Weitere Informationen