Auf dieser Seite wird beschrieben, wie Sie die maximale Anzahl von Instanzen festlegen, die für Ihren Cloud Run-Dienst mit dem standardmäßigen Cloud Run-Autoscaling verwendet werden können. 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 unterstützenden Dienst 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 Dienstebene oder auf Revisionsebene konfigurieren. Google empfiehlt, die maximale Anzahl von Instanzen auf Dienstebene zu verwenden, um die Anzahl der Instanzen eines Dienstes zu begrenzen, es sei denn, Sie müssen Instanzen auf Überarbeitungsebene begrenzen. Standardmäßig legt Cloud Run 100 Instanzen für jede Version fest. Wenn Sie möchten, dass Ihr Dienst auf mehr Instanzen skaliert werden kann, ändern Sie diesen Wert.
Wenn Sie die maximale Anzahl von Instanzen anwenden, werden die Einstellungen so wirksam:
- Service-Level: sofort
- Überarbeitungsebene: bei der Bereitstellung der Überarbeitung
Getaggte Überarbeitungen und maximale Anzahl 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) für den Cloud Run-Dienst - Dienstkontonutzer (
roles/iam.serviceAccountUser) für die Dienstidentität
Wenn Sie einen Dienst oder eine Funktion aus dem Quellcode bereitstellen, müssen Ihnen auch zusätzliche Rollen für Ihr Projekt und Ihr Cloud Build-Dienstkonto zugewiesen sein.
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.
Kostengesichtspunkte
Mit der Einstellung für die maximale Anzahl von Instanzen können Sie ein Kostensicherheitslimit festlegen, um die Kosten zu verwalten. Wenn Sie eine höhere maximale Anzahl festlegen, wird die Verfügbarkeit priorisiert. Es entstehen jedoch potenzielle Abrechnungsrisiken durch unerwartete Trafficspitzen oder Fehlkonfigurationen. Konfigurieren Sie diese Einstellung als Kostenschutz auf Dienstebene, wenn Sie den Dienst zum ersten Mal bereitstellen. Wir empfehlen, mit einem maximalen Instanzwert von 3 zu beginnen, um Ihr Budget vor unerwarteten Spitzen zu schützen.
Weitere Informationen finden Sie unter Cloud Run – Preise. Sie können die Kosten auch mit dem Preisrechner schätzen. Weitere Tools zur Kostenkontrolle finden Sie unter Kontingente für die Ressourcenzuweisung oder Budgets und Benachrichtigungen für die Abrechnung.
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, YAML oder Terraform ändern, wenn Sie einen neuen Dienst erstellen oder eine neue Version bereitstellen.
Console
Rufen Sie in der Google Cloud Console Cloud Run auf:
Wählen Sie im Cloud Run-Navigationsmenü die Option Dienste aus:
Wenn Sie einen neuen Dienst konfigurieren, klicken Sie auf Container bereitstellen und füllen Sie die Seite mit den anfänglichen Diensteinstellungen aus.
Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Dienst und dann auf den Tab Skalierung.
Suchen Sie unter Dienstskalierung das Feld Maximale Anzahl von Instanzen und geben Sie die erforderliche maximale Anzahl von Containerinstanzen an. Verwenden Sie dazu einen beliebigen Ganzzahlwert von
1bis zum maximalen Limit, das für Ihren Dienst möglich ist. Wenn Sie das Limit auf Dienstebene entfernen möchten, löschen Sie den festgelegten Wert. Dadurch wird die Einstellung auf den Standardwert zurückgesetzt.Klicken Sie auf Erstellen, um einen neuen Dienst zu erstellen. Klicken Sie auf Unterschied ansehen und erneut bereitstellen und dann auf Änderungen bereitstellen, um einen vorhandenen Dienst zu aktualisieren.
gcloud
Mit dem folgenden Befehl können Sie die maximale Anzahl von Instanzen eines bestimmten Dienstes aktualisieren:
gcloud 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
1bis zum maximalen Limit, das für Ihren Dienst möglich ist. Wenn Sie das Limit auf Dienstebene entfernen möchten, löschen Sie den festgelegten Wert. Dadurch wird die Einstellung auf den Standardwert zurückgesetzt.
Mit dem folgenden Befehl können Sie auch während der Bereitstellung die maximale Anzahl von Instanzen festlegen:
gcloud 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:latestWenn 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
1bis 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/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
1bis zum maximalen Limit, das für Ihren Dienst möglich ist. Wenn Sie das Limit auf Dienstebene entfernen möchten, löschen Sie den festgelegten Wert. Dadurch wird die Einstellung auf den Standardwert zurückgesetzt.
Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:
gcloud run services replace service.yaml
Der Befehl
gcloud run services replaceverwendet standardmäßig die Dateiservice.yaml, falls vorhanden.
Terraform
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Fügen Sie einergoogle_cloud_run_v2_service-Ressource in Ihrer Terraform-Konfiguration Folgendes hinzu:resource "google_cloud_run_v2_service" "default" {
name = "SERVICE"
location = "REGION"
scaling {
max_instance_count = MAX_INSTANCE
}
template {
containers {
image = "IMAGE_URL"
}
}
}
Ersetzen Sie Folgendes:
- SERVICE: Der Name Ihres Cloud Run-Dienstes.
- REGION: die Google Cloud -Region, z. B.
europe-west1. - MAX_INSTANCE: die erforderliche maximale Anzahl von Containerinstanzen. Verwenden Sie einen beliebigen Ganzzahlwert von
1bis zum maximalen Limit. IMAGE_URL: ein Verweis auf das Container-Image, z. B.us-docker.pkg.dev/cloudrun/container/hello:latestWenn 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.
Maximale Anzahl von Instanzen auf Dienstebene ansehen
So rufen Sie die aktuellen Einstellungen für die maximale Anzahl von Instanzen auf Dienstebene für Ihren Cloud Run-Dienst auf:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Dienste:
Klicken Sie auf den Dienst, um den Bereich Dienstdetails zu öffnen.
Klicken Sie auf den Tab Skalierung, um die aktuelle Einstellung aufzurufen.
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-Überarbeitungen so konfiguriert, dass sie auf maximal 100 Instanzen skaliert werden können.
Die Skalierung auf Überarbeitungsebene ist nur für Dienste verfügbar, für die das Feature zuvor konfiguriert wurde.
Console
Rufen Sie in der Google Cloud Console Cloud Run auf:
Wählen Sie im Cloud Run-Navigationsmenü die Option Dienste aus:
Wenn Sie einen neuen Dienst konfigurieren, klicken Sie auf Container bereitstellen und füllen Sie die Seite mit den anfänglichen Diensteinstellungen aus. Klicken Sie dann auf Container, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.
Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Dienst und dann auf den Tab Skalierung.
Geben Sie im Abschnitt Versionsskalierung im Feld Maximale Anzahl von Instanzen die maximale Anzahl von Containerinstanzen an.
Klicken Sie auf Erstellen, um einen neuen Dienst zu erstellen. Klicken Sie auf Unterschied ansehen und erneut bereitstellen und dann auf Änderungen bereitstellen, um einen vorhandenen Dienst zu aktualisieren.
gcloud
Mit dem folgenden Befehl können Sie die maximale Anzahl von Instanzen eines bestimmten Dienstes aktualisieren:
gcloud 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
1bis 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 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
1bis zum maximalen Limit. REVISION: ein neuer Überarbeitungsname 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
Der Befehl
gcloud run services replaceverwendet standardmäßig die Dateiservice.yaml, falls vorhanden.
Einstellungen für die maximale Anzahl von Instanzen auf Überarbeitungsebene ansehen
Die Skalierung auf Überarbeitungsebene ist nur für Dienste verfügbar, für die das Feature zuvor konfiguriert wurde.
So rufen Sie die aktuellen Einstellungen für die maximale Anzahl von Instanzen auf Überarbeitungsebene für Ihren Cloud Run-Dienst auf:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Dienste:
Klicken Sie auf den Dienst, um den Bereich Dienstdetails zu öffnen.
Klicken Sie auf den Tab Skalierung.
Sehen Sie sich unter Versionsskalierung die Maximale Anzahl von Instanzen an.
gcloud
Verwenden Sie den folgenden Befehl:
gcloud run services describe SERVICE
Suchen Sie in der zurückgegebenen Konfiguration den Wert für Maximale Instanzen:.
Mindest- oder Höchstanzahl von Instanzen auf Dienstebene und Überarbeitungsebene verwenden
In der folgenden Tabelle wird das Verhalten beschrieben, wenn Sie die maximale Anzahl von Instanzen auf Dienstebene mit der minimalen oder maximalen Anzahl von Instanzen auf Überarbeitungsebene kombinieren:
| Einstellung auf Dienstebene | Einstellung auf Versionsebene | Verhalten |
|---|---|---|
| Maximale Anzahl von Instanzen auf Dienstebene festgelegt | Maximale Anzahl von Instanzen auf Überarbeitungsebene festgelegt | Das effektive maximale Instanzlimit ist der kleinere 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 festgelegt ist, der kleiner als die Mindestanzahl von Instanzen auf Überarbeitungsebene ist, startet die Überarbeitung Instanzen bis zur maximalen Anzahl von Instanzen auf Dienstebene und erreicht nicht die konfigurierte Mindestanzahl von Instanzen auf Überarbeitungsebene. |
Maximale Anzahl von Instanzen auf Dienstebene mit Trafficaufteilung verwenden
Wenn Sie die Aufteilung des Traffics verwenden, wird die maximale Anzahl von Instanzen auf Dienstebene basierend auf dem Anteil der Trafficaufteilung auf die Überarbeitungen verteilt. Wenn beispielsweise die maximale Anzahl von Instanzen auf Dienstebene = 100 ist, werden bei einer 50/50-Aufteilung des Traffics jeder Version 50 maximale 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 Aufteilung des Traffics festgelegt. Die maximale Anzahl von Instanzen für Version A beträgt 10, für Version B 10 und für Version C 80. |