GKE Enterprise entdecken


Entdecken Sie Google Kubernetes Engine (GKE) Enterprise und stellen Sie eine Beispielanwendung mit Terraform bereit. Sie stellt eine echte, praxisorientierte Umgebung mit einem GKE-Cluster, Anthos Service Mesh und einer Anwendung mit mehreren Mikrodiensten bereit. In dieser Anleitung lernen Sie diese Features kennen und erfahren anhand der Geschichte einer fiktiven Bank mehr über in Google Cloud bereitgestelltes GKE Enterprise. Anschließend können Sie sich die GKE Enterprise-Features ansehen, die Sie interessieren, indem Sie die GKE Enterprise-Geschichte der Bank in unserem weiterführenden Tutorial nachvollziehen.

Weitere Informationen zu den GKE Enterprise-Features, die GKE Enterprise unterstützen, finden Sie in unserer technischen Übersicht. Sie müssen nicht mit GKE Enterprise oder Terraform vertraut sein, um diese Anleitung durcharbeiten zu können. Sie sollten mit den grundlegenden Kubernetes-Konzepten vertraut sein, darunter Cluster. Wenn dem nicht so ist, finden Sie weitere Informationen unter Kubernetes-Grundlagen , Dokumentation zu Google Kubernetes Engine (GKE) und Anwendung für Anthos Service Mesh vorbereiten.

Für eine echte Produktionsinstallation lesen Sie den Abschnitt "Einrichtung".

Meine Reise

Sie sind der Plattform Lead der Bank of Anthos. Die Bank of Anthos begann vor fast zehn Jahren als Kleinunternehmen für die Zahlungsabwicklung. Seitdem ist sie zu einer erfolgreichen Geschäftsbank mit Tausenden von Mitarbeitern und einer wachsenden Entwicklerorganisation herangewachsen. Bank of Anthos möchte jetzt noch mehr Kunden gewinnen.

In diesem Zeitraum haben Sie und Ihr Team mehr Zeit und Geld für die Wartung der Infrastruktur als für die Schaffung eines neuen Unternehmensmehrwerts verbraucht. Sie haben Jahrzehnte lang die kumulative Erfahrung in Ihren bestehenden Stack investieren können. Sie wissen jedoch, dass es nicht die richtige Technologie ist, um den Umfang der globalen Bereitstellung zu bewältigen, den die Bank bei dem Expandieren benötigt.

Sie haben auf GKE Enterprise umgestellt, um Ihre Anwendung zu modernisieren und erfolgreich zu Google Cloud zu migrieren, um Ihre Expansionsziele zu erreichen.

Lernziele

In dieser Anleitung lernen Sie einige der wichtigsten Features von GKE Enterprise mithilfe folgender Aufgaben kennen:

  • Stellen Sie Ihre GKE Enterprise-Umgebung mit einem Cluster, einer Anwendung und Unternehmensfeatures bereit: Anthos Service Mesh, Config Sync und Policy Controller.

  • Entdecken Sie mit der Google Cloud Console die von Ihrer Anwendung verwendeten GKE-Ressourcen.

  • Verwenden Sie Anthos Service Mesh, um Anwendungsdienste zu beobachten.

Was wird bereitgestellt?

Durch die Bereitstellung der Bank of Anthos in Google Cloud wird Ihr Projekt mit dem Folgenden bereitgestellt:

  • Einem GKE-Cluster, der in Google Cloud ausgeführt wird: anthos-sample-cluster1.

  • Anthos Service Mesh auf dem Cluster installiert. Sie nutzen Anthos Service Mesh, um das Service Mesh auf anthos-sample-cluster1 zu verwalten.

  • Config Sync und Policy Controller, um die Konfigurations- und Sicherheitsrichtlinien für anthos-sample-cluster1 zu verwalten.

  • Bank of Anthos-Anwendung, die auf dem Cluster ausgeführt wird. Hierbei handelt es sich um eine webbasierte Bankanwendung, die eine Reihe von Mikrodiensten geschrieben in verschiedenen Programmiersprachen verwendet, darunter Java, Python und JavaScript.

Kosten

Für die Bereitstellung der Bank of Anthos-Anwendung fallen für GKE Enterprise in Google Cloud „Pay as you go“-Gebühren gemäß unserer Preisseite an, sofern Sie nicht bereits ein Abo erworben haben.

Sie sind auch für andere Google Cloud-Kosten verantwortlich, die während der Ausführung der Bank of Anthos-Anwendung anfallen, z. B. Gebühren für Compute Engine-VMs und Load-Balancer.

Wir empfehlen, nach Abschluss der Anleitung ein Clean-up durchzuführen, um weitere Kosten zu vermeiden.

Hinweise

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind.

Projekt auswählen oder erstellen

Sie können für diese Anleitung ein vorhandenes Projekt verwenden oder ein neues erstellen.

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

Cloud Shell aktivieren

Cloud Shell ist eine interaktive Shell-Umgebung für Google Cloud, mit der Sie Projekte und Ressourcen über Ihren Webbrowser verwalten können.

Aktivieren Sie Cloud Shell in der Google Cloud Console.

Cloud Shell aktivieren

IAM-Rollen zuweisen

Wenn Sie ein vorhandenes Projekt verwenden, achten Sie darauf, dass Ihr Google Cloud-Konto über die erforderlichen IAM-Rollen für diese Anleitung verfügt.

Gewähren Sie Ihrem Google-Konto Rollen. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus: roles/resourcemanager.projectIamAdmin, roles/iam.serviceAccountAdmin, roles/iam.serviceAccountUser, roles/iam.securityAdmin, roles/serviceusage.serviceUsageAdmin, roles/container.admin, roles/logging.logWriter, roles/gkehub.admin, roles/viewer, roles/monitoring.viewer

$ gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
  • Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie EMAIL_ADDRESS durch Ihre E-Mail-Adresse.
  • Ersetzen Sie ROLE durch jede einzelne Rolle.

Bank of Anthos mit Terraform bereitstellen

Wenn alle Voraussetzungen erfüllt sind, führen Sie die folgenden Befehle in Ihrer Cloud Shell aus, um Bank of Anthos bereitzustellen:

  1. Achten Sie darauf, dass Ihr Standardprojekt auf die Projekt-ID festgelegt ist, in der Sie die Anwendung bereitstellen möchten. Führen Sie den folgenden Befehl in Cloud Shell aus, falls noch nicht geschehen:

    gcloud config set project PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID.

  2. Klonen Sie das GitHub-Repository von Bank of Anthos in Ihrer Cloud Shell:

    git clone https://github.com/GoogleCloudPlatform/bank-of-anthos.git
    
  3. Legen Sie die Umgebungsvariable TF_VAR_project auf Ihre Projekt-ID fest:

    export TF_VAR_project=PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID.

  4. Wechseln Sie in das Verzeichnis, in dem die Installationsscripts gehostet werden:

    cd bank-of-anthos/iac/tf-anthos-gke
    
  5. Initialisieren Sie Terraform. Fügen Sie das Flag -upgrade ein, um die neueste Google-Anbieterversion zu verwenden:

    terraform init -upgrade
    
  6. (Optional) Prüfen Sie die Ressourcen, die erstellt werden:

    terraform plan
    
  7. Wenden Sie die Terraform-Konfiguration an, um die erforderlichen Ressourcen zu erstellen und Bank of Anthos bereitzustellen:

    terraform apply
    

Wenn der vorherige Befehl erfolgreich ausgeführt wurde, werden die Bank of Anthos-Anwendung und die Ressourcen, auf denen sie ausgeführt wird, in Ihrem Projekt bereitgestellt. Falls Bereitstellungsfehler auftreten, finden Sie weitere Informationen unter Fehlerbehebung.

Übersicht über GKE Enterprise verwenden

Die GKE Enterprise-Funktionen basieren auf der Idee der Flotte: einer logischen Gruppierung von Kubernetes-Clustern, die zusammen verwaltet werden können. Die GKE Enterprise-Übersicht in der Google Cloud Console bietet einen allgemeinen Überblick über Ihre gesamte Flotte.

Zur GKE Enterprise-Übersicht

In der Übersicht werden die folgenden Informationen angezeigt:

  • Wie viele Cluster es in Ihrer Flotte gibt und ob sie fehlerfrei sind. In diesem Beispiel (sofern Sie keine anderen vorhandenen Flottenmitgliedscluster haben) sehen Sie im Abschnitt Cluster in dieser Flotte, dass Sie einen GKE-Cluster haben.
  • Die Ressourcenauslastung Ihrer Flotte, einschließlich CPU-, Arbeitsspeicher- und Laufwerksnutzung, zusammengefasst nach Flotte und Cluster.
  • Alle Sicherheitsbedenken, die für Ihre Flotte, Ihre flottenweite Policy Controller-Abdeckung und den Synchronisierungsstatus Ihrer Config Sync-Pakete identifiziert wurden.

GKE-Ressourcen entdecken

Auf der GKE-Seite Cluster werden alle Cluster in Ihrem Projekt angezeigt. Die Flotte von Clustern, die bei einer Flotte registriert sind, wird in der Spalte Flotte aufgeführt.

In diesem Abschnitt werfen wir einen Blick auf die GKE-Ressourcen der Bank of Anthos.

Cluster

  1. Rufen Sie in der Google Kubernetes Engine-Konsole die Seite Cluster auf.

    ZUR CLUSTERSEITE

  2. Klicken Sie auf den neu bereitgestellten Cluster anthos-sample-cluster1. Auf der Seite mit den Clusterdetails, die geöffnet wird, sehen Sie grundlegende Clusterdetails sowie die Netzwerk- und Sicherheitskonfigurationen des Clusters. Sie können im Abschnitt Features außerdem sehen, welche GKE-Features in diesem Cluster aktiviert sind.

  3. Klicken Sie auf den Tab Knoten, um alle Worker-Maschinen in Ihrem Cluster aufzurufen. Sie können die Daten weiter aufschlüsseln, um die auf den einzelnen Knoten ausgeführten Pods und eine Ressourcenzusammenfassung des Knotens (CPU, Arbeitsspeicher, Speicher) aufzurufen.

Weitere Informationen zu GKE-Clustern und -Knoten finden Sie in der GKE-Dokumentation.

Arbeitslasten

Die GKE-Konsole enthält eine Arbeitslastansicht, in der eine Zusammenfassungsansicht der Arbeitslasten angezeigt wird, die in allen Ihren GKE-Clustern ausgeführt werden.

Rufen Sie in der Google Kubernetes Engine-Konsole die Seite Arbeitslasten auf.

Zur Seite „Arbeitslasten“

Auf dem Tab Übersicht wird eine Liste der Arbeitslasten und Namespaces aus dem GKE-Cluster angezeigt. Sie können nach Namespaces filtern, um zu sehen, welche Arbeitslasten in den einzelnen Namespaces ausgeführt werden.

Dienste und eingehender Traffic

Die Ansicht Services und Ingress zeigt die Service- und Ingress-Ressourcen des Projekts an. Ein Service stellt eine Reihe von Pods als Netzwerkdienst mit einem Endpunkt bereit, während ein Ingress den externen Zugriff auf die Dienste in einem Cluster verwaltet. Anstelle eines regulären Kubernetes-Ingress verwendet die Bank of Anthos jedoch einen Istio-Ingress-Gateway-Service für den Traffic zur Bank, der von Anthos Service Mesh-Nutzern genutzt werden kann, um dem eingehenden Traffic Ihrer Meshes ein komplexeres Traffic-Routing zu geben. Dies können Sie sehen, wenn Sie die Beobachtbarkeitsfeatures des Service Mesh später in dieser Anleitung verwenden.

  1. Rufen Sie in der Google Kubernetes Engine-Konsole die Seite Services und Ingress auf.

    Zur Seite "Dienste und Ingress"

  2. Um das Ingress-Gateway der Bank of Anthos zu finden, scrollen Sie in der Liste der verfügbaren Dienste nach unten, um den Dienst mit dem Namen frontend zu finden. Ein Ingress-Gateway verwaltet eingehenden Traffic für das Service Mesh Ihrer Anwendung, sodass wir in diesem Fall seine Details zum Aufrufen des Web-Front-Ends der Bank verwenden können.

  3. Klicken Sie auf den Endpunkt der IP-Adresse für den Dienst frontend. Dadurch wird die Weboberfläche der Bank of GKE Enterprise geöffnet.

Dienste beobachten

In GKE Enterprise werden Dienstverwaltung und Beobachtbarkeit von Anthos Service Mesh bereitgestellt, einer Reihe von Tools, die von Istio unterstützt werden. Es hilft Ihnen dabei, ein zuverlässiges Service Mesh zu überwachen und zu verwalten. Weitere Informationen zu Anthos Service Mesh und zur Verwaltung von Mikrodiensten finden Sie in der Anthos Service Mesh-Dokumentation. Wenn Sie mit der Verwendung von Mikrodiensten mit Containern und deren Vorteilen nicht vertraut sind, finden Sie weitere Informationen unter Anwendung für Anthos Service Mesh vorbereiten.

In unserem Beispiel wird im Cluster in der Beispielbereitstellung die auf Mikrodiensten basierende Beispielanwendung der Bank of Anthos ausgeführt. Die Anwendung enthält außerdem das loadgenerator-Dienstprogramm, das eine kleine Last auf den Cluster simuliert, damit Sie Messwerte und Traffic im Dashboard sehen können.

In diesem Abschnitt werden Sie die GKE Service Mesh-Seite verwenden, um sich die Dienste und den Traffic dieser Anwendung anzusehen.

Rufen Sie in der Google Kubernetes Engine-Konsole die Seite Service Mesh auf.

Zur Seite "Service Mesh"

Auf der Seite werden die Ansichten Liste und Topologie nebeneinander dargestellt, wobei alle Mikrodienste Ihres Projekts einschließlich der Systemdienste angezeigt werden. Es kann einige Zeit dauern, bis die Daten auf der Seite Service Mesh ausgefüllt sind. Wenn in der Topologieansicht ein unvollständiges oder kein Diagramm angezeigt wird, versuchen Sie, die Pods im Cluster neu zu starten. Sie können aber auch mit dem nächsten Abschnitt fortfahren und es später noch einmal versuchen.

Listenansicht verwenden

Jede Zeile in der Liste ist einer der Dienste, aus denen die Anwendung der Bank of Anthos besteht. Beispielsweise rendert der Dienst frontend die Web-Benutzeroberfläche der Anwendung und der Dienst userservice verwaltet Nutzerkonten und Authentifizierung.

Jeder Diensteintrag zeigt aktuelle Messwerte für diesen Dienst an, wie z. B. Serverfehlerrate und Anfragen pro Sekunde. Diese Messwerte werden standardmäßig für Dienste in GKE Enterprise erfasst. Sie müssen keinen Anwendungscode schreiben, um diese Statistiken zu sehen.

Sie können diese Ansicht noch weiter aufschlüsseln, um noch mehr Details zu jedem Dienst anzeigen. So finden Sie z. B. weitere Informationen zum Dienst transactionhistory:

  1. Klicken Sie in der Liste der Dienste auf transactionhistory. Auf der Seite der Dienstdetails sehen Sie alle für diesen Dienst verfügbaren Telemetriedaten.

  2. Wählen Sie auf der Seite transactionhistory im Menü auf der linken Seite Verbundene Dienste aus. Hier können Sie die eingehenden und ausgehenden Verbindungen für den Dienst sehen. Ein entsperrtes Schloss-Symbol bedeutet, dass Traffic an diesem Port erkannt wurde, der nicht mit gegenseitiges TLS (mTLS) verschlüsselt wurde. Weitere Informationen zur Funktionsweise finden Sie in der Anleitung Sicheres GKE Enterprise.

    Screenshot der Anthos Service Mesh-Verbundene Dienste-Ansicht

Topologieansicht verwenden

Mit der Topologieansicht können Sie sich darauf konzentrieren, wie die Dienste interagieren. Wie Sie in der Legende sehen können, enthält das Diagramm die Anthos Service Mesh-Dienste, Istio-Dienste, Deployments und Pods der Anwendung. Wenn Sie diese Ansicht maximieren möchten, klicken Sie in der Listenansicht auf Bereich „Linkes Feld“ ein-/ausblenden.

Screenshot der Anthos Service Mesh-Topologieansicht

Anthos Service Mesh beobachtet automatisch, welche Dienste miteinander kommunizieren, um Dienst-zu-Dienst-Verbindungsdetails aufzurufen:

  • Bewegen Sie den Mauszeiger über ein Element, um weitere Informationen zu sehen, einschließlich der ausgehenden Abfragen pro Sekunde von den einzelnen Diensten.

  • Ziehen Sie Knoten mit der Maus, um die Ansicht bestimmter Teile des Diagramms zu verbessern.

  • Klicken Sie auf die Dienstknoten, um weitere Dienstinformationen aufzurufen.

  • Klicken Sie auf Maximieren, wenn Sie den Mauszeiger auf einen Arbeitslastknoten bewegen, um weitere Details aufzurufen, einschließlich der Anzahl der aktuell ausgeführten Instanzen einer Arbeitslast.

GKE Enterprise besser kennenlernen

In dieser Anleitung wurden viele Funktionen von GKE Enterprise vorgestellt, aber in unserem Deployment gibt es noch viel mehr zu sehen und zu tun. In unserem weiterführenden Tutorial können Sie einige praxisorientierte Aufgaben mit GKE Enterprise testen oder Sie lernen Sie die Beispielanwendung weiter auf eigene Faust kennen, bevor Sie die Bereinigung durchführen.

Fehlerbehebung

Sehen Sie sich die folgenden Szenarien zur Fehlerbehebung an, wenn bei der Bereitstellung der Bank of Anthos-Anwendung Probleme auftreten.

Google Cloud APIs nicht aktiviert (Code 403)

Möglicherweise wird ein ähnlicher Fehler wie dieser angezeigt:

Error: Error creating Feature: failed to create a diff: failed to retrieve Feature resource: googleapi:
Error 403: GKE Hub API has not been used in project {project-number} before or it is disabled.
Enable it by visiting https://console.developers.google.com/apis/api/gkehub.googleapis.com/overview?project={project-number} then retry.
If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

Wie der Fehler andeutet, warten Sie einige Minuten, bis eine API vollständig aktiviert ist, und führen Sie die Bereitstellung mit terraform apply noch einmal aus.

Auf der Service Mesh-Seite werden nicht alle Dienste angezeigt

Nach der Bereitstellung der Bank of Anthos-Anwendung müssen Sie möglicherweise einige Minuten warten, bis die Seite Service Mesh die Mikrodienste Ihres Projekts anzeigt. Wenn auf der Seite Service Mesh auch nach einigen Minuten einige oder alle Dienste nicht angezeigt werden, wurden einige der Proxys für Anthos Service Mesh möglicherweise nicht automatisch zusammen mit den Anwendungsarbeitslasten gestartet.

Starten Sie die Pods im Cluster anthos-sample-cluster1 neu, um dieses Problem zu beheben:

  • Rufen Sie Anmeldedaten für den Cluster ab:

    gcloud container clusters get-credentials anthos-sample-cluster1 --zone us-central1
    
  • Löschen Sie die Pods:

    kubectl delete pod -n default --all
    
  • Prüfen Sie, ob die Pods neu gestartet wurden:

    kubectl get pod -n default
    

Die Seite Service Mesh sollte innerhalb weniger Minuten mit den Mikrodiensten Ihres Projekts gefüllt sein.

Bereinigen

Nachdem Sie sich mit der Bank of Anthos-Anwendung vertraut gemacht haben, können Sie die in Google Cloud erstellten Ressourcen bereinigen, damit sie keine Kontingente verbrauchen und Sie dafür nicht künftig zahlen müssen.

  • Option 1: Sie können das Projekt löschen. Wenn Sie das Projekt jedoch behalten möchten, können Sie das Deployment mit Option 2 löschen.

  • Option 2: Wenn Sie Ihr aktuelles Projekt beibehalten möchten, können Sie die Beispielanwendung und den Cluster mit terraform destroy löschen.

Projekt löschen (Option 1)

Sie vermeiden weitere Kosten am einfachsten, wenn Sie das für die Anleitung erstellte Projekt löschen.

    Google Cloud-Projekt löschen:

    gcloud projects delete PROJECT_ID

Bereitstellung löschen (Option 2)

Bei diesem Ansatz werden die Bank of Anthos-Anwendung und der Cluster gelöscht, aber nicht das Projekt. Führen Sie die folgenden Befehle in Ihrer Cloud Shell aus:

  1. Wechseln Sie in das Verzeichnis, in dem die Installationsscripts gehostet werden:

    cd bank-of-anthos/iac/tf-anthos-gke
    
  2. Löschen Sie das Beispiel und den Cluster:

    terraform destroy
    
  3. Geben Sie die Projekt-ID ein, wenn Sie dazu aufgefordert werden.

Wenn Sie die Bereitstellung noch einmal vornehmen möchten, prüfen Sie, ob alle Anforderungen wie im Abschnitt Vorbereitung beschrieben erfüllt sind.

Nächste Schritte