Mindestinstanzen verwenden

Erfahren Sie, wie Sie inaktive Instanzen für Ihre Dienste aktivieren, indem Sie die Einstellung für Mindestinstanzen konfigurieren.

Standardmäßig wird die Bereitstellung von Knative je nach Anzahl der eingehenden Anfragen auf die Anzahl der Instanzen skaliert. 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.

Für Instanzen, die auf diese Weise kontinuierlich ausgeführt werden, fallen Kosten an.

Ü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 Google Cloud Console oder die Google Cloud CLI ändern, wenn Sie einen neuen Dienst bereitstellen oder einen vorhandenen Dienst aktualisieren und eine Überarbeitung bereitstellen:

Console

  1. Rufen Sie in der Google Cloud Console die Knative-Bereitstellung auf:

    Zur Knative-Bereitstellung

  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. Klicken Sie unter Erweiterte Einstellungen auf Container.

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

  5. Klicken Sie auf Weiter, um mit dem nächsten Abschnitt fortzufahren.

  6. Wählen Sie im Abschnitt Konfigurieren, wie dieser Dienst ausgelöst wird die Verbindung aus, die Sie zum Auslösen des Dienstes verwenden möchten.

  7. Klicken Sie auf Erstellen, um das Image für Knative bereitzustellen, und warten Sie, bis die Bereitstellung abgeschlossen ist.

Befehlszeile

  • Legen Sie für vorhandene Dienste die Mindestzahl von Containerinstanzen fest. Führen Sie dazu den Befehl gcloud run services update mit dem Parameter --min-instances aus.

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

    Ersetzen Sie:

    • SERVICE durch den Namen des Dienstes.
    • 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.
  • Legen Sie für neue Dienste die Mindestzahl an Containerinstanzen fest. Führen Sie dazu den Befehl gcloud run deploy mit dem Parameter --min-instances aus:

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

    Ersetzen Sie:

    • SERVICE durch den Namen des Dienstes.
    • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. gcr.io/cloudrun/hello.
    • 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 Konfiguration eines vorhandenen Dienstes in eine YAML-Datei herunterladen – mit dem gcloud run services describe-Befehl mithilfe des Flags --format=export. Sie können diese YAML-Datei dann ändern und diese Änderungen mit dem Befehl gcloud run services replace bereitstellen. Sie müssen sicherstellen, dass Sie nur die angegebenen Attribute ändern.

  1. Laden Sie die Konfiguration des Dienstes in eine Datei mit dem Namen service.yaml im lokalen Arbeitsbereich herunter:

    gcloud run services describe SERVICE --format export > service.yaml

    Ersetzen Sie SERVICE durch den Namen Ihres Knative-Bereitstellungsdienstes.

  2. Aktualisieren Sie in Ihrer lokalen Datei das Attribut autoscaling.knative.dev/minScale::

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

    Ersetzen Sie:

    • MIN-VALUE durch die gewünschte Anzahl von Containerinstanzen, die vorgehalten werden und zum Empfangen von Anfragen bereit sein sollen. Geben Sie default an, um alle Einstellungen für Mindestinstanzen zu löschen.
  3. Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:

    gcloud run services replace service.yaml