Instanz-Splits und Rollbacks für Cloud Run-Worker-Pools

Worker-Pools verarbeiten Arbeitslasten, die keine Anfragen sind. Für Anwendungsfälle, bei denen die Arbeit auf mehrere Überarbeitungen aufgeteilt werden muss, z. B. beim Bereitstellen einer neuen Überarbeitung, verwenden Worker-Pools das Aufteilen von Instanzen.

Mit Cloud Run können Sie angeben, welche Überarbeitungen Instanzen erhalten, und die Prozentsätze für die Instanzzuweisung für jede Überarbeitung festlegen. Mit dieser Funktion können Sie ein Rollback zu einer vorherigen Überarbeitung durchführen, Instanzen auf mehrere Überarbeitungen aufteilen und Instanzen der neuesten Überarbeitung zuweisen. Auf dieser Seite wird beschrieben, wie Sie mit diesem Feature die Instanzzuweisung für Ihre Cloud Run-Überarbeitungen verwalten.

Anpassungen der Instanzzuweisung erfolgen nicht sofort. Wenn Sie die Instanzzuweisung für Überarbeitungen ändern, werden alle aktuell verarbeiteten Anfragen fortgesetzt, bis sie abgeschlossen sind. In-Flight-Anfragen werden nicht verworfen und Cloud Run leitet diese Anfragen während der Übergangsphase möglicherweise entweder an eine neue oder an eine vorherige Überarbeitung weiter.

Lebenszyklus von Instanz-Splits

Wenn Sie Instanzen auf mehrere Überarbeitungen aufteilen oder Instanzen einer früheren Überarbeitung zuweisen, wird dieses Aufteilungsmuster für alle nachfolgenden Bereitstellungen verwendet. Wenn Sie wieder nur die neueste Überarbeitung ohne Instanzaufteilung verwenden möchten, senden Sie alle Instanzen an die neueste Überarbeitung.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud Run Developer (roles/run.developer) für Ihren Cloud Run-Workerpool zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Verwalten von Cloud Run-Workerpools und -Workerpool-Überarbeitungen benötigen.

Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihr Cloud Run-Workerpool mitGoogle Cloud -APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.

Rollback zu einer vorherigen Überarbeitung durchführen

Wenn Sie zu einer früheren Revision zurückkehren möchten, verwenden Sie die Google Cloud Console oder die Google Cloud CLI:

Console

  1. Rufen Sie in der Google Cloud Console Cloud Run-Workerpools auf:

    Zu Cloud Run

  2. Suchen Sie den Worker-Pool in der Liste und klicken Sie darauf.

  3. Klicken Sie auf den Tab Überarbeitungen, um eine Liste der aktuellen Überarbeitungen für diesen Worker-Pool aufzurufen.

  4. Klicken Sie auf Instanz-Splits verwalten, um das Formular zum Verwalten von Instanzen aufzurufen. In Cloud Run wird die letzte bereitgestellte Überarbeitung aufgeführt. Konfigurieren Sie im Formular die folgenden Details:

    1. Klicken Sie auf Überarbeitung hinzufügen und wählen Sie in der Drop-down-Liste eine frühere Überarbeitung aus.
    2. Legen Sie den Instanzprozentsatz der vorherigen Überarbeitung auf 100 fest.
    3. Legen Sie den Prozentsatz der neuesten bereitstellenden Überarbeitung auf 0 fest.
    4. Klicken Sie auf Speichern.

gcloud

Geben Sie die Versionen an, auf die ein Rollback durchgeführt werden soll, indem Sie den folgenden Befehl ausführen.

   gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=REVISION=100

Ersetzen Sie Folgendes:

  • WORKER_POOL: der Name des Worker-Pools.
  • REVISION: Der Name der Überarbeitung, zu der Sie ein Rollback durchführen.

Instanzen auf mehrere Überarbeitungen aufteilen

Wenn Sie Instanzen auf zwei oder mehr Überarbeitungen aufteilen möchten, verwenden Sie die Google Cloud Console oder die Google Cloud CLI:

Wenn Sie Instanzen auf mehrere Überarbeitungen aufteilen, muss die Summe der Prozentsätze aller Überarbeitungen 100 % ergeben. Die Anzahl der manuellen Instanzen muss größer sein als die Anzahl der Instanzaufteilungen, die die Arbeitslast bedienen.

Console

  1. Rufen Sie in der Google Cloud Console Cloud Run-Workerpools auf:

    Zu Cloud Run

  2. Suchen Sie den Worker-Pool in der Liste und klicken Sie darauf.

  3. Klicken Sie auf den Tab Überarbeitungen, um eine Liste der aktuellen Überarbeitungen für diesen Worker-Pool aufzurufen.

  4. Klicken Sie auf Instanz-Splits verwalten, um das Formular zum Verwalten von Instanzen aufzurufen. In Cloud Run wird die letzte bereitgestellte Überarbeitung aufgeführt. Konfigurieren Sie im Formular die folgenden Details:

    1. Legen Sie den Prozentsatz der neuesten bereitstellenden Überarbeitung auf die erforderliche Aufteilung fest, z. B. indem Sie ihn von 100 % reduzieren.

    2. Klicken Sie auf Überarbeitung hinzufügen, wählen Sie in der Drop-down-Liste eine vorherige Überarbeitung aus und legen Sie die entsprechende prozentuale Aufteilung fest.

    3. Wenn Sie Instanzen mit zusätzlichen Überarbeitungen aufteilen möchten, klicken Sie auf Überarbeitung hinzufügen, wählen Sie eine weitere Überarbeitung aus und legen Sie den Prozentsatz dafür fest.

    4. Klicken Sie auf Speichern.

gcloud

Geben Sie die Überarbeitungen und den Prozentsatz der Instanzen mit dem folgenden Befehl an. Weisen Sie jeder Überarbeitung Instanzen zu in einer durch Kommas getrennten Liste:

   gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LIST

Ersetzen Sie Folgendes:

  • WORKER_POOL: der Name des Worker-Pools.

  • LIST: Eine durch Kommas getrennte Liste von Überarbeitungen und Prozentsätzen:

    REVISION1=PERCENTAGE1,REVISION2=PERCENTAGE2,REVISIONn=PERCENTAGEx.

    Beispiel: my-worker-pool-s5sxn=10,my-worker-pool-cp9kw=90.

Instanzen der neuesten Überarbeitung zuweisen

Wenn Sie eine neue Überarbeitung bereitstellen, können Sie dieser Überarbeitung und allen zukünftigen Überarbeitungen 100% der Instanzen zuweisen. Damit wird jede bestehende Instanzaufteilung überschrieben. Wenn Sie 100% der Instanzen der neuesten Revision zuweisen möchten, führen Sie die folgenden Befehle aus:

  • Mit dem Flag --to-latest können Sie 100% der Instanzen an die neueste Version weiterleiten und alle Instanzen automatisch einer neuen Version zuweisen, die Sie bereitstellen:

    gcloud beta run worker-pools update-instance-split WORKER_POOL --to-latest
    
  • Optional können Sie das Flag --to-revisions mit dem Keyword LATEST verwenden, um immer einen variablen Prozentsatz von Instanzen der neuesten Revision zuzuweisen, wenn Sie eine bereitstellen. Führen Sie den folgenden Befehl aus, um einen Prozentsatz von Instanzen festzulegen, die immer auf die neueste Revision aktualisiert werden:

    gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LATEST=PERCENTAGE
    

    Ersetzen Sie Folgendes:

    • WORKER_POOL: der Name des Worker-Pools.
    • PERCENTAGE: Der Prozentsatz der Instanzen, die für die neuesten und zukünftigen neuesten Revisionen zugewiesen werden sollen.

Nächste Schritte