Automatische Deployments einrichten

Sie können für Ihre Arbeitslasten in Google Kubernetes Engine (GKE) automatisierte Deployments konfigurieren.

Auf dieser Seite wird gezeigt, wie Sie eine einfache CI/CD-Pipeline (Continuous Integration/Continuous Delivery) für die Arbeitslast einrichten. Wenn Sie per Push eine Änderung an Ihr Repository übertragen, erstellt Cloud Build den Container automatisch und stellt ihn in Ihrem GKE-Cluster bereit.

Funktionsweise einer automatisierten Bereitstellung

Wenn Sie eine Arbeitslast haben, die auf ein einzelnes Container-Image in GKE verweist, können Sie eine automatisierte Bereitstellung konfigurieren, damit Ihre Anwendung jedes Mal neu erstellt und bereitgestellt wird, wenn eine Codeänderung in das Repository eingecheckt wird.

Bei dem automatisierten Deployment definieren Sie Ihre Arbeitslast als YAML-Datei und speichern diese in Ihrem Repository (gemäß den Best Practices). GKE generiert YAML-Dateien, die Sie für diesen Zweck verwenden können.

Bei der Verwendung von YAML-Dateien haben Sie zwei Möglichkeiten:

  • Wenn Sie noch keine YAML-Datei haben, mit der Ihre Arbeitslast definiert wird, können Sie die generierte YAML-Datei verwenden. Speichern Sie die YAML-Datei in Ihrem Repository. Cloud Build verwendet sie jedes Mal, um Ihre Arbeitslast bereitzustellen.

  • Wenn Sie bereits eine YAML-Datei haben, die Ihre Arbeitslast definiert, können Sie GKE auf ihren Speicherort in Ihrem Repository verweisen. Sie können die YAML-Datei im Repository mit der empfohlenen YAML-Datei vergleichen, damit die richtige Arbeitslast korrekt bereitgestellt wird.

Hinweis

Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:

Mit den folgenden Methoden können Sie die gcloud-Einstellungen festlegen:

  • Verwenden Sie gcloud init, wenn Sie die Standardeinstellungen ansehen möchten.
  • Verwenden Sie gcloud config, um Ihre Projekt-ID, Zone und Region individuell festzulegen.

gcloud init verwenden

Wenn Sie die Fehlermeldung One of [--zone, --region] must be supplied: Please specify location erhalten, führen Sie diesen Abschnitt aus.

  1. Führen Sie gcloud init aus und folgen Sie der Anleitung:

    gcloud init

    Wenn Sie SSH auf einem Remote-Server verwenden, können Sie mit dem Flag --console-only verhindern, dass mit dem Befehl ein Browserfenster geöffnet wird:

    gcloud init --console-only
  2. Folgen Sie der Anleitung, um gcloud zur Verwendung Ihres Google Cloud-Kontos zu autorisieren.
  3. Erstellen Sie eine neue Konfiguration oder wählen Sie eine vorhandene aus.
  4. Wählen Sie ein Google Cloud-Projekt aus.
  5. Wählen Sie eine Compute Engine-Standardzone aus.

gcloud config verwenden

  • Legen Sie Ihre standardmäßige Projekt-ID fest:
    gcloud config set project project-id
  • Wenn Sie mit zonalen Clustern arbeiten, legen Sie die Compute-Standardzone fest:
    gcloud config set compute/zone compute-zone
  • Wenn Sie mit regionalen Clustern arbeiten, legen Sie die Standardregion für Compute Engine fest:
    gcloud config set compute/region compute-region
  • Aktualisieren Sie gcloud auf die neueste Version:
    gcloud components update

Voraussetzungen

Für automatisierte Deployments gelten die folgenden Anforderungen:

  • Sie können ein automatisiertes Deployment nur mit Arbeitslasten vom Typ Deployment verwenden, die ein einzelnes Container-Image angeben. Multi-Container-Arbeitslasten und andere Arbeitslasttypen (z. B. ReplicaSet) werden nicht unterstützt.

  • Ihr Quellcode-Repository muss ein Dockerfile enthalten, um das Image zu erstellen.

    Sie können dieses Repository in einem der folgenden Produkte hosten:

    Wenn Sie GitHub oder Bitbucket verwenden, müssen Sie Google Cloud Zugriff auf Ihr Repository gewähren.

  • Speichern Sie das Container-Image in Container Registry im selben Google Cloud-Projekt wie Ihren GKE-Cluster. Das Image muss sich in Container Registry befinden und Sie müssen es mindestens einmal bereitgestellt haben, damit Sie eine Arbeitslast in GKE haben.

Bereitstellungen erstellen

So erstellen Sie ein Deployment mit automatisiertem Deployment:

  1. Rufen Sie in der Google Cloud Console das Menü "Arbeitslasten" auf.

    Zum Menü "Arbeitslasten"

  2. Klicken Sie auf den Namen der Arbeitslast, die Sie bereitstellen möchten.

    Dadurch wird die Seite "Bereitstellungsdetails" für die Arbeitslast geöffnet.

  3. Klicken Sie auf das Menü Aktionen und wählen Sie Automatisierte Bereitstellung aus.

    Der Bildschirm Automatisierte Bereitstellung einrichten wird angezeigt.

  4. Wählen Sie das Repository aus, das Ihren Quellcode enthält, um diese Arbeitslast zu erstellen.

    1. Wählen Sie im Drop-down-Menü Repository-Anbieter den Anbieter Ihres Repositorys aus.

      Ein automatisiertes Deployment unterstützt die folgenden Hosts für die Versionsverwaltung:

      • Cloud Quell-Repositories
      • GitHub
      • Bitbucket

      Wenn Sie GitHub oder Bitbucket verwenden, authentifizieren Sie sich mit Ihrem Nutzernamen und Passwort.

    2. Wählen Sie im Drop-down-Menü Repository den Namen des Repositorys aus, das den Quellcode für Ihre Arbeitslast enthält.

  5. Klicken Sie auf Weiter und geben Sie die Build-Konfigurationsinformationen an:

    1. Geben Sie den Namen des Zweigs ein, aus dem Sie erstellen möchten, oder einen regulären Ausdruck (RegExp2), der dem Zweig oder den Zweigen entspricht. Der Standardzweig ist master. Wenn Sie zu diesem Zweig per Push übertragen, erstellt Cloud Build Ihre Anwendung.

    2. Geben Sie das Verzeichnis Ihres Dockerfile an (relativ zum Stammverzeichnis des Repositorys).

    3. Geben Sie den Dateinamen des Dockerfile an, das Ihre Build-Informationen enthält.

  6. Klicken Sie auf Weiter.

  7. Geben Sie den Speicherort der YAML-Konfigurationsdatei an.

    Das System generiert automatisch eine YAML-Dateien, mit der Sie die YAML-Datei in Ihrem Repository befüllen können.

    1. Klicken Sie auf Von Google empfohlene YAML-Datei ansehen, um die generierte YAML-Datei aufzurufen.

    2. Vergleichen Sie sie mit Ihrer eigenen YAML-Datei, falls vorhanden, und aktualisieren Sie Ihre Datei entsprechend.

      Erstellen Sie andernfalls eine neue Datei und befüllen Sie sie mit der generierten YAML-Datei. Dadurch wird sichergestellt, dass die bereitgestellte Arbeitslast mit der aktuellen Ausführung übereinstimmt. Die Datei kann einen beliebigen Namen haben, muss jedoch die Erweiterung .yaml oder .yml haben.

    3. Geben Sie relativ zum Stammverzeichnis Ihres Repositorys das Verzeichnis an, in dem sich die YAML-Datei befindet.

      Wenn sich im angegebenen Verzeichnis mehr als eine YAML-Datei befindet, verwendet GKE alle.

  8. Klicken Sie auf Einrichten, um die Konfiguration Ihres automatisierten Deployments abzuschließen.

    Sie werden möglicherweise aufgefordert, dem Cloud Build-Dienstkonto Berechtigungen zu erteilen. Diese Berechtigung ist erforderlich.

Was passiert als Nächstes?

Nachdem Sie ein automatisiertes Deployment für die ausgewählte Arbeitslast eingerichtet haben, haben Sie einen Cloud Build-Trigger, der ein Container-Image nach einem Push-Vorgang an den ausgewählten Zweig des Repositorys erstellt. Cloud Build stellt außerdem eine neue Überarbeitung Ihrer Arbeitslast für den Cluster bereit, in dem das ursprüngliche Image bereitgestellt wurde.

Weitere Informationen zu Ihrer Arbeitslast finden Sie auf der Seite Details zum Deployment (Tab "Überarbeitungsverlauf").