Mindestinstanzen verwenden

Basierend auf der Anzahl der eingehenden Anfragen skaliert Cloud Run standardmäßig die Anzahl der Instanzen herunter. Wenn Ihr Dienst jedoch eine geringere Latenz erfordert und Sie die Anzahl von Kaltstarts begrenzen möchten, können Sie dieses Standardverhalten ändern. Dazu geben Sie eine Mindestanzahl von Containerinstanzen an, die einsatzbereit sind und Anfragen bedienen können. Weitere Informationen zu dieser Optimierung finden Sie unter Allgemeine Entwicklungstipps.

Für Instanzen, die auf diese Weise weiter ausgeführt werden, fallen Abrechnungskosten zu Preisen für Inaktivität an. Eine Mindestanzahl an inaktiven Instanzen wird weiter ausgeführt, damit Anfragen verarbeitet werden können. Allerdings wird die CPU gedrosselt, wenn keine Anfragen eingehen.

Auf dieser Seite wird beschrieben, wie Sie inaktive Instanzen für Ihren Dienst mit der Einstellung „Mindestinstanzen“ aktivieren.

Überarbeitungen und Mindestinstanzen

Instanzen werden nur gestartet, wenn die Überarbeitung adressierbar ist. Eine Überarbeitung ist adressierbar, wenn eine der folgenden Bedingungen zutrifft:

  • Die Überarbeitung empfängt einen Teil des Traffics.
  • Der Überarbeitung wurde ein Überarbeitungs-Tag zugewiesen.

Mindestinstanzen festlegen und aktualisieren

Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.

Bei Containerinstanzen ist min-instances standardmäßig deaktiviert und auf 0 eingestellt. Sie können diese Standardeinstellung über die Cloud Console, die gcloud-Befehlszeile oder eine YAML-Datei ändern, wenn Sie einen neuen Dienst erstellen oder eine neue Überarbeitung bereitstellen:

Console

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie auf Dienst erstellen, wenn Sie einen neuen Dienst für die Bereitstellung 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 wie gewünscht aus und klicken Sie dann auf Weiter > Erweiterte Einstellungen. Daraufhin wird die Seite zur Dienstkonfiguration aufgerufen.

  4. Klicken Sie auf den Tab Container.

    Bild

  5. Geben Sie im Feld Mindestinstanzen die gewünschte Anzahl von Containerinstanzen an, die einsatzbereit gehalten werden sollen, um Anfragen zu erhalten.

  6. Klicken Sie auf Erstellen oder Bereitstellen.

Befehlszeile

Mit dem folgenden Befehl können Sie min-instance für einen bestimmten Dienst aktualisieren:

gcloud run services update SERVICE --min-instances MIN-VALUE

Ersetzen Sie

  • SERVICE durch den Namen Ihres Dienstes und
  • MIN-VALUE durch die gewünschte Anzahl von Containerinstanzen, die einsatzbereit gehalten werden und zum Empfangen von Anfragen bereit sein sollen. Geben Sie default an, um alle Einstellungen für Mindestinstanzen zu löschen.

Sie können min-instance auch während der Bereitstellung mit dem folgenden Befehl festlegen:

gcloud run deploy --image IMAGE_URL --min-instances MIN-VALUE

Ersetzen Sie

  • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. gcr.io/myproject/my-image:latest.
  • MIN-VALUE durch die gewünschte Anzahl von Containerinstanzen, die einsatzbereit gehalten werden und zum Empfangen von Anfragen bereit sein sollen. Geben Sie default an, um alle Einstellungen für Mindestinstanzen zu löschen.

YAML

Sie können die vorhandene Dienstkonfiguration mit dem Befehl gcloud run services describe --format export herunterladen und aufrufen, was bereinigte Ergebnisse im YAML-Format liefert. Anschließend können Sie die unten beschriebenen Felder ändern und die geänderte YAML-Datei mit dem Befehl gcloud beta run services replace hochladen. Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aktualisieren Sie das Attribut autoscaling.knative.dev/minScale::

    spec:
     template:
       metadata:
         annotations:
           autoscaling.knative.dev/minScale: 'MIN-INSTANCE' 

    Ersetzen Sie

    • MIN-INSTANCE durch die gewünschte Anzahl von Instanzen, die einsatzbereit gehalten werden und zum Empfangen von Anfragen bereit sein sollen.
  3. Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:

    gcloud beta run services replace service.yaml

Einstellungen für die Mindestanzahl von Instanzen aufrufen

So rufen Sie die aktuellen Einstellungen für die Mindestanzahl von Instanzen für Ihren Dienst auf:

Console

  1. Öffnen Sie 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 rechts wird die Einstellung für die Mindestanzahl von Instanzen auf dem Tab Container aufgelistet.

Befehlszeile

  1. Verwenden Sie den folgenden Befehl:

    gcloud run services describe SERVICE
  2. Suchen Sie in der zurückgegebenen Konfiguration nach der Einstellung für die Mindestzahl von Instanzen.