CPU-Limits konfigurieren

Auf dieser Seite wird beschrieben, wie Sie die Anzahl der zu verwendenden CPUs für jede Cloud Run-Instanz angeben. Cloud Run-Containerinstanzen sind standardmäßig auf eine CPU beschränkt. Sie können diesen Wert wie auf dieser Seite beschrieben erhöhen oder verringern.

Auf dieser Seite wird auch beschrieben, wie Sie die Funktion CPU-Boost beim Starten aktivieren oder deaktivieren. Diese Funktion erhöht die CPU-Zuweisung während des Starts einer Instanz vorübergehend, um die Startlatenz zu reduzieren.

CPU-Limits festlegen und aktualisieren

Standardmäßig ist jede Instanz auf 1 CPU beschränkt. Sie können diesen Wert mit einem beliebigen Ganzzahlwert bis zu maximal acht CPUs erhöhen.

CPU und Arbeitsspeicher

Im Folgenden sind die Mindestspeicheranforderungen für CPUs aufgeführt:

CPUs Mindestspeicher
4 2 GiB
6 4 GiB
8 4 GiB

Wenn Sie weniger als 1 CPU verwenden möchten, können Sie auch einen beliebigen Wert zwischen 0,08 und 1 in Schritten von 0,01 auswählen. Jeder Wert über 1 muss eine ganze Zahl sein. Wenn Sie weniger als 1 CPU verwenden, werden die folgenden Anforderungen erzwungen:

Einstellung Anforderung
Speicher Es ist mindestens 0,5 CPUs erforderlich, um ein Speicherlimit größer als 512 MiB festzulegen.
Mindestens eine CPU ist erforderlich, um ein Speicherlimit größer als 1 GiB festzulegen.
Gleichzeitigkeit Für Maximale Gleichzeitigkeit muss 1 festgelegt werden.
Zugewiesene CPU Die CPU-Zuweisung darf nur auf die CPU-Zuordnung eingestellt werden, die während der Anfrageverarbeitung zugewiesen ist.
Ausführungsumgebung Sie müssen die Ausführungsumgebung der ersten Generation verwenden.

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:

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 Service mit Google 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.

CPU-Limits 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.

Sie können CPU-Limits über die Cloud Console, die gcloud-Befehlszeile oder eine YAML-Datei festlegen, wenn Sie einen neuen Dienst erstellen oder eine neue Überarbeitung bereitstellen:

Console

  1. Rufen Sie in der Google Cloud Console Cloud Run auf.

    Zu Cloud Run

  2. Klicken Sie auf Container bereitstellen und wählen Sie Dienst aus, um einen neuen Dienst zu konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.

  3. Wenn Sie einen neuen Dienst konfigurieren, füllen Sie die Seite mit den anfänglichen Diensteinstellungen aus und klicken Sie dann auf Container, Volumes, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.

  4. Klicken Sie auf den Tab Container.

    Bild

    • Wählen Sie das gewünschte CPU-Limit aus der Drop-down-Liste aus und verwenden Sie Benutzerdefiniert, wenn Sie weniger als 1 CPU verwenden möchten. Wählen Sie einen Wert von 1, 2, 4, 6 oder 8 CPUs aus oder für weniger als 1 CPU geben Sie einen Wert zwischen 0,08 und weniger als 1,00 in Schritten von 0,01 an. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.
  5. Klicken Sie auf Erstellen oder Bereitstellen.

gcloud

Mit folgendem Befehl können Sie die CPU-Limits für einen bestimmten Dienst aktualisieren:

gcloud run services update SERVICE --cpu CPU

Ersetzen

  • SERVICE durch den Namen des Dienstes.
  • CPU durch das gewünschte CPU-Limit Geben Sie den Wert 1, 2, 4, 6 oder 8 CPUs oder für weniger als 1 CPU einen Wert zwischen 0,08 und weniger als 1,00 in Schritten von 0,01 an. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.

Sie können die CPU auch während der Bereitstellung mit dem folgenden Befehl festlegen:

gcloud run deploy --image IMAGE_URL --cpu CPU

Ersetzen

  • IMAGE_URL durch einen 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 die Form LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • CPU mit dem Wert 1, 2, 4, 6 oder 8 CPUs oder für weniger als 1 CPU einen Wert von 0,08 bis weniger als 1,00 in Schritten von 0,01 angeben. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.

YAML

  1. 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
  2. Aktualisieren Sie das Attribut cpu:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containers:
          - image: IMAGE
            resources:
              limits:
                cpu: CPU

    Ersetzen

    • SERVICE durch den Namen Ihres Cloud Run-Dienstes
    • IMAGE_URL durch einen 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 die Form LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • CPU durch den gewünschten CPU-Limitwert Geben Sie den Wert 1, 2, 4, 6 oder 8 CPUs oder für weniger als 1 CPU einen Wert zwischen 0,08 und weniger als 1,00 in Schritten von 0,01 an. Die erforderlichen Einstellungen finden Sie in der Tabelle unter CPU-Limits festlegen und aktualisieren.
    • 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
  3. Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:

    gcloud run services replace service.yaml

Terraform

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Die folgende google_cloud_run_v2_service-Ressource gibt ein CPU-Limit unter template.containers.resources.limits an. Ersetzen Sie 1 durch die gewünschte CPU-Anzahl.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-cpu"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
      resources {
        limits = {
          # CPU usage limit
          cpu = "1"
        }
      }
    }
  }
}

CPU-Boost beim Starten festlegen

Die Funktion CPU-Boost beim Starten für Überarbeitungen bietet während der Instanzstartzeit und für 10 Sekunden nach dem Start der Instanz zusätzliche CPU.

Der tatsächliche CPU-Boost hängt von den Einstellungen für das CPU-Limit ab:

CPU-Limit Geboostete-CPU
0-1 2
2 4
4 8
6 8
8 8

Die zugewiesene Boost-CPU wird für die Dauer der Container-Startzeit in Rechnung gestellt. Wenn die Startzeit des Containers beispielsweise 15 Sekunden beträgt und Sie 2 CPUs zuweisen, werden Ihnen mit dem CPU-Boost beim Starten 4 CPUs während der (möglicherweise kürzeren) Startzeit der Instanz, einschließlich der 10 Sekunden nach dem Start Ihres Containers, und 2 CPUs während des restlichen Lebenszyklus des Containers berechnet.

Sie können den Start-CPU-Boost über die Google Cloud Console oder die Google Cloud-CLI aktivieren oder deaktivieren.

Console

  1. Rufen Sie in der Google Cloud Console Cloud Run auf.

    Zu Cloud Run

  2. Klicken Sie auf Container bereitstellen und wählen Sie Dienst aus, um einen neuen Dienst zu konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.

  3. Wenn Sie einen neuen Dienst konfigurieren, füllen Sie die Seite mit den anfänglichen Diensteinstellungen aus und klicken Sie dann auf Container, Volumes, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.

  4. Klicken Sie auf den Tab Container.

    Bild

    • Klicken Sie auf das Kästchen Start-CPU-Boost, um die CPU-Boost beim Start zu aktivieren. Heben Sie die Auswahl für das Kästchen auf, um diese Funktion zu deaktivieren.
  5. Klicken Sie auf Erstellen oder Bereitstellen.

gcloud

  1. Mit dem folgenden Befehl können Sie die CPU-Start-Boost für einen bestimmten Dienst aktivieren:

    gcloud run services update SERVICE --cpu-boost

    Ersetzen Sie SERVICE durch den Namen Ihres Dienstes.

    Sie können die Start-CPU-Boost während der Bereitstellung mit dem folgenden Befehl aktivieren:

    gcloud run deploy --image IMAGE_URL --cpu-boost

    Ersetzen Sie IMAGE_URL durch einen 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 die Form LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

  2. Mit dem folgenden Befehl können Sie die CPU-Start-Boost für einen bestimmten Dienst deaktivieren:

    gcloud run services update SERVICE --no-cpu-boost

    Ersetzen Sie SERVICE durch den Namen Ihres Dienstes.

    Sie können die Start-CPU-Boost während der Bereitstellung mit dem folgenden Befehl deaktivieren:

    gcloud run deploy --image IMAGE_URL --no-cpu-boost

YAML

  1. 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
  2. Aktualisieren Sie das Attribut run.googleapis.com/startup-cpu-boost. Geben Sie dazu 'true' an, um die CPU-Start-Boost zu aktivieren, oder 'false', um die Deaktivierung vorzunehmen:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/startup-cpu-boost: 'true'

    Ersetzen

    • SERVICE durch den Namen Ihres Cloud Run-Dienstes
  3. Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:

    gcloud run services replace service.yaml

CPU-Einstellungen aufrufen

So rufen Sie die aktuellen CPU-Einstellungen für Ihren Cloud Run-Dienst auf:

Console

  1. Rufen Sie in der Google Cloud Console Cloud Run auf.

    Zu Cloud Run

  2. Klicken Sie auf den gewünschten Dienst, um die Seite Dienstdetails zu öffnen.

  3. Klicken Sie auf den Tab Überarbeitungen.

  4. Im Detailbereich auf der rechten Seite ist die CPU-Einstellung auf dem Tab Container aufgelistet.

gcloud

  1. Verwenden Sie den folgenden Befehl:

    gcloud run services describe SERVICE
  2. Suchen Sie in der zurückgegebenen Konfiguration nach der CPU-Einstellung.