Auf dieser Seite wird beschrieben, wie Sie die maximale Anzahl von Instanzen festlegen, die für Ihren Cloud Run-Dienst verwendet werden können, indem Sie das Standardverhalten für Cloud Run-Autoscaling verwenden. Informationen zum manuellen Skalieren Ihres Dienstes finden Sie unter Manuelle Skalierung.
Durch die Angabe von maximalen Instanzen in Cloud Run können Sie die Skalierung Ihres Dienstes als Reaktion auf eingehende Anfragen begrenzen, obwohl diese Maximaleinstellung aufgrund von Umständen wie Trafficspitzen für kurze Zeit überschritten werden kann.
Verwenden Sie diese Einstellung, um Ihre Kosten zu kontrollieren oder die Anzahl der Verbindungen zu einem Sicherungsdienst zu begrenzen, z. B. zu einer Datenbank.
Informationen zu den Limits für die maximale Anzahl von Instanzen, die für Ihren Dienst gelten können, finden Sie unter Maximale Instanzlimits.
Weitere Informationen dazu, wie Cloud Run Container-Instanzen automatisch skaliert, finden Sie unter Instanz-Autoscaling.
Höchstanzahl von Instanzen auf Dienstebene oder auf Überarbeitungsebene anwenden
Sie können die maximale Anzahl von Instanzen auf Dienst- oder Überarbeitungs-Ebene konfigurieren. Google empfiehlt, die maximale Anzahl von Instanzen auf Dienstebene zu verwenden, sofern Sie keine bestimmte Anforderung haben, Instanzen auf Überarbeitungsebene zu begrenzen.
Wenn Sie die maximale Anzahl von Instanzen festlegen, gelten die Einstellungen so:
- Service-Level: sofort
- Auf Überarbeitungsebene: bei der Bereitstellung der Überarbeitung
Getaggte Überarbeitungen und Höchstanzahl von Instanzen auf Dienstebene
Getaggte Überarbeitungen werden gestartet, aber nur auf die maximale Anzahl von Instanzen auf Dienstebene angerechnet, wenn sie Teil einer Trafficaufteilung sind.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren und Bereitstellen von Cloud Run-Diensten benötigen:
-
Cloud Run-Entwickler (
roles/run.developer
) im Cloud Run-Dienst -
Dienstkontonutzer (
roles/iam.serviceAccountUser
) für die Dienstidentität
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-Dienst 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.
Maximale Anzahl von Instanzen auf Dienstebene konfigurieren
Sie können die Einstellung für die maximale Anzahl von Instanzen über die Google Cloud Console, die Google Cloud CLI oder eine YAML-Datei ändern, wenn Sie einen neuen Dienst erstellen oder eine neue Revision bereitstellen.
Console
Rufen Sie in der Google Cloud Console Cloud Run auf:
Wenn Sie einen neuen Dienst konfigurieren, wählen Sie Dienste aus und klicken Sie auf Container bereitstellen, um das Formular Dienst erstellen aufzurufen. Rufen Sie das Formular Dienstskalierung auf.
Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Dienst, um das Detailfeld aufzurufen, und dann oben rechts im Detailfeld auf
Skalierungseinstellungen auf Dienstebene bearbeiten.Geben Sie im Feld mit der Bezeichnung Maximale Anzahl von Instanzen die erforderliche maximale Anzahl von Containerinstanzen mit einem beliebigen Ganzzahlwert von
1
bis zum maximalen Limit an, das für Ihren Dienst möglich ist.Klicken Sie für einen neuen Dienst auf Erstellen oder für einen vorhandenen Dienst auf Bereitstellen.
gcloud
Mit dem folgenden Befehl können Sie die maximale Anzahl von Instanzen eines bestimmten Dienstes aktualisieren:
gcloud beta run services update SERVICE --max MAX-VALUE
Ersetzen Sie Folgendes:
- SERVICE: der Name Ihres Dienstes.
- MAX-VALUE: die erforderliche maximale Anzahl von Containerinstanzen. Verwenden Sie einen beliebigen Ganzzahlwert von
1
bis zum maximalen Limit, das für Ihren Dienst möglich ist.
Mit dem folgenden Befehl können Sie auch während der Bereitstellung die maximale Anzahl von Instanzen festlegen:
gcloud beta run deploy --image IMAGE_URL --max MAX-VALUE
Ersetzen Sie Folgendes:
- IMAGE_URL: ein Verweis auf das Container-Image, z. B.
us-docker.pkg.dev/cloudrun/container/hello:latest
Wenn Sie Artifact Registry verwenden, muss das Repository REPO_NAME bereits erstellt sein. Die URL hat das FormatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - MAX-VALUE: die erforderliche maximale Anzahl von Containerinstanzen. Verwenden Sie einen beliebigen Ganzzahlwert von
1
bis zum maximalen Limit.
YAML
Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.
Wenn Sie einen neuen Dienst erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Dienst aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:
gcloud run services describe SERVICE --format export > service.yaml
Aktualisieren Sie das Attribut
run.googleapis.com/maxScale:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/launch-stage: BETA run.googleapis.com/maxScale: 'MAX-INSTANCE'
Ersetzen Sie Folgendes:
- SERVICE: Der Name Ihres Cloud Run-Dienstes
- MAX-INSTANCE: die erforderliche maximale Anzahl von Containerinstanzen. Verwenden Sie einen beliebigen Ganzzahlwert von
1
bis zum maximalen Limit, das für Ihren Dienst möglich ist.
Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:
gcloud run services replace service.yaml
Maximale Anzahl von Instanzen auf Dienstebene ansehen
So rufen Sie die aktuellen Einstellungen für die maximale Anzahl an Instanzen auf Dienstebene für Ihren Cloud Run-Dienst auf:
Console
Rufen Sie in der Google Cloud Console Cloud Run auf:
Klicken Sie auf den Dienst, um den Bereich Dienstdetails zu öffnen.
Die aktuelle Einstellung wird oben rechts im Bereich mit den Dienstdetails neben Skalierung angezeigt.
gcloud
Verwenden Sie den folgenden Befehl:
gcloud run services describe SERVICE
Suchen Sie in der zurückgegebenen Konfiguration den Wert für Skalierung: automatisch (Min.: MIN_VALUE, Max.: MAX_VALUE).
Maximale Anzahl von Instanzen auf Überarbeitungsebene konfigurieren
Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.
Standardmäßig sind Cloud Run-Dienste so konfiguriert, dass sie auf maximal 100 Instanzen skaliert werden können.
Sie können die Einstellung für die maximale Anzahl von Instanzen über die Google Cloud Console, die Google Cloud CLI oder eine YAML-Datei ändern, wenn Sie einen neuen Dienst erstellen oder eine neue Revision bereitstellen.
Console
Rufen Sie in der Google Cloud Console Cloud Run auf:
Klicken Sie in der Liste der Dienste auf den Dienst, den Sie aktualisieren möchten, um die Details des Dienstes aufzurufen.
Klicken Sie auf Neue Überarbeitung bearbeiten und bereitstellen, um das Formular für die Bereitstellung der Überarbeitung aufzurufen.
Klicken Sie auf den Tab Container.
Suchen Sie den Abschnitt Überarbeitungen skalieren. Geben Sie im Feld Maximale Anzahl von Instanzen die maximale Anzahl von Containerinstanzen an.
Klicken Sie auf Bereitstellen.
gcloud
Mit dem folgenden Befehl können Sie die maximale Anzahl von Instanzen eines bestimmten Dienstes aktualisieren:
gcloud beta run services update SERVICE --max-instances MAX-VALUE
Ersetzen Sie Folgendes:
- SERVICE: der Name Ihres Dienstes.
- MAX-VALUE: die erforderliche maximale Anzahl von Containerinstanzen. Verwenden Sie einen beliebigen Ganzzahlwert von
1
bis zum maximalen Limit.
YAML
Wenn Sie einen neuen Dienst erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Dienst aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:
gcloud run services describe SERVICE --format export > service.yaml
Aktualisieren Sie das Attribut
autoscaling.knative.dev/maxScale:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/launch-stage: BETA spec: template: metadata: annotations: autoscaling.knative.dev/maxScale: 'MAX-INSTANCE' name: REVISION
Ersetzen Sie Folgendes:
- SERVICE: Der Name Ihres Cloud Run-Dienstes
- MAX-INSTANCE: die erforderliche maximale Anzahl von Containerinstanzen. Verwenden Sie einen beliebigen Ganzzahlwert von
1
bis zum maximalen Limit. - REVISION durch einen neuen Überarbeitungsnamen oder löschen (falls vorhanden). Wenn Sie einen neuen Überarbeitungsnamen angeben, muss er die folgenden Kriterien erfüllen:
- Beginnt mit
SERVICE-
- Enthält nur Kleinbuchstaben, Ziffern und
-
- Endet nicht mit
-
- Darf nicht mehr als 63 Zeichen enthalten
- Beginnt mit
Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:
gcloud run services replace service.yaml
Einstellungen für die maximale Anzahl von Instanzen auf Überarbeitungsebene ansehen
So rufen Sie die aktuellen Einstellungen für die maximale Anzahl an Instanzen auf Revisionsebene für Ihren Cloud Run-Dienst auf:
Console
Rufen Sie in der Google Cloud Console Cloud Run auf:
Klicken Sie auf den Dienst, um den Bereich Dienstdetails zu öffnen.
Klicken Sie auf den Tab Überarbeitungen.
Sehen Sie sich im Detailbereich rechts die Einstellung Maximale Anzahl von Instanzen für die Revision auf dem Tab Container an.
gcloud
Verwenden Sie den folgenden Befehl:
gcloud run services describe SERVICE
Suchen Sie in der zurückgegebenen Konfiguration nach dem Wert für Maximale Anzahl von Instanzen.
Mindest- oder Höchstanzahl von Instanzen auf Dienstebene und Überarbeitungsebene verwenden
In der folgenden Tabelle sehen Sie das Verhalten, wenn Sie die Höchstanzahl von Instanzen auf Dienstebene mit der Mindest- oder Höchstanzahl von Instanzen auf Überarbeitungsebene kombinieren:
Einstellung auf Dienstebene | Einstellung auf Überarbeitungsebene | Verhalten |
---|---|---|
Maximale Anzahl von Instanzen auf Dienstebene festgelegt | Maximale Anzahl von Instanzen auf Überarbeitungsebene festgelegt | Das effektive Limit für die maximale Anzahl von Instanzen ist der niedrigere Wert zwischen der maximalen Anzahl von Instanzen auf Überarbeitungsebene und der maximalen Anzahl von Instanzen auf Dienstebene. |
Maximale Anzahl von Instanzen auf Dienstebene festgelegt | Mindestanzahl von Instanzen auf Überarbeitungsebene festgelegt | Wenn die maximale Anzahl von Instanzen auf Dienstebene auf einen Wert unter der Mindestanzahl von Instanzen auf Überarbeitungsebene festgelegt ist, werden für die Überarbeitung Instanzen bis zur maximalen Anzahl von Instanzen auf Dienstebene gestartet. Die konfigurierte Mindestanzahl von Instanzen auf Überarbeitungsebene wird nicht erreicht. |
Höchstanzahl von Instanzen auf Dienstebene mit Trafficaufteilung verwenden
Wenn Sie die Traffic-Aufteilung verwenden, wird die maximale Anzahl von Instanzen auf Dienstebene basierend auf dem Anteil der Traffic-Aufteilung auf die Überarbeitungen verteilt. Wenn beispielsweise die maximale Anzahl von Instanzen auf Dienstebene = 100 ist, werden bei einer 50/50-Trafficaufteilung jeder Revision 50 Instanzen auf Dienstebene zugewiesen. Die folgende Tabelle zeigt ein Beispiel für ein Konfigurationsszenario:
Beispielkonfiguration | Ergebnis |
---|---|
Maximale Anzahl von Instanzen auf Dienstebene festgelegt (Szenario ohne Einstellungen auf Überarbeitungsebene): 100
|
Ein Teil der maximalen Anzahl von Instanzen auf Dienstebene wird jeder Überarbeitung zugewiesen. Die effektive maximale Anzahl von Instanzen für jede Überarbeitung wird basierend auf der Traffic-Aufteilung festgelegt. Die maximale Anzahl von Instanzen für Überarbeitung A beträgt 10, für Überarbeitung B 10 und für Überarbeitung C 80. |