Release einführen

In diesem Dokument wird beschrieben, wie Sie einen Release mit der SaaS-Laufzeit einführen.

Mit der SaaS-Laufzeit können Sie Updates für mehrere bereitgestellte Einheiten mithilfe von Rollouts durchführen. Rollouts richten sich nach der UnitKind der Einheiten und können optional Filter (unit_filter) anwenden, um mit der Google Cloud CLI eine bestimmte Teilmenge von Einheiten anzusprechen . So lassen sich verwaltete Updates für Ihre bereitgestellte Basis durchführen. Ein Rollback kann ausgeführt werden, indem Sie Einheiten auf einen früheren Release aktualisieren.

Für Vorgänge an einer einzelnen, bestimmten Einheit verwenden Sie die Steuerelemente auf der Seite Einheitendetails.

Hinweis

Bevor Sie Ihr SaaS-Angebot aktualisieren, sollten Sie Folgendes tun:

Release erstellen

Bevor Sie Ihr SaaS-Angebot aktualisieren können, müssen Sie einen Release erstellen. Ein Release stellt eine bestimmte Version Ihrer SaaS-Anwendung dar, die durch ein Blueprint-Paket und die zugehörigen Konfigurationen definiert wird. Im Wesentlichen enthält ein Release das Update für Ihre Einheiten.

Console

  1. Rufen Sie die SaaS-Laufzeit auf.

    SaaS-Laufzeit aufrufen

  2. Klicken Sie auf Releases.

  3. Klicken Sie auf der Seite Releases auf Erstellen.

  4. Gehen Sie auf der Seite Release erstellen so vor:

    1. Geben Sie im Feld Releasename einen eindeutigen Namen für den Release ein.
    2. Wählen Sie im Feld Art der Einheit die Art der Einheit aus, mit der dieser Release verknüpft ist.
    3. Im Abschnitt Nur Upgrade von (optional) können Sie optional Releases auswählen, von denen aus Einheiten auf diesen Release aktualisiert werden können. So können Sie die Upgradepfade steuern.
    4. Wählen Sie in den Schritten Blueprint erstellen und Blueprint speichern Ihren Blueprint aus oder erstellen Sie ihn. Ausführliche Informationen zu den Optionen zum Erstellen von Blueprints finden Sie in der Blueprint-Dokumentation.
    5. Im Abschnitt Variablen (optional) können Sie optional Eingabevariablen für diesen Release festlegen. Weitere Informationen zum Festlegen von Variablen finden Sie in der Dokumentation zu Variablen.

  5. Klicken Sie auf Erstellen.

  6. Sie haben einen Release erstellt. Die Releasedetails finden Sie auf der Seite Releasedetails. Sie können auf diesen Release verweisen, wenn Sie einen Rollout erstellen.

gcloud

So erstellen Sie einen Release mit der Google Cloud Console:

gcloud beta saas-runtime releases create RELEASE_NAME --blueprint-package=BLUEPRINT_PACKAGE_URI --unit-kind=UNIT_KIND [--location=LOCATION] [--labels=[KEY=VALUE,...]] [--upgradeable-from-releases=[RELEASE_NAME,...]] [--input-variable-defaults=[variable=VARIABLE,value=VALUE,type=TYPE,...]]

Ersetzen Sie:

  • RELEASE_NAME: Die ID des Release, den Sie erstellen möchten. Diese ID ist Teil des vollständigen Ressourcennamens für den Release.
  • BLUEPRINT_PACKAGE_URI: Der URI des Blueprint-Pakets, das für diesen Release verwendet werden soll. Blueprints sind OCI-Images, die in Artifact Registry oder einer anderen OCI-Registrierung gehostet werden.
    • Das Blueprint-Paket enthält die Artefakte, die zum Bereitstellen einer Einheit erforderlich sind, sowie Metadaten zur verwendeten Engine (Terraform) und zur Version.
    • Wenn Sie den Hostnamen im URI weglassen, wird standardmäßig der regionale Artifact Registry-Pfad verwendet (z. B. us-east1-docker.pkg.dev).
    • Weitere Informationen zum Erstellen von Blueprints finden Sie in der Blueprint-Dokumentation.
  • UNIT_KIND: Die ID oder der vollständig qualifizierte Bezeichner für die Art der Einheit, der dieser Release entspricht. UNIT_KIND ist nach dem Erstellen eines Release unveränderlich.
  • LOCATION: Der Standort, an dem Sie den Release erstellen möchten. Dieses Flag bietet einen Fallback-Wert für den Release-Standort, wenn der vollständige URI-Pfad nicht angegeben wird. Standardmäßig wird der in Ihrer Google Cloud CLI-Umgebung konfigurierte Standort verwendet.
  • LABELS: (Optional) Labels, die zur Kategorisierung auf den Release angewendet werden sollen. Labels sind Schlüssel/Wert-Paare.
    • Schlüssel müssen mit einem Kleinbuchstaben beginnen und dürfen nur Bindestriche, Unterstriche, Kleinbuchstaben und Ziffern enthalten.
    • Werte dürfen nur Bindestriche, Unterstriche, Kleinbuchstaben und Ziffern enthalten.
    • Beispiel: --labels=environment=staging,team=saas-runtime
  • UPGRADEABLE_FROM_RELEASES: (Optional) Eine durch Kommas getrennte Liste von Releasenamen, die angibt, welche vorhandenen Releases mit dem neuen Release aktualisiert werden können.
    • Wenn Sie dieses Flag leer lassen, gibt es keine Einschränkungen hinsichtlich der Releases, die auf diesen Release aktualisiert werden können.
    • Wenn angegeben, wird diese Einschränkung bei Anfragen zur Aktualisierung von Einheiten auf diesen Release erzwungen.
  • INPUT_VARIABLE_DEFAULTS: (Optional) Standardwerte für Eingabevariablen, die für den Blueprint erforderlich sind.
    • Sie können Standardwerte für Variablen inline oder durch Verweis auf eine YAML- oder JSON-Datei angeben.
    • Hier definierte Variablen können beim Erstellen des Rollouts überschrieben werden.

Weitere Informationen zum Festlegen von Variablen finden Sie in der Dokumentation zu Variablen. Weitere Informationen zu Releases finden Sie in der Release Google Cloud CLI-Referenz.

Roll-out-Art erstellen

Bevor Sie einen Rollout erstellen können, müssen Sie eine Roll-out-Art erstellen, die als Vorlage für die Bereitstellung Ihres Release für Ihre Einheiten dient.

Console

  1. Rufen Sie die SaaS-Laufzeit auf.

    SaaS-Laufzeit aufrufen

  2. Klicken Sie auf Roll-out-Arten.

  3. Klicken Sie auf der Seite Roll-out-Arten auf Erstellen.

  4. Gehen Sie auf der Seite Roll-out-Art erstellen so vor:

    1. Geben Sie im Feld Name der Roll-out-Art einen Namen für die Roll-out-Art ein.
    2. Wählen Sie im Feld Art der Einheit die Art der Einheit aus, für die der Release eingeführt werden soll.
    3. Wählen Sie im Drop-down-Menü Roll-out-Strategie die Strategie aus, die Sie zum Bereitstellen des Release für Ihre Einheiten verwenden möchten:

      • Jeweils ein Standort (einfach): Aktualisiert jeweils einen Standort (ohne Wartezeiten). Aktualisiert bis zu 20% der Einheiten gleichzeitig.
      • Alle gleichzeitig (einfach): Der Roll-out beginnt gleichzeitig an allen Standorten (ideal für Entwicklungsumgebungen und Notfallszenarien).
      • Progressiv (schrittweise): Führt Updates schrittweise in prozentualen Batches exponentiell an mehreren Standorten ein (mit Wartezeiten).
      • Progressiv (einzelner Standort): Aktualisiert Einheiten in prozentualen Batches mit längeren Wartezeiten, um Probleme an einem einzelnen Standort zu erkennen.

      Weitere Informationen zu Roll-out-Strategien finden Sie unter Roll-out-Strategien.

  5. Klicken Sie auf Erstellen.

  6. Sie haben eine Roll-out-Art erstellt. Auf der Seite Details zur Roll-out-Art können Sie die Parameter für Ihre Roll-out-Art ansehen und bearbeiten.

gcloud

So erstellen Sie eine Roll-out-Art mit der Google Cloud Console:

  gcloud beta saas-runtime rollout-kinds create ROLLOUT_KIND_NAME --unit-kind=UNIT_KIND --location=LOCATION --rollout_strategy=ROLLOUT_STRATEGY --error_budget=ERROR_BUDGET --unit_filter=UNIT_FILTER --update_unit_kind_default=UPDATE_UNIT_KIND_DEFAULT

Ersetzen Sie:

  • ROLLOUT_KIND_NAME: Der Name der Roll-out-Art.
  • UNIT_KIND: Definiert, auf welche Einheiten Sie Releases anwenden möchten. Releases werden auf alle Einheiten der ausgewählten Art angewendet.
  • LOCATION: Der Standort, an dem Sie die Roll-out-Art erstellen möchten.
  • ROLLOUT_STRATEGY: Definiert die Roll-out-Strategie für Ihre Roll-out-Art. Mögliche Werte:

    • Google.Cloud.Simple.OneLocationAtATime: Aktualisiert jeweils einen Standort (ohne Wartezeiten). Aktualisiert bis zu 20% der Einheiten gleichzeitig.
    • Google.Cloud.Simple.AllAtOnce: Der Roll-out beginnt gleichzeitig an allen Standorten (ideal für Entwicklungsumgebungen und Notfallszenarien).
    • Google.Cloud.Progressive.Gradual.v1: Führt Updates schrittweise in prozentualen Batches exponentiell an mehreren Standorten ein (mit Wartezeiten).
    • Google.Cloud.Progressive.SingleLocation.v1: Aktualisiert Einheiten in prozentualen Batches mit längeren Wartezeiten, um Probleme an einem einzelnen Standort zu erkennen.

    Weitere Informationen zu Roll-out-Strategien finden Sie unter Roll-out-Strategien.

  • ERROR_BUDGET: Die Konfiguration für das Fehlerbudget. Wenn die Anzahl der fehlgeschlagenen Einheiten das Maximum für error_budget überschreitet (definiert durch allowed_count, allowed_ratio * total_units), wird der Roll-out pausiert. Wenn error_budget nicht festgelegt ist, versucht die SaaS-Laufzeit, alle Einheiten zu aktualisieren, unabhängig von der Anzahl der aufgetretenen Fehler.

  • UNIT_FILTER: CEL CEL-formatierte Filterstring, die auf Einheiten angewendet wird. Der Filter wird angewendet, um die infrage kommenden Einheiten zu bestimmen. Dieser Filter kann den Umfang des Roll-outs nur verringern. Er kann den Umfang des Roll-outs nicht erweitern.

  • UPDATE_UNIT_KIND_DEFAULT: Die Konfiguration zum Aktualisieren der Art der Einheit. Standardmäßig wird die Art der Einheit beim Start des Roll-outs aktualisiert. Mögliche Werte:

    • UPDATE_UNIT_KIND_STRATEGY_UNSPECIFIED: Die Aktualisierungsstrategie für die Art der Einheit ist nicht angegeben.
    • UPDATE_UNIT_KIND_STRATEGY_ON_START: Die Strategie für die Art der Einheit wird beim Start des Roll-outs aktualisiert.
    • UPDATE_UNIT_KIND_STRATEGY_NEVER: Die Strategie für die Art der Einheit wird nie aktualisiert.

Weitere Informationen finden Sie in der RolloutKind Google Cloud CLI-Referenz.

Funktion für das Fehlerbudget

Die SaaS-Laufzeit enthält als Schutzmaßnahme eine Funktion für das Fehlerbudget (ErrorBudget in RolloutKind). Dadurch kann ein Roll-out automatisch pausiert werden, wenn die Anzahl oder der Prozentsatz der Fehler bei der Aktualisierung von Einheiten (z. B. bei der Anwendung der Infrastruktur) einen konfigurierten Schwellenwert überschreitet. So lassen sich die Auswirkungen potenzieller Probleme während eines Updates begrenzen.

Roll-out erstellen

Nachdem Sie eine Roll-out-Art erstellt haben, können Sie einen Roll-out erstellen, der den Release angibt, mit dem Sie Ihre Einheiten aktualisieren möchten.

Sobald der Roll-out erstellt wurde, aktualisiert die SaaS-Laufzeit Ihre Einheiten gemäß der in der Art der Einheit definierten Strategie.

Console

  1. Rufen Sie die SaaS-Laufzeit auf.

    SaaS-Laufzeit aufrufen

  2. Klicken Sie auf Rollouts.

  3. Klicken Sie auf der Seite Roll-out-Liste auf Erstellen.

  4. Gehen Sie auf der Seite Roll-out erstellen so vor:

    1. Wählen Sie im Feld Roll-out-Art die Roll-out-Art aus, die beschreibt, wie der Release für die angegebenen Einheiten eingeführt werden soll.
    2. Geben Sie im Feld Release den Release an, mit dem die Einheiten aktualisiert werden sollen.
    3. Geben Sie im Feld Roll-out-Name einen Namen für den Roll-out ein.
  5. Klicken Sie auf Erstellen.

  6. Der Roll-out wurde erstellt.

    Auf der Seite Details zum globalen Roll-out können Sie Roll-out-Details wie den Roll-out-Status, den Roll-out-Fortschritt (nach Anzahl der Einheiten) und Roll-out-Fehler beobachten.

gcloud

So erstellen Sie einen Roll-out mit der Google Cloud Console:

  gcloud beta saas-runtime rollouts create ROLLOUT_NAME --rollout-kind=ROLLOUT_KIND_NAME --release=RELEASE_NAME --location=LOCATION

Ersetzen Sie:

  • ROLLOUT_NAME: Der Name des Roll-outs.
  • ROLLOUT_KIND_NAME: Definiert, welche Roll-out-Art Sie verwenden möchten, um Releases auf Ihre Einheiten anzuwenden. Releases werden auf alle Einheiten der in der Roll-out-Art definierten Art angewendet.
  • RELEASE_NAME: Definiert die Release-Binärdatei, die Sie für Ihre Einheiten bereitstellen möchten.
  • LOCATION: Der Standort, an dem Sie den Roll-out erstellen möchten.

Weitere Informationen finden Sie in der Rollout Google Cloud CLI-Referenz.

Nächste Schritte