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
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).
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.
Das Repository "spinnaker-for-gcp" wird in die Cloud Shell-Umgebung geklont.
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.
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.
Klicken Sie auf den Link "Connect to Spinnaker…" (Mit Spinnaker verbinden). Dadurch wird die Schaltfläche "Preview" (Vorschau) hervorgehoben.
Klicken Sie auf die hervorgehobene Schaltfläche "Preview" (Vorschau) und wählen Sie Preview on Port 8080 (Vorschau auf Port 8080) aus.
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.
Gehen Sie in der Verwaltungskonsole zu Schritt 2 des Installationsvorgangs: "Connect to Spinnaker" (Mit Spinnaker verbinden).
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.
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
Auf den Verwaltungsbereich dieser Konsole zugreifen
Verwenden Sie eine der folgenden Optionen:
Wenn die Konsole bereits geöffnet ist:
Klicken Sie am Ende des Installationsvorgangs auf Next (Weiter).
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.
Wenn die Konsole noch nicht geöffnet ist:
Rufen Sie die Seite mit den Google Kubernetes Engine-Anwendungen auf.
Öffnen Sie die Spinnaker-Anwendung.
Die Anwendungsbeschreibung enthält den Link "Open Management Environment in Cloud Shell" (Verwaltungsumgebung in Cloud Shell öffnen).
Klicken Sie auf diesen Link, um die Verwaltungskonsole zu öffnen, die dann mit der Verwaltungs-/Administratorfunktion gestartet wird.
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.
Weisen Sie der Person auf der IAM-Seite „Berechtigungen“ die Rolle
Owner
für das GCP-Projekt zu, in dem Sie Spinnaker installiert haben.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
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.
Öffnen Sie in der Konsole zum Verwaltungsablauf:
~/spinnaker-for-gcp/scripts/manage/update_console.sh
Klicken Sie auf "Next" (Weiter), bis der Bildschirm "Scripts for Common Commands" (Skripts für allgemeine Befehle) angezeigt wird.
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
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.
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
Wechseln Sie in der Verwaltungskonsole zu Schritt 3, "Scripts for Common Commands" (Skripts für allgemeine Befehle) und scrollen Sie zum Ende der Seite.
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:
Öffnen Sie die Verwaltungskonsole und klicken Sie auf "Next" (Weiter), bis Sie zur Seite "Delete Spinnaker" (Spinnaker löschen) gelangen.
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:
Klicken Sie in der Verwaltungskonsole auf Next (Weiter) bis zum Schritt "Use Spinnaker" (Spinnaker verwenden).
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.
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).
Drücken Sie die Eingabetaste.
Im Anleitungsbereich wird nun eine Anleitung für die Beispielanwendung angezeigt.
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:
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:
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.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
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:
Rufen Sie Ihre Anmeldedaten ab.
gcloud container get-credentials
Wechseln Sie zum entsprechenden Kubernetes-Kontext.
kubectl config use-context <CONTEXT_NAME>
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.