Lernpfad: Skalierbare Anwendungen – Änderungen mit Config Sync zentralisieren


Diese Reihe von Anleitungen richtet sich an IT-Administratoren und Operatoren, die moderne Anwendungsumgebungen bereitstellen, ausführen und verwalten möchten, die in Google Kubernetes Engine (GKE) Enterprise ausgeführt werden. In diesen Anleitungen erfahren Sie, wie Sie Monitoring und Benachrichtigungen konfigurieren, Arbeitslasten skalieren und Fehler simulieren – und zwar anhand der Beispiel-Mikrodienstanwendung „Cymbal Bank“:

  1. Cluster erstellen und Beispielanwendung bereitstellen
  2. Mit Google Cloud Managed Service for Prometheus überwachen
  3. Arbeitslasten skalieren
  4. Fehler simulieren
  5. Änderungsmanagement zentralisieren (diese Anleitung)

Übersicht und Ziele

Wenn Sie neue Dienste und Anwendungen erstellen, möchten Sie möglicherweise Änderungen in verschiedenen Umgebungen testen. Wenn Ihre Organisation wächst, benötigen Sie möglicherweise unterschiedliche Clusterkonfigurationen für verschiedene Teams. Die Verwaltung mehrerer Cluster mit unterschiedlichen Konfigurationen kann eine Herausforderung sein. Sie können GitOps-Tools wie Config Sync verwenden, um diese Herausforderungen zu verwalten.

In der Anleitung zum Erstellen eines Clusters haben Sie einen Cluster erstellt und die Anwendung "Cymbal Bank" in diesem Cluster bereitgestellt.

In dieser Anleitung erfahren Sie, wie Sie die Kubernetes-Manifeste für Ihre Anwendung in einem zentralen Git-Repository speichern und mithilfe von Tools wie Config Sync eine Anwendung in mehreren Clustern in einer Flotte bereitstellen. Sie lernen, wie Sie die folgenden Aufgaben ausführen:

  • Git-Repository erstellen und mit Cloud Build verbinden

  • Cluster erstellen, bei einer Flotte registrieren und Config Sync auf Ihrer Flotte von Clustern installieren

  • Flottenpaket verwenden, um Cymbal Bank und andere Ressourcen in einem Cluster oder einer gesamten Flotte bereitzustellen

Kosten

Wenn Sie GKE Enterprise aktivieren und die Beispielanwendung "Cymbal Bank" für diese Reihe von Anleitungen bereitstellen, fallen für GKE Enterprise in Google Cloud Gebühren pro Cluster an. Weitere Informationen finden Sie auf der Preisseite, bis Sie GKE Enterprise deaktivieren oder das Projekt löschen.

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

Hinweise

Für das Speichern, Ändern und Bereitstellen von Ressourcen aus einem Git-Repository müssen Sie die erste Anleitung zum Erstellen eines GKE-Clusters ausführen, der den Autopilot-Modus verwendet und die auf Mikrodiensten basierende Beispielanwendung „Cymbal Bank“ bereitstellen.

Wir empfehlen Ihnen, diese Reihe von Anleitungen für Cymbal Bank in der richtigen Reihenfolge durchzugehen. Während Sie die einzelnen Anleitungen durcharbeiten, lernen Sie neue Fähigkeiten kennen und nutzen zusätzliche Google Cloud-Produkte und -Dienste.

Wenn Sie mit Config Sync Kubernetes-Manifeste aus einem Git-Repository in Ihren Clustern bereitstellen möchten, müssen Sie die folgenden APIs aktivieren:

gcloud services enable configdelivery.googleapis.com cloudbuild.googleapis.com developerconnect.googleapis.com

Git-Repository erstellen und mit Cloud Build verbinden

Ein Flottenpaket ist eine Sammlung von Kubernetes-Ressourcenmanifesten. Durch das Bündeln dieser Manifeste als Paket können Sie eine Anwendung direkt aus einem Git-Repository auf mehreren Clustern in einer Flotte bereitstellen. Dieser Workflow bietet folgende Vorteile:

  • Verbesserte Skalierbarkeit, indem Ressourcen in einer gesamten Flotte bereitgestellt werden, anstatt sie manuell Cluster für Cluster anzuwenden.
  • Sicherere Updates mit schrittweisen Roll-outs.
  • Zusätzliche Workflows aus zentralen Beschaffungsdateien in Git, z. B. Versionsverwaltung und Genehmigungen

Um zu zeigen, wie Sie Änderungen in Git speichern und vornehmen, erstellen Sie ein Fork des Cymbal Bank-Repositories und verbinden es mit Cloud Build.

Cymbal Bank-Repository verzweigen

In dieser Anleitung nehmen Sie Änderungen an Ihrem Git-Repository vor, um zu zeigen, wie Sie mit Config Sync Änderungen an Kubernetes-Ressourcen sicher verwalten und bereitstellen können. Wenn Sie diese Änderungen direkt vornehmen möchten, müssen Sie das Git-Repository verzweigen, anstatt es zu klonen.

So forken Sie das Repository:

  1. Rufen Sie in GitHub das Beispiel-Repository von Cymbal Bank (bank-of-anthos) auf.

  2. Klicken Sie auf Fork, um eine Kopie des Repositorys mit Quelldateien zu erhalten.

    Alternativer Text

  3. Melden Sie sich gegebenenfalls in Ihrem GitHub-Konto an. Wenn Sie Zugriff auf andere Organisationen oder Teams auf GitHub haben, achten Sie darauf, das Repository in Ihrem privaten Konto zu forken.

Sie haben jetzt eine Fork des Cymbal Bank-Repositorys. Alle von Ihnen bereitgestellten Kubernetes-Manifeste befinden sich im Ordner /kubernetes-manifests.

Repository mit Cloud Build verbinden

Cloud Build ist ein Dienst, mit dem Builds in Google Cloud ausgeführt werden können. Sie können ihn für die Continuous Delivery im GitOps-Stil verwenden. Der Flottenpaketdienst von Config Sync verwendet Cloud Build, um die Kubernetes-Ressourcen aus Ihrem Git-Repository abzurufen und in Ihren Clustern bereitzustellen. Wenn Sie ein Flottenpaket verwenden, müssen Sie Cloud Build nur einmal pro Repository einrichten, das Sie synchronisieren möchten. Die Fleet Package API erstellt die Build-Trigger automatisch über Cloud Build.

So verbinden Sie Ihr GitHub-Repository mit Cloud Build:

  1. Öffnen Sie in der Google Cloud Console die Seite „Cloud Build“ und wählen Sie Repositories aus.

    Zur Seite „Repositories“

  2. Achten Sie darauf, dass Sie sich auf der Seite Repositories der 2. Generation befinden. Wählen Sie bei Bedarf Repositories ansehen (2. Generation) aus.

  3. Klicken Sie auf Hostverbindung erstellen.

  4. Wählen Sie im Menü Region die Option us-central1 (Iowa) aus.

  5. Geben Sie im Feld Name cymbal-bank-connection als Namen für die Verbindung ein.

  6. Klicken Sie auf Verbinden.

  7. Wenn Sie Cloud Build zum ersten Mal mit Ihrem GitHub-Konto verbinden, führen Sie die folgenden Schritte aus:

    1. Akzeptieren Sie die Anfrage für Ihr GitHub-OAuth-Token. Das Token wird in Secret Manager zur Verwendung mit der Cloud Build-GitHub-Verbindung gespeichert. Klicken Sie auf Weiter.
    2. Installieren Sie Cloud Build in Ihrem GitHub-Repository. Wählen Sie In neuem Konto installieren aus.
    3. Wählen Sie im neuen GitHub-Fenster das GitHub-Konto aus, in dem Sie zuvor die Fork von Cymbal Bank erstellt haben. In einer Produktionsumgebung können Sie andere Konten oder Repositories auswählen, für die Sie den Zugriff delegiert haben.
    4. Folgen Sie den Authentifizierungsaufforderungen, um Ihre Identität in GitHub zu bestätigen.
    5. Wählen Sie im GitHub-Fenster für den Zugriff auf das Cloud Build-Repository die Option Nur Repositories auswählen aus.
    6. Wählen Sie im Drop-down-Menü mit den Repositorys Ihre Fork von bank-of-anthos aus.
    7. Klicken Sie auf Speichern.
  8. Klicken Sie auf der Cloud Build-Seite in der Google Cloud Console auf Repository verknüpfen, um ein neues Git-Repository mit Cloud Build zu verbinden.

  9. Wählen Sie im Menü Verbindung die Option cymbal-bank-connection aus.

  10. Wählen Sie im Menü Repositories die Fork bank-of-anthos aus.

  11. Klicken Sie auf Verknüpfen.

Cluster erstellen

In der ersten Anleitung dieser Reihe haben Sie einen Cluster erstellt und die Anwendung "Cymbal Bank" in diesem Cluster bereitgestellt. In der Praxis ist es unwahrscheinlich, dass Sie nur einen Cluster verwalten müssen. Mit GKE können Sie Cluster in einer Flotte gruppieren, einer logischen Gruppe von Clustern, die gemeinsam verwaltet werden können. Innerhalb einer Flotte können Sie Ihre Cluster weiter gruppieren, wobei einige Cluster verschiedene Umgebungen darstellen oder zu verschiedenen Teams gehören. Beispiel: Sie haben einen Entwicklungscluster, einen Staging-Cluster und einen Produktionscluster. In einer großen Organisation haben einzelne Teams möglicherweise eigene Cluster für unterschiedliche Umgebungen. Als IT-Administratoren oder Operatoren müssen Sie möglicherweise Dutzende Cluster verwalten.

Wenn Sie Anwendungen oder einzelne Ressourcen wie benutzerdefinierte Richtlinien für alle diese Cluster bereitstellen, können Sie mit GKE Enterprise-Features wie Config Sync diese Bereitstellungen in großem Maßstab verwalten.

Sie erstellen einen neuen Cluster und stellen die Anwendung der Cymbal Bank bereit, um zu zeigen, wie Sie Ressourcen in verschiedenen Umgebungen oder einer Reihe von Clustern bereitstellen:

  1. Erstellen Sie einen GKE-Cluster, der eine Entwicklungsumgebung simuliert:

    gcloud container clusters create-auto scalable-apps-dev \
      --project=PROJECT_ID \
      --region=REGION \
      --fleet-project=PROJECT_ID \
      --release-channel=rapid
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID durch die automatisch generierte ID des Projekts ersetzen, das Sie im vorherigen Abschnitt erstellt haben. Die Projekt-ID unterscheidet sich oft vom Projektnamen. Ihr Projekt könnte beispielsweise scalable-apps sein, Ihre Projekt-ID jedoch scalable-apps.
    • REGION durch die Region, in der Sie den Cluster erstellen möchten, z. B. us-central1.
  2. Labels sind Schlüssel/Wert-Paare, die Sie GKE-Ressourcen hinzufügen können, um sie zu organisieren. Bei Flottenpaketen können Sie Labels für Flottenmitgliedschaften verwenden, um anzupassen, auf welche Cluster die Flottenpaketziele ausgerichtet sind. Andere Arten von Labels werden nicht unterstützt.

    Fügen Sie der Flottenmitgliedschaft ein Label hinzu:

    gcloud container fleet memberships update scalable-apps-dev \
        --update-labels=env=dev
    

    Wenn Sie später in dieser Anleitung das Flottenpaket erstellen, sorgt dieses Label dafür, dass die Ressourcen nur im Cluster scalable-apps-dev und nicht im Cluster scalable-apps aus dem ersten Tutorial dieser Reihe bereitgestellt werden.

Config Sync installieren

Installieren Sie Config Sync in beiden Clustern:

  1. Rufen Sie in der Google Cloud Console im Abschnitt Features die Seite Konfiguration auf.

    Zu „Config“

  2. Klicken Sie auf Config Sync installieren.
  3. Lassen Sie die Option Manuelle Upgrades aktiviert.
  4. Das Versionsmenü sollte standardmäßig die aktuelle Version von Config Sync verwenden. Wählen Sie bei Bedarf die neueste Version aus.
  5. Wählen Sie unter Installationsoptionen die Option Config Sync in der gesamten Flotte installieren (empfohlen) aus.
  6. Klicken Sie auf Config Sync installieren.
  7. Sehen Sie sich auf dem Tab Einstellungen für Config Sync das Feld Status in der Clusterliste an. Nach einigen Minuten wird der Status als „Ausstehend“ angezeigt, bis der Cluster richtig für Config Sync konfiguriert ist. Es kann bis zu 10 Minuten dauern, bis der Status zu Aktiviert wechselt.

Cymbal Bank bereitstellen

In der ersten Anleitung dieser Reihe haben Sie kubectl-Befehle verwendet, um die Anwendungskonfigurationen auf Ihren Cluster anzuwenden. In dieser Anleitung verwenden Sie das Feature für Flottenpakete von Config Sync, um dieselben Konfigurationen in einem neuen Cluster bereitzustellen. In einem späteren Abschnitt sehen Sie ein Beispiel dafür, wie Sie Ihrem Git-Repository eine neue Ressource hinzufügen und diese Ressourcen in einer Clusterflotte bereitstellen.

Dienstkonto für Cloud Build einrichten

Ein Dienstkonto ist eine spezielle Art von Konto, das normalerweise von einer Anwendung und nicht von einer Person verwendet wird. Als Best Practice beim Erstellen von Dienstkonten sollten Sie Dienstkonten für einen einzelnen, bestimmten Dienst oder eine bestimmte Aufgabe erstellen und dem Dienstkonto detaillierte Rollen zuweisen. In dieser Anleitung erstellen Sie ein Dienstkonto, um Cloud Build Berechtigungen zum Abrufen von Kubernetes-Ressourcen aus Ihrem Git-Repository und zum Bereitstellen in Ihren Clustern zu erteilen.

Führen Sie die folgenden Schritte aus, um das Dienstkonto zu erstellen und die erforderlichen Berechtigungen zu erteilen:

  1. Erstellen Sie das Dienstkonto:

    gcloud iam service-accounts create "cymbal-bank-service-account"
    
  2. Gewähren Sie dem Dienstkonto die Berechtigung, Ressourcen aus Ihrem Git-Repository abzurufen. Fügen Sie dazu eine IAM-Richtlinienbindung für die Rolle "Resource Bundle Publisher" hinzu:

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member="serviceAccount:cymbal-bank-service-account@PROJECT_ID.iam.gserviceaccount.com" \
       --role='roles/configdelivery.resourceBundlePublisher'
    

    Wählen Sie bei Aufforderung None als Bedingung für die Richtlinie aus.

  3. Gewähren Sie dem Dienstkonto die Berechtigung zum Schreiben von Protokollen, indem Sie eine IAM-Richtlinienbindung für die Rolle Logs Writer hinzufügen:

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member="serviceAccount:cymbal-bank-service-account@PROJECT_ID.iam.gserviceaccount.com" \
       --role='roles/logging.logWriter'
    

    Wählen Sie bei Aufforderung None als Bedingung für die Richtlinie aus.

Release für die Cymbal Bank-Anwendung erstellen

Ein Flotten-Paket erfordert ein semantisches Versions-Tag, um zu wissen, aus welcher Version Ihres Repositorys bereitgestellt werden soll. Es ist eine gute Idee, neue Releases zu erstellen, wenn Sie Änderungen an Ihrem Repository vornehmen. Dies hilft bei der Versionsverwaltung und erleichtert bei Bedarf die Durchführung eines Rollbacks auf eine stabile Version.

  1. Klicken Sie in einem Webbrowser Ihrer GitHub-Fork von Cymbal Bank in der Seitenleiste im Abschnitt Releases auf Neuen Release erstellen.

  2. Wählen Sie das Menü Tag auswählen aus und geben Sie v1.0.0 als Tag ein. Klicken Sie auf Neues Tag erstellen.

  3. Klicken Sie auf Release veröffentlichen.

Authentifizierung einrichten

Wie bei der ersten Anleitung in dieser Reihe müssen Sie ein JWT für die Nutzerauthentifizierung und ein Kubernetes Secret erstellen, um das JWT für den neu erstellten Cluster zu speichern. Es ist empfehlenswert, für jeden Cluster ein eindeutiges JWT für die Authentifizierung zu verwenden.

  1. Erstellen Sie in Ihrer Cloud Shell das JWT:

    openssl genrsa -out jwtRS256.key 4096
    openssl rsa -in jwtRS256.key -outform PEM -pubout -out jwtRS256.key.pub
    
  2. Erstellen Sie das Kubernetes-Secret:

    kubectl create secret generic jwt-key --from-file=./jwtRS256.key --from-file=./jwtRS256.key.pub
    

Cymbal Bank-Anwendung mit einem Flottenpaket bereitstellen

Eine FleetPackage-Ressource ist eine deklarative API, um mehrere Kubernetes-Manifeste in einer Flotte von Clustern bereitzustellen.

Zum Erstellen eines Flottenpakets definieren Sie eine FleetPackage-Spezifikation, die auf das Repository mit Ihren Kubernetes-Ressourcen verweist, die Sie mit Cloud Build verbunden haben. Anschließend wenden Sie die FleetPackage-Ressource an, die die Ressourcen aus Git abruft und in der gesamten Flotte bereitstellt.

  1. Legen Sie in Cloud Shell den Standardspeicherort für die configdeliveryGoogle Cloud CLI-Befehle fest. Wie beim Verbinden Ihres Repositorys mit Cloud Build müssen Sie us-central1 verwenden, während sich das Feature für Flottenpakete in der Vorschau befindet:

    gcloud config set config_delivery/location us-central1
    
  2. Erstellen Sie eine Datei mit dem Namen fleetpackage-spec.yaml und dem folgendem Inhalt:

    resourceBundleSelector:
      cloudBuildRepository:
        name: projects/PROJECT_ID/locations/us-central1/connections/cymbal-bank-connection/repositories/REPOSITORY_NAME
        tag: v1.0.0
        serviceAccount: projects/PROJECT_ID/serviceAccounts/cymbal-bank-service-account@PROJECT_ID.iam.gserviceaccount.com
        path: kubernetes-manifests
    target:
      fleet:
        project: projects/PROJECT_ID
        selector:
          matchLabels:
            env: dev
    rolloutStrategy:
      rolling:
        maxConcurrent: 1
    

    Ersetzen Sie REPOSITORY_NAME durch den Namen Ihres Repositorys, wie er in der Cloud Build-Verbindung angezeigt wird.

    Die Auswahlfelder entsprechen dem zuvor erstellten Label der Flottenmitgliedschaft. Dadurch wird die Cymbal Bank-Anwendung nur auf dem Cluster scalable-apps-dev bereitgestellt. Der Cluster scalable-apps aus der ersten Anleitung ist davon nicht betroffen. Im nächsten Abschnitt sehen Sie ein Beispiel für ein Flottenpaket, das auf alle Cluster in einer Flotte ausgerichtet ist.

    Das Feld für die Rollout-Strategie steuert, wie Ressourcen in Clustern bereitgestellt werden. In diesem Beispiel wird die Bereitstellung nur in einem Cluster durchgeführt. Daher ändert sich durch dieses Feld nichts am Ablauf des Roll-outs. Wenn Sie jedoch viele Cluster haben, sorgt diese Einstellung dafür, dass die Ressourcendateien alle auf einen Cluster angewendet werden, bevor der nächste Cluster bearbeitet wird. So können Sie den Fortschritt des Roll-outs im Blick behalten.

  3. Erstellen Sie das Flottenpaket:

    gcloud alpha container fleet packages create cymbal-bank-fleet-package \
        --source=fleetpackage-spec.yaml \
        --project=PROJECT_ID
    
  4. Prüfen Sie, ob das Flottenpaket erstellt wurde:

    gcloud alpha container fleet packages list
    

    In der Ausgabe wird der Status des Build-Triggers aufgelistet. Nach einigen Sekunden wird das Feld MESSAGE mit einer Ausgabe wie dieser aktualisiert:

    MESSAGES: Build status: WORKING. The release is still being built; see the build status on the following page:
    

    Sie können auf den bereitgestellten Link klicken, um die Streaming-Logs für den Cloud Build-Job aufzurufen. Es kann einige Minuten dauern, bis Cloud Build den Build-Trigger verarbeitet.

  5. Wenn der Build-Trigger erfolgreich abgeschlossen wurde, sieht die Ausgabe von gcloud alpha container fleet packages list in etwa so aus:

    NAME: cymbal-bank-fleet-package
    STATE: ACTIVE
    CREATE_TIME: 2024-07-09T15:15:56
    ACTIVE_ROLLOUT: rollout-20240709-153621
    LAST_COMPLETED_ROLLOUT:
    MESSAGES:
    

    Mit dem Flottenpaket werden die Kubernetes-Ressourcen in Ihrer gesamten Flotte eingeführt.

  6. Wählen Sie auf der Google Kubernetes Engine-Seite der Google Cloud Console Ihren scalable-apps-dev-Cluster aus und rufen Sie dann die Seite Arbeitslasten auf, um eine Übersicht über die Arbeitslasten zu sehen, die derzeit in allen Ihren GKE-Clustern bereitgestellt werden:

    Seite „Arbeitslasten“ öffnen

    Möglicherweise treten Fehler auf, während Autopilot Ihre Pods an die Ressourcenanfragen anpasst. Nach einigen Minuten sollten Ihre Pods mit dem Status OK ausgeführt werden.

  7. So rufen Sie die Weboberfläche der Cymbal Bank auf:

    1. Rufen Sie in der Google Cloud Console auf der Seite „Google Kubernetes Engine“ die Seite Gateways, Dienste und Ingress auf.

      Zur Seite "Gateways, Dienste und Ingress"

    2. Klicken Sie auf den Tab „Dienste“ und suchen Sie nach dem Dienst mit dem Namen frontend, um den Cymbal Bank-Ingress zu finden.

    3. Klicken Sie auf den Link Endpoint für den Ingress frontend, z. B. 198.51.100.143:80, um die Cymbal Bank-Weboberfläche zu öffnen.

Ressourcen in einer Flotte bereitstellen

Stellen Sie sich als Nächstes ein Szenario vor, in dem Sie Ihre Cymbal Bank-Anwendung um einen neuen Mikrodienst erweitern möchten. Sie möchten diesen Mikrodienst in allen aktuellen Clustern und allen zukünftigen Clustern bereitstellen, die der Flotte hinzugefügt werden. Mit einem Flottenpaket können Sie in mehreren Clustern bereitstellen und eine automatische Bereitstellung auf neuen Clustern erhalten.

Dem Git-Repository neue Ressourcen hinzufügen

Um zu zeigen, wie Sie Ihrer Anwendung einen neuen Dienst hinzufügen, erstellen Sie eine einfache nginx-Bereitstellung und fügen sie Ihren Clustern hinzu:

  1. Wählen Sie in einem Browserfenster Ihres GitHub-Forks von Cymbal Bank die Option Datei hinzufügen und dann Neue Datei erstellen aus.

  2. Benennen Sie die Datei in new-resource/nginx.yaml um und fügen Sie den folgenden Inhalt ein:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - image: nginx:1.14.2
            name: nginx
            ports:
            - containerPort: 80
    
  3. Klicken Sie auf Änderungen übernehmen....

  4. Lassen Sie im Bestätigungsdialogfeld die Option Commit direkt in den main-Zweig durchführen ausgewählt und klicken Sie dann auf Änderungen übernehmen.

  5. Wählen Sie auf der Hauptseite Ihres verzweigten Cymbal Bank-Repositories in der Seitenleiste Releases aus.

  6. Wählen Sie oben auf der Seite Neuen Release entwerfen aus.

  7. Wählen Sie das Menü Tag auswählen aus und geben Sie v1.1.0 als Tag ein. Klicken Sie auf Neues Tag erstellen.

  8. Klicken Sie auf Release veröffentlichen.

Ressourcen mit einem Flottenpaket in Clustern bereitstellen

Erstellen Sie ein neues Flottenpaket, um die neue Ressource bereitzustellen:

  1. Dieses Flottenpaket richtet sich an alle Cluster in Ihrer Flotte, da es kein Auswahlfeld enthält. Das bedeutet auch, dass der nginx-Deployment automatisch allen zukünftigen Clustern hinzugefügt wird, die der Flotte hinzugefügt werden.

    Erstellen Sie in Cloud Shell eine Datei namens new-deployment-fleet-package.yaml mit folgendem Inhalt:

    resourceBundleSelector:
      cloudBuildRepository:
        name: projects/PROJECT_ID/locations/us-central1/connections/cymbal-bank-connection/repositories/REPOSITORY_NAME
        tag: v1.1.0
        serviceAccount: projects/PROJECT_ID/serviceAccounts/cymbal-bank-service-account@PROJECT_ID.iam.gserviceaccount.com
        path: kubernetes-manifests/new-resource
    target:
      fleet:
        project: projects/PROJECT_ID
    rolloutStrategy:
      rolling:
        maxConcurrent: 1
    
  2. Erstellen Sie das Flottenpaket, um mit dem Roll-out zu beginnen:

    gcloud alpha container fleet packages create new-deployment-fleet-package \
        --source=new-deployment-fleet-package.yaml \
        --project=PROJECT_ID
    
  3. Prüfen Sie, ob das Flottenpaket erstellt wurde:

    gcloud alpha container fleet packages list
    

    Sie können auf den bereitgestellten Link klicken, um die Streaming-Logs für den Cloud Build-Job aufzurufen.

    Das Fleet-Paket beginnt mit der Einführung der Kubernetes-Ressourcen in Ihrer Flotte. Es kann einige Minuten dauern, bis das Roll-out beginnt und abgeschlossen ist.

  4. Rufen Sie auf der Seite „Google Kubernetes Engine“ der Google Cloud Console die Seite Arbeitslasten auf, um eine aggregierte Ansicht der Arbeitslasten anzuzeigen, die in allen Ihren GKE-Clustern bereitgestellt werden:

    Seite „Arbeitslasten“ öffnen

Sie können verschiedene Bereitstellungsstrategien mit Flottenpaketen weiter untersuchen. Sie können beispielsweise versuchen, Ihrem geforkten Repository verschiedene Arten von Ressourcen hinzuzufügen und sie mit verschiedenen Fleet-Paketkonfigurationen bereitzustellen. Sie können auch ein Flottenpaket verwenden, um alle Ressourcen zu löschen, die Sie in Ihren Clustern bereitgestellt haben. Weitere Informationen zu Flottenpaketen finden Sie in der Config Sync-Dokumentation unter Flottenpakete bereitstellen.

Ressourcen in einer Flotte löschen

So wie Sie Ressourcen in einer Flotte bereitstellen können, können Sie auch Ressourcen in einer Flotte mit einem Flottenpaket löschen.

So entfernen Sie einzelne Ressourcen:

  1. Löschen Sie die Ressource aus Ihrem Git-Repository.
  2. Erstellen Sie einen neuen Git-Release und ein neues Tag.
  3. Aktualisieren Sie das Feld tag des Flottenpakets.
  4. Führen Sie den Befehl zur Aktualisierung des Flottenpakets aus.

Alternativ können Sie das Fleet-Paket selbst löschen, wodurch auch alle Ressourcen gelöscht werden, die vom Fleet-Paket verwaltet wurden.

Wenn Sie beispielsweise das nginx-Deployment aus dem vorherigen Abschnitt entfernen möchten, führen Sie den folgenden Befehl aus:

gcloud alpha container fleet packages delete new-deployment-fleet-package --force

Bereinigen

Löschen Sie das Projekt, damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Zum Löschen Ihres verzweigten Repositorys gehen Sie so vor:

  1. Klicken Sie in einem Webbrowser Ihrer GitHub-Fork von Cymbal Bank unter Ihrem Repository-Namen auf Einstellungen.

  2. Klicken Sie auf der Seite „Allgemeine Einstellungen“ (standardmäßig ausgewählt) im Abschnitt „Gefahrenzone“ auf Dieses Repository löschen.

  3. Klicken Sie auf Ich möchte dieses Repository löschen.

  4. Lesen Sie die Warnungen und klicken Sie auf Ich habe die Auswirkungen gelesen und verstanden.

  5. Geben Sie im Textfeld den Namen des verzweigten Cymbal Bank-Repositorys ein, um zu prüfen, ob Sie das richtige Repository löschen.

  6. Klicken Sie auf Dieses Repository löschen.

Nächste Schritte

Bevor Sie eine eigene GKE Enterprise-Clusterumgebung erstellen, die der in dieser Reihe von Anleitungen beschriebenen ähnelt, lesen Sie einige der Produktionsaspekte.