Erfahren Sie, wie Sie inaktive Instanzen für Ihre Dienste aktivieren, indem Sie die Einstellung für Mindestinstanzen konfigurieren.
Standardmäßig skaliert Knative Serving auf die Anzahl der Instanzen basierend auf der Anzahl der eingehenden Anfragen. 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
Rufen Sie in der Google Cloud Console Knative Serving auf:
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.
Klicken Sie unter Erweiterte Einstellungen auf Container.
Geben Sie im Feld Mindestinstanzen die gewünschte Anzahl von Containerinstanzen an, die einsatzbereit gehalten werden sollen, um Anfragen zu erhalten.
Klicken Sie auf Weiter, um mit dem nächsten Abschnitt fortzufahren.
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.
Klicken Sie auf Erstellen, um das Image in Knative Serving bereitzustellen. 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.
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-Serving-Dienstes.
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.
- MIN-VALUE durch die gewünschte Anzahl von Containerinstanzen, die vorgehalten werden und zum Empfangen von Anfragen bereit sein sollen. Geben Sie
Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:
gcloud run services replace service.yaml