Apps in Clustern mit Continuous Delivery und Satellite Config bereitstellen

Stellen Sie Kubernetes-Ressourcen, wie z. B. Deployments, aus Ihrem GitHub- oder GitLab-Repository mithilfe von IBM Cloud® Continuous Delivery und Satellite Config in mehreren Clustern bereit.

Ziele

In diesem Tutorial erfahren Sie, wie Sie mithilfe von Continuous Delivery eine offene Toolchain erstellen, um Ihre App auf mehreren Clustern bereitzustellen. Außerdem erfahren Sie, wie Toolchains im Continuous Delivery-Service implementiert werden und wie eine einfache Web-App mithilfe einer Continuous Delivery-reinen Toolchain-Vorlage bereitgestellt wird.

Mit Satellite Config erstellen Sie eine Konfiguration, die angibt, welche Kubernetes-Ressourcen Sie in einer Clustergruppe bereitstellen wollen. Richten Sie anschließend eine Continuous Delivery-Pipeline ein, um diese Ressourcen in einer Gruppe von Clustern bereitzustellen, sobald eine Änderung an der Konfiguration vorgenommen wird.

Die Toolchain, die in diesem Lernprogramm verwendet wird, implementiert DevOps-Standardverfahren im Zusammenhang mit Continuous-Delivery-Funktionen, indem Sie Ihre Bereitstellungen an Satellite-Positionen verwalten. Nachdem Sie Cluster erstellt und diese einer Satellite-Clustergruppe zugeordnet haben, können Sie eine Toolchain erstellen, um Ihren Deployment-Quellcode zu ändern und die Änderung in das Repository GitHub zu übertragen. Wenn Sie Änderungen mit Push-Operation an Ihr Repository übertragen, stellt die Tekton-basierte Delivery Pipeline den Code automatisch in Ihren Clustern bereit.

Zielgruppe

Dieses Tutorial richtet sich an Administratoren, die die Toolchains von Continuous Delivery und Satellite Config nutzen, um zum ersten Mal Ressourcen bereitzustellen.

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen, stellen Sie sicher, dass Sie über die folgenden Ressourcen verfügen.

  • Ein IBM Cloud-Konto. Abhängig von Ihrem IBM Cloud-Kontotyp kann der Zugriff auf bestimmte Ressourcen eingeschränkt sein. Je nach den Beschränkungen Ihres Account-Tarifs stehen bestimmte Funktionen, die für einige Bereitstellungsstrategien erforderlich sind, möglicherweise nicht zur Verfügung. Weitere Informationen zu IBM Cloud-Konten finden Sie unter Einrichten Ihres IBM Cloud-Kontos und Upgrade Ihres Kontos.

  • Ein Cluster Satellite oder ein Cluster Red Hat® OpenShift® in IBM Cloud, der an Ihrer Satellite-Position registriert ist.

Wenn Sie noch keinen Satellite-Cluster haben, können Sie einen Red Hat OpenShift-Cluster unter Satellite registrieren.

Einführung

Beginnen Sie mit der Erstellung einer Toolchain in IBM Cloud.

  1. Melden Sie sich bei IBM Cloud Toolchains mit Ihren IBM Cloud-Berechtigungsnachweisen an.
  2. Wählen Sie die Ressourcengruppe und die Position für Ihre Toolchain.
  3. Klicken Sie auf Toolchain erstellen.
  4. Wählen Sie auf der Seite Toolchain erstellen die Option Satellite unter Filter aus, um Vorlagen anzuzeigen, die für Satelliteanwendbar sind.
  5. Wählen Sie die Vorlage Kubernetes-Ressourcen in mehreren Clustern bereitstellen aus.
  6. Lesen Sie die Informationen, um zu verstehen, wie Toolchains funktionieren, und klicken Sie anschließend auf Start.

Toolchain-Einstellungen definieren

Definieren Sie den Namen, die Region und die Ressourcengruppe für die Toolchain.

  1. Geben Sie den Namen für die Toolchain an.
  2. Wählen Sie die Region aus, in der die Toolchain erstellt werden soll.
  3. Wählen Sie eine Ressourcengruppe aus, in der die Toolchain erstellt werden soll.
  4. Klicken Sie auf Weiter.

Quellenrepository definieren

Geben Sie Details zum Quellenrepository an, für das diese Toolchain empfangsbereit sein soll. Sie können diese Informationen mithilfe von Standardkonfigurationsoptionen oder erweiterten Konfigurationsoptionen angeben.

  1. Wählen Sie Ihren Quellenprovider aus. Abhängig vom ausgewählten Quellenprovider werden Optionen angezeigt, die für diesen Quellenprovider spezifisch sind. Sie können beispielsweise Github Enterprise Whitewater als Quellenprovider auswählen.

  2. Definieren Sie das Quellenrepository.

    • Wenn Sie ein neues Repository für diese Toolchain verwenden möchten, klicken Sie auf Neues Quellenrepository erstellen und benennen Sie das neue Repository.
    • Um ein vorhandenes Repository für diese Toolchain zu verwenden, klicken Sie auf Vorhandenes Quell-Repository verwenden und geben Sie den Repository- URL an. Wählen Sie den Quellanbieter aus und geben Sie die URL URL Ihres Repositorys ein, zum Beispiel: https://github.com/my-org/my-repo.
  3. Klicken Sie auf Weiter.

Wenn Sie auf erweiterte Quellenrepository-Einstellungen zugreifen möchten, wie z. B. die Verwendung eines angepassten Servers und die Änderung des Klonverhaltens, wählen Sie Zur erweiterten Konfiguration wechseln aus.

Delivery Pipeline einrichten

Nennen Sie die Bereitstellungspipeline für die Bereitstellung Ihrer Anwendungen auf mehreren Clustern in Ihrer Satellite-Clustergruppe.

  1. Geben Sie den Namen der Pipeline ein, der in Ihrer Toolchain angezeigt wird.

  2. Klicken Sie auf Weiter.

API-Schlüssel bereitstellen

Geben Sie die API-Schlüsselinformationen für IBM Cloud an, mit denen die Toolchain auf Ihren Speicherort unter Satellite zugreifen kann.

Wenn Sie einen vorhandenen API-Schlüssel oder mehrere vorhandene API-Schlüssel haben, führen Sie diese Schritte aus.

  1. Wählen Sie die von Ihnen verwendeten Provider für geheime Schlüssel aus. Sie können eine oder mehrere Optionen auswählen.

  2. Klicken Sie auf Weiter.

  3. Geben Sie die erforderlichen Informationen für den Zugriff auf Ihren geheimen Provider an.

Wenn Sie keinen vorhandenen API-Schlüssel haben, können Sie die Optionen auf dieser Seite ignorieren und auf Weiter klicken, um mit der nächsten Seite fortzufahren, auf der Sie einen API-Schlüssel für IBM Cloud erstellen und in einem geheimen Provider speichern können.

Satellite-Konfiguration einrichten

Legen Sie die Einstellungen fest, die das Satellite-Konfigurationstool bei der Bereitstellung von Ressourcen verwenden kann.

  1. IBM Cloud-API-Schlüssel bereitstellen. Wenn Sie auf der vorherigen Seite keinen vorhandenen API-Schlüssel für IBM Cloud bereitgestellt haben, dann können Sie einen neuen API-Schlüssel für IBM Cloud erstellen, indem Sie auf Neu klicken.

    Sie können diesen Schlüssel bei einem Anbieter geheimer Schlüssel Ihrer Wahl zur Wiederverwendung speichern, indem Sie diese Option beim Erstellen des neuen Schlüssels auswählen oder auf das Schlüsselsymbol klicken.

  2. Definieren Sie den Namensbereich, in dem Ihre Ressourcen bereitgestellt werden sollen. Dies muss ein vorhandener Namensbereich sein.

  3. Geben Sie die Verzweigung an, in der die Ressource implementiert werden soll, z. B. v1.

  4. Geben Sie den Pfad an, in dem die Ressource implementiert werden soll. Beispiel: deployments.

  5. Wählen Sie die Clustergruppe aus, die die zu implementierenden Ressourcen empfangen soll.

  6. Geben Sie den angezeigten Namen der Satellite-Konfiguration ein.

  7. Klicken Sie auf Weiter.

Zusammenfassung prüfen

Überprüfen Sie die Zusammenfassung und bestätigen Sie die Erstellung Ihrer Toolchain.

  • Wenn Sie zuvor angegebene Parameter ändern möchten, klicken Sie auf Zurück.

  • Klicken Sie zum Erstellen der Toolchain mit den bereitgestellten Parametern auf Toolchain erstellen.

Toolchain testen

Wenn die Toolchain erstellt wird, wird die Übersichtsseite der Toolchain angezeigt. Auf dieser Seite können Sie die Repositorys, Pipelines und alle IBM Cloud-Tools einsehen, die mit dieser Toolchain verbunden sind.

Unter Repositorys befindet sich Ihr Quellenrepository sowie weitere Repositorys für Ihren Tekton-Katalog und Ihre Pipeline-Tasks. Wenn Sie mit der Verwendung von Tekton vertraut sind, können Sie diese Tekton-Repositorys aufrufen, um Änderungen an Ihrer Toolchain vorzunehmen.

Unter Delivery Pipelines können Sie den Status Ihrer Pipelineausführungen anzeigen. Sie können auf den Namen der Pipeline klicken, um Details zu Ihrer Pipeline anzuzeigen und festzulegen. In dieser Pipeline-Übersicht können Sie die Auslöser für Ihre Pipeline festlegen. Auslöser definieren, wann die Pipeline gestartet wird.

Sie können die Bereitstellungspipeline auf eine der folgenden Arten starten.

  • Lösen Sie die Delivery Pipeline manuell aus, indem Sie einen manuellen Auslöser festlegen.
  • Übertragen Sie eine Festschreibung mit einer Push-Operation an das Bereitstellungsquellenrepository, wie durch einen Git-Repositoryauslöser definiert. Informationen zum Festlegen eines Git-Repositoryauslösers finden Sie unter Neue Version Ihrer App aus einer anderen Verzweigung bereitstellen.

Führen Sie die folgenden Schritte aus, um eine manuelle Pipelineausführung zu starten:

  1. Wählen Sie in der Übersicht Ihrer Toolchain unter Delivery Pipelines die Delivery Pipeline aus, um ihren Status anzuzeigen.
  2. Klicken Sie auf Pipeline ausführen.
  3. Überprüfen Sie die Auslösereigenschaften, um sicherzustellen, dass sie Ihrer Konfiguration entsprechen.
  4. Klicken Sie auf Ausführen, um die Toolchain auszuführen und Ihre App bereitzustellen.
  5. Optional: Klicken Sie auf den Namen des Testlaufs, um den Status, die Protokolle und Details anzuzeigen.
  6. Optional: Wechseln Sie nach der Ausführung der App zu Satellite Configuration oder führen Sie den Befehl ibmcloud sat config aus, um Ihre Satellite-Konfigurationsressourcen anzuzeigen.

Prüfen, ob die Beispielapp aktiv ist

Nachdem Sie Ihre Toolchain eingerichtet haben und die Delivery Pipeline erfolgreich abgeschlossen wurde, führen Sie die folgenden Schritte aus, um Ihre App zu überprüfen.

  1. Klicken Sie auf der Seite Cluster auf den Cluster, den Sie zum Bereitstellen Ihrer App verwendet haben.
  2. Klicken Sie auf OpenShift-Webkonsole.
  3. Filtern Sie im Abschnitt Workloads > Pod nach Projekt oder Clusternamensbereich und überprüfen Sie, ob die Pods ausgeführt werden.
  4. Filtern Sie im Abschnitt Netzwerk > Routen nach dem Projekt oder dem Cluster-Namespace und suchen Sie die App- URL.
  5. Überprüfen Sie, ob die App läuft, indem Sie die App- URL-Seite mit Ihrem Browser aufrufen.
  6. Optional: Sie können Ihre Satellite-Konfiguration in der Konsole anzeigen oder den ibmcloud sat config ls -Befehl ausführen.

Neue Version Ihrer App aus einem anderen Zweig bereitstellen

Wenn Ihr Repository mehrere Verzweigungen enthält, die mehrere Versionen der App darstellen, können Sie eine andere Verzweigung bereitstellen, um eine neue Version Ihrer App anzuzeigen, die ausgeführt wird. Führen Sie die folgenden Schritte aus, um die Toolchain zu ändern und eine andere Verzweigung Ihres Quellenrepositorys bereitzustellen.

  1. Wählen Sie in der Übersicht Ihrer Toolchain die zu ändernde Delivery Pipeline aus.
  2. Klicken Sie auf Trigger.
  3. Klicken Sie auf das Aktionsmenü für den Auslöser commit-push.
  4. Wählen Sie Bearbeiten aus.
  5. Wählen Sie im Feld Verzweigung die Verzweigung aus, die Sie implementieren wollen. Beispiel: v2.
  6. Klicken Sie in der Zeile deployment-branch unter Eigenschaften auf das Symbol Bearbeiten.
  7. Ändern Sie den Wert dieser Eigenschaft in den Namen der Verzweigung, die Sie implementieren wollen. Beispiel: v2.
  8. Speichern Sie die Änderungen.
  9. Überprüfen Sie, ob Ihre App die neue Version ausführt, indem Sie die App- URL-Seite in Ihrem Browser aufrufen.
  10. Optional: Zeigen Sie die neue Version Ihrer Konfiguration in der Satellite-Konfigurationen Konsole oder durch Ausführen des ibmcloud sat config get --config CONFIG -Befehls an.

Jetzt können Sie Kubernetes in mehreren Clustern mit einer einzigen Toolchain bereitstellen.