Spinnaker auf der Google Cloud Platform installieren und verwalten

Warum sollte ich diese Lösung verwenden?

Spinnaker auf der Google Cloud Platform ist ein Tool zum einfachen Installieren einer für den Produktionseinsatz betriebsbereiten Instanz von Spinnaker und zum anschließenden Verwalten dieser Instanz.

Diese Lösung eignet sich für:

  • Nutzer, die auf einfache Weise das Open-Source-Programm Spinnaker in einer für den Produktionseinsatz bereiten Konfiguration auf der Google Cloud Platform installieren möchten.

  • Nutzer, die Spinnaker testen möchten, um zu entscheiden, ob es die richtige CD-Lösung für ihre Anforderungen ist.

  • Administratoren, die eine oder mehrere Instanzen von Spinnaker mit langer Laufzeit verwalten und unter anderem zusätzliche Administratoren und Konten hinzufügen oder auch Upgrades ausführen möchten.

Diese Lösung bietet:

  • Empfehlungen und Best Practices von Google für die Installation und Ausführung von Spinnaker auf der GCP.

  • Vorintegration in viele andere Dienste, mit denen Spinnaker häufig verwendet wird.

  • Beispielanwendungen und andere Hilfsmittel für eine reibungslose Verwendung.

Was ist das für eine Lösung?

Spinnaker auf der Google Cloud Platform ist eine Lösung zum Installieren und Verwalten von Spinnaker auf der Google Cloud Platform. Die Lösung umfasst eine Installations- und Verwaltungskonsole, Spinnaker und die dazugehörigen Mikrodienste sowie Beispielanwendungen.

Was ist Spinnaker?

Spinnaker ist eine Open-Source-Multi-Cloud-Plattform für Continuous Delivery, mit der Softwareänderungen schnell und zuverlässig veröffentlicht werden können.

Weitere Informationen zu Spinnaker finden Sie auf der Spinnaker-Website.

Was ist Deck?

Deck ist die Spinnaker-UI. Der Zugriff auf Deck erfolgt auf eine der folgenden Arten:

  • Über eine Portweiterleitung

    Die Verwaltungskonsole enthält einen Befehl zum Weiterleiten von Port 8080 und eine Schaltfläche, die den Zugriff auf Deck über diesen Port ermöglicht.

  • Über das Internet auf einer öffentlich zugänglichen Domain

    Diese Domain ist mit Identity-Aware Proxy gesichert.

Verwaltungskonsole

Mit der Verwaltungskonsole können Sie auf einfache Weise folgende Aufgaben ausführen:

  • Spinnaker installieren

    Mit Spinnaker auf der Google Cloud Platform können Sie mühelos eine funktionsfähige Version des Open-Source-Programms Spinnaker auf Google Kubernetes Engine ausführen. Nach der Installation haben Sie die Möglichkeit, Ihren Nutzern die Plattform zur Verfügung zu stellen. Die Installation wird in der Verwaltungskonsole gestartet, nachdem die Lösung aufgerufen wurde.

  • Spinnaker verwalten

    Nutzen Sie die Verwaltungskonsole auch zum Verwalten/Betreiben der Spinnaker-Installation. Sie können Administratoren hinzufügen und Konten für die Bereitstellung auf zusätzlichen GKE-Clustern oder Clustern anderer Anbieter bereitstellen.

    Der Verwaltungsablauf beginnt, nachdem Sie die Installation von Spinnaker abgeschlossen haben. Sie können die Verwaltungskonsole auch direkt über einen Link auf der Seite für GKE-Anwendungen in der Google Cloud Console öffnen.

Die Verwaltungskonsole verwendet Cloud Shell und enthält Anleitungen in einer Übersicht auf der rechten Seite des Fensters. In der Übersicht werden die auszuführenden Befehle angezeigt. Klicken Sie auf diese Befehle, um sie in Cloud Shell zu kopieren und dort auszuführen.

Was ist Cloud Shell?

Cloud Shell ist ein Tool, das in die Google Cloud Platform eingebunden ist. Es bietet eine Befehlszeile für den Zugriff auf die GCP.

Wo finde ich die Anleitungen und wie kann ich sie wiederherstellen?

  • Wenn die Anleitungen nicht mehr im rechten Fenster angezeigt werden, geben Sie einfach den folgenden Befehl in Cloud Shell ein:

    cloudshell launch-tutorial ~/spinnaker-for-gcp/scripts/install/provision-spinnaker.md
    
  • Wenn Sie zur Verwaltungskonsole zurückkehren möchten, starten Sie diese neu. Folgen Sie dazu der Anleitung unter Spinnaker auf der Google Cloud Platform installieren.

  • Sollten Sie einmal den Überblick verlieren, rufen Sie dieses Dokument noch einmal auf.

Wird mir das in Rechnung gestellt?

Alle Google Cloud Platform-Ressourcen, die im Rahmen von Spinnaker auf der Google Cloud Platform installiert werden, sind kostenpflichtig.

Abhängig von den Optionen, die Sie bei der Installation und Konfiguration von Spinnaker auswählen, werden möglicherweise weitere Ressourcen in Rechnung gestellt. Mit dem Preisrechner der Google Cloud Platform können Sie eine Schätzung der Kosten dieser Lösung vornehmen.

Informieren Sie sich über die Google Cloud-Preise und über die kostenlose Testversion.

Spinnaker for Google Cloud Platform installieren und verwenden

Für den Zugriff auf diese Lösung klicken Sie auf Go to Spinnaker for Google Cloud Platform (Zu Spinnaker for Google Cloud Platform wechseln) auf der Marketplace-Seite Spinnaker for GCP (Spinnaker für die GCP).

Nachdem Sie Spinnaker auf der Google Cloud Platform installiert haben, können Sie über die Google Cloud Console auf Spinnaker und die Verwaltungskonsole zugreifen.

Spinnaker auf der Google Cloud Platform installieren

  1. Starten Sie die Lösung auf der Marketplace-Seite Spinnaker for GCP (Spinnaker für die GCP) durch Klicken auf Go to Spinnaker for Google Cloud Platform (Zu Spinnaker for Google Cloud Platform wechseln).

  2. Wenn Sie zum Öffnen in Cloud Shell aufgefordert werden, klicken Sie auf Proceed (Fortfahren).

    Cloud Shell wird zusammen mit einer Übersicht über die Dateien geöffnet, die im Spinnaker-Repository enthalten sind. Außerdem finden Sie hier eine entsprechende Anleitung.

    Verwaltungskonsole

    Das Repository "spinnaker-for-gcp" wird in die Cloud Shell-Umgebung geklont.

  3. Folgen Sie der Anleitung auf dem Bildschirm.

Der Ablauf in der Verwaltungskonsole führt Sie durch den Installationsvorgang und zeigt Ihnen die Befehle, die Sie in die Cloud Shell-Eingabeaufforderung kopieren und dann durch Drücken der Eingabetaste ausführen können. Mit diesen Befehlen werden Skripts ausgeführt, die Spinnaker automatisch in GKE installieren.

Sollte der Anleitungsbereich einmal ausgeblendet sein, können Sie ihn mit dem folgenden Befehl in Cloud Shell wiederherstellen:

cloudshell launch-tutorial ~/spinnaker-for-gcp/scripts/install/provision-spinnaker.md

Auf Spinnaker zugreifen

Nach der Installation von Spinnaker können Sie einen Befehl zum Weiterleiten von Ports ausführen. Danach können Sie auf die Deck-UI zugreifen und Spinnaker verwenden. Sie können den Portweiterleitungsbefehl für Ihre Nutzer freigeben. Nutzer mit Zugriff auf den GKE-Cluster können die Spinnaker-UI "Deck" über Port 8080 erreichen.

Alternativ können Sie Spinnaker auch über das öffentliche Internet zugänglich machen. Spinnaker ist über Identity-Aware Proxy gesichert.

Beide Alternativen werden nachfolgend beschrieben.

Durch Portweiterleitung auf Spinnaker zugreifen

Sie können mit einem Befehl in der Verwaltungskonsole in Cloud Shell Ports weiterleiten und so über localhost:8080 auf Spinnaker zugreifen.

  1. Klicken Sie, um den Befehl connect_unsecured.sh in die Verwaltungskonsole zu kopieren, und drücken Sie die Eingabetaste.

    Dadurch wird der lokale Port 8080 an (den von Deck verwendeten) Port 9000 auf dem Pod weitergeleitet, auf dem Deck ausgeführt wird.

  2. Klicken Sie auf den Link "Connect to Spinnaker…" (Mit Spinnaker verbinden). Dadurch wird die Schaltfläche "Preview" (Vorschau) hervorgehoben.

  3. Klicken Sie auf die hervorgehobene Schaltfläche "Preview" (Vorschau) und wählen Sie Preview on Port 8080 (Vorschau auf Port 8080) aus.

    Klicken, um eine Vorschau auf Port 8080 aufzurufen

In Ihrem Browser wird nun die Spinnaker-Benutzeroberfläche "Deck" geöffnet. In der Dokumentation zu Spinnaker finden Sie eine Anleitung zur Verwendung von Spinnaker.

In der Verwaltungskonsole können Sie weitere Aufgaben ausführen:

  • Spinnaker sicher für Ihre Teams verfügbar machen, ohne Ports weiterleiten zu müssen.
  • Spinnaker-Audit-Log aufrufen.
  • Logs von Spinnaker-Mikrodiensten aufrufen.
  • Auf Next (Weiter) klicken, um zum Spinnaker-Verwaltungsbereich der Lösung zu gelangen.
  • Den Portweiterleitungsbefehl für Ihre Nutzer freigeben. Wenn sie Zugriff auf den GKE-Cluster haben, können sie die Spinnaker-UI "Deck" über Port 8080 erreichen.

Nutzern über das Internet Zugriff auf Spinnaker gewähren

Die Konsole enthält einen Befehl, mit dem Sie einen sicheren Endpunkt erstellen können. Über diesen Endpunkt können Sie Spinnaker auf sichere Weise über das Internet zugänglich machen.

  1. Gehen Sie in der Verwaltungskonsole zu Schritt 2 des Installationsvorgangs: "Connect to Spinnaker" (Mit Spinnaker verbinden).

  2. Klicken Sie unter "Expose Spinnaker publicly" (Spinnaker öffentlich freigeben) auf die Schaltfläche, um den Befehl in die Befehlszeile zu kopieren. Drücken Sie dann die Eingabetaste.

    Das Skript erstellt einen neuen Endpunkt, über den Sie die Spinnaker-Instanz bereitstellen. Nach Beendigung des Skripts wird in der Konsole eine Anleitung zum Einrichten von OAuth angezeigt, damit Ihre Nutzer auf diesen Endpunkt zugreifen können.

  3. Folgen Sie der Anleitung auf dem Bildschirm.

    Kopieren Sie beim Erstellen der OAuth-Anmeldedaten die generierte Client-ID und das Secret. Sie werden später über das Skript zur Eingabe dieser Informationen aufgefordert.

Sie haben nun einen Spinnaker-Endpunkt, den Sie für Ihre Nutzer freigeben und für den sich Ihre Nutzer mit OAuth2 authentifizieren können. Ein Link zu Spinnaker wird in der Verwaltungskonsole angezeigt. Auf der GKE-Seite "Anwendungen" finden Sie ebenfalls einen Link zu dieser Spinnaker-Instanz.

Spinnaker verwalten

In der Verwaltungskonsole können Sie die Spinnaker-Instanz verwalten und beispielsweise folgende Aufgaben ausführen:

  • Administratoren/Bediener hinzufügen
  • Konten für Cloudanbieter hinzufügen

    Ein Anbieter stellt die Cloudumgebung (z. B. Google Compute Engine) zur Verfügung, in der Sie Ihre Anwendungen bereitstellen.

  • Upgrade für Spinnaker ausführen

  • Halyard-Befehle aufrufen, um Spinnaker zu konfigurieren

  • spin-Befehle aufrufen, um Spinnaker-Ressourcen wie Anwendungen und Pipelines zu verwalten

  1. Auf den Verwaltungsbereich dieser Konsole zugreifen

    Verwenden Sie eine der folgenden Optionen:

    Wenn die Konsole bereits geöffnet ist:

    1. Klicken Sie am Ende des Installationsvorgangs auf Next (Weiter).

    2. Kopieren Sie den Befehl auf der Seite Next Steps (Nächste Schritte) und drücken Sie die Eingabetaste.

      Im Anleitungsbereich wird dann der Verwaltungsvorgang gestartet.

      Mit der Verwaltung von Spinnaker in der Konsole starten

    Wenn die Konsole noch nicht geöffnet ist:

    1. Rufen Sie die Seite mit den Google Kubernetes Engine-Anwendungen auf.

    2. Öffnen Sie die Spinnaker-Anwendung.

      Die Anwendungsbeschreibung enthält den Link "Open Management Environment in Cloud Shell" (Verwaltungsumgebung in Cloud Shell öffnen).

    3. Klicken Sie auf diesen Link, um die Verwaltungskonsole zu öffnen, die dann mit der Verwaltungs-/Administratorfunktion gestartet wird.

      Mit der Verwaltung von Spinnaker auf der GKE-Seite für Anwendungen starten

    4. Wählen Sie Ihr GCP-Projekt aus und klicken Sie auf "Start" (Starten).

Administratoren für die Spinnaker-Instanz hinzufügen

Sie können mehreren Bedienern Zugriff auf die Verwaltungskonsole gewähren.

  1. Weisen Sie der Person auf der IAM-Seite „Berechtigungen“ die Rolle Owner für das GCP-Projekt zu, in dem Sie Spinnaker installiert haben.

  2. Wenn Sie Spinnaker auf einem IAP-gesicherten Endpunkt ausführen und die Person, der Sie Bedienerrechte zuweisen möchten, noch keinen Nutzerzugriff hat, führen Sie den im Folgenden aufgeführten Befehl aus. Dieser ist ebenfalls in Schritt 5 des Verwaltungsteils der Konsole enthalten.

    ~/spinnaker-for-gcp/scripts/manage/grant_iap_access.sh
    

    Folgen Sie dann der Anleitung in der Cloud Shell-Befehlszeile.

Konten für Cloudanbieter hinzufügen

In der Verwaltungskonsole können Sie Konten für so viele Cloudanbieter hinzufügen, wie Spinnaker unterstützt. Sie benötigen ein Konto für jede Cloud, in der Ihre Nutzer Anwendungen bereitstellen möchten. Wenn sie beispielsweise Anwendungen in Google Compute Engine und AWS bereitstellen, fügen Sie jeweils ein Anbieterkonto hinzu.

Die Verwaltungskonsole enthält den folgenden Befehl zum Hinzufügen eines GKE-Kontos:

~/spinnaker-for-gcp/scripts/manage/add_gke_account.sh

Für Google Compute Engine:

~/spinnaker-for-gcp/scripts/manage/add_gce_account.sh

Für Google App Engine:

~/spinnaker-for-gcp/scripts/manage/add_gae_account.sh

Sie können diese Befehle über die Verwaltungskonsole ausführen oder in Cloud Shell für eine vorhandene Spinnaker-Instanz eingeben.

Halyard-Befehle ausführen

Sie können einen beliebigen hal-Befehl aufrufen, um Ihre Spinnaker-Installation zu konfigurieren und zu verwalten.

Rufen Sie dazu einfach in der Verwaltungskonsole den Befehl über Cloud Shell auf, nachdem Sie Spinnaker installiert haben.

Upgrade für Spinnaker ausführen

  1. Suchen Sie nach der Version, auf die Sie ein Upgrade ausführen möchten.

    Auf der Versionsseite unter spinnaker.io sind alle verfügbaren stabilen Versionen aufgeführt.

  2. Öffnen Sie in der Konsole zum Verwaltungsablauf:

    ~/spinnaker-for-gcp/scripts/manage/update_console.sh

  3. Klicken Sie auf "Next" (Weiter), bis der Bildschirm "Scripts for Common Commands" (Skripts für allgemeine Befehle) angezeigt wird.

  4. Kopieren Sie unter "Upgrade Spinnaker" (Upgrade für Spinnaker ausführen) den ersten Befehl in Cloud Shell und drücken Sie die Eingabetaste.

    Dieser Befehl lautet folgendermaßen:

    cloudshell edit \
     ~/spinnaker-for-gcp/scripts/install/properties
    
  5. Bearbeiten Sie die Spinnaker-Version in der angezeigten Datei properties.

    export SPINNAKER_VERSION=1.19.3
    

    Auf der Seite für Spinnaker-Versionen werden die neuesten verfügbaren Versionen angezeigt.

  6. Mit dem nächsten Befehl rufen Sie Halyard auf, um die Änderungen zu übernehmen:

    ~/spinnaker-for-gcp/scripts/manage/update_spinnaker_version.sh
    

Verwaltungskonsole neu starten

Wenn Sie die Konsole aus einem bestimmten Grund neu starten müssen, beispielsweise weil Sie den Tab oder das Fenster geschlossen haben, gehen Sie wie beim erstmaligen Start der Konsole vor. Sie können die Konsole auch über die GKE-Seite "Anwendungen" in der Google Cloud Console starten, wenn Spinnaker auf der Google Cloud Platform installiert ist.

Wenn Sie die Konsole neu starten, haben Sie die Möglichkeit, den Vorgang an der Stelle fortzusetzen, an der Sie aufgehört haben.

Upgrade der Verwaltungskonsole ausführen

  1. Wechseln Sie in der Verwaltungskonsole zu Schritt 3, "Scripts for Common Commands" (Skripts für allgemeine Befehle) und scrollen Sie zum Ende der Seite.

  2. Führen Sie unter "Upgrade Management Environment" (Upgrade der Verwaltungsumgebung ausführen) den angezeigten Befehl aus.

Die Verwaltungskonsole wird mit den neuesten Änderungen aktualisiert.

Spinnaker for Google Cloud Platform entfernen

So entfernen Sie Spinnaker:

  1. Öffnen Sie die Verwaltungskonsole und klicken Sie auf "Next" (Weiter), bis Sie zur Seite "Delete Spinnaker" (Spinnaker löschen) gelangen.

  2. Kopieren Sie den Befehl in das Cloud Shell-Terminal und drücken Sie die Eingabetaste.

Alle Ressourcen, die für diese Spinnaker-Instanz erstellt wurden, und alle vorhandenen Ressourcen, die Sie möglicherweise für die Bereitstellung verwendet haben, werden gelöscht.

Beispielanwendungen

Die Lösung Spinnaker auf der Google Cloud Platform enthält Beispielanwendungen, die Ihnen den Einstieg in Spinnaker erleichtern.

So installieren Sie Beispielanwendungen:

  1. Klicken Sie in der Verwaltungskonsole auf Next (Weiter) bis zum Schritt "Use Spinnaker" (Spinnaker verwenden).

  2. Klicken Sie unter Install sample applications and pipelines (Beispielanwendungen und Pipelines installieren) auf die Schaltfläche zum Einfügen des Befehls und drücken Sie die Eingabetaste.

    Cloud Shell gibt eine nummerierte Liste der verfügbaren Beispielanwendungen zurück.

  3. Drücken Sie die Ziffer, die der gewünschten Anwendung entspricht. Wenn Sie den Befehl beenden möchten, ohne Beispielanwendungen zu installieren, drücken Sie die Ziffer für "Quit" (Beenden).

  4. Drücken Sie die Eingabetaste.

    Im Anleitungsbereich wird nun eine Anleitung für die Beispielanwendung angezeigt.

  5. Wenn Sie die Beispielanwendung verlassen und zum Verwaltungsbereich der Konsole zurückkehren möchten, klicken Sie auf Start (Starten) und dann auf Next (Weiter). Scrollen Sie zum Ende der Seite "Start a new build" (Neuen Build starten) und führen Sie den Befehl unter "Return to Spinnaker Console" (Zur Spinnaker-Konsole zurückkehren) aus.

Weitere Hinweise

Spinnaker für die GCP-Architektur

Spinnaker und die zugehörigen Mikrodienste werden in GKE mit der folgenden Architektur installiert:

Architektur von Spinnaker auf der GCP

Spinnaker auf einem vorhandenen Cluster installieren

Sie können Spinnaker-Instanzen auf einer vorhandenen Infrastruktur installieren, anstatt sie mit dieser Lösung neu erstellen zu lassen.

Der Cluster muss dazu folgende Voraussetzungen erfüllen:

  • IP-Aliasse müssen aktiviert sein, da hierfür eine gehostete Redis-Instanz verwendet wird.

  • Vollständiger Cloud Platform-Bereich für die zugehörigen Knoten, wenn Sie das Standarddienstkonto des Projekts verwenden.

Führen Sie die folgenden Schritte aus, bevor Sie das Installationsskript ausführen:

  1. Kopieren Sie den folgenden Befehl und führen Sie ihn aus. Dieser Befehl ist auch in Schritt 1 des Installationsablaufs enthalten:

    cloudshell edit \
        ~/spinnaker-for-gcp/scripts/install/properties
    

    Die Datei properties wird im Dateieditor geöffnet.

  2. Bearbeiten Sie folgenden Abschnitt in der Datei properties, um den Kubernetes-Cluster anzugeben, auf dem Spinnaker installiert werden soll:

    # If cluster does not exist, it will be created.
    export GKE_CLUSTER=$DEPLOYMENT_NAME
    export ZONE=us-west1-b
    export REGION=us-west1
    
  3. Bearbeiten Sie in ähnlicher Weise weitere Attribute, um gegebenenfalls weitere vorhandene Infrastrukturen und Konten anzugeben, die Sie verwenden möchten.

    Hierbei könnte es sich beispielsweise um eine vorhandene Cloud Memorystore-Redis-Instanz, einen Bucket oder ein Dienstkonto handeln. In jedem Fall wird die Infrastruktur durch das Installationsskript erstellt, sofern sie noch nicht vorhanden ist.

Mehrere Spinnaker-Installationen verwalten

Wenn Sie mehrere Spinnaker-Instanzen ausführen, müssen sich diese in unterschiedlichen Clustern und somit in unterschiedlichen Kubernetes-Kontexten befinden.

So verwalten Sie eine dieser Installationen:

  1. Rufen Sie Ihre Anmeldedaten ab.

    gcloud container get-credentials
    
  2. Wechseln Sie zum entsprechenden Kubernetes-Kontext.

    kubectl config use-context <CONTEXT_NAME>
    
  3. Rufen Sie die in diesem Cluster gespeicherte Konfiguration ab.

    ~/spinnaker-for-gcp/scripts/manage/pull_config.sh.
    

Die Konfiguration in ~/spinnaker-for-gcp/scripts/install/properties ist nun die Konfiguration für diese Spinnaker-Instanz. Führen Sie die gängigen für Sie verfügbaren Verwaltungsaufgaben aus. Sie können dabei auch hal-Befehle verwenden. Spinnaker wendet diese Befehle auf die Spinnaker-Instanz im ausgewählten Kontext an.