Autoscaling von Containerinstanzen

In Cloud Run for Anthos wird jede Überarbeitung automatisch auf die Anzahl der Containerinstanzen skaliert, die zum Verarbeiten aller eingehenden Anfragen erforderlich sind. Wenn eine Überarbeitung keinen Traffic empfängt, wird sie standardmäßig auf null Containerinstanzen herunterskaliert. Bei Bedarf können Sie diese Standardeinstellung ändern, um eine Instanz mithilfe der Einstellung Mindestinstanzen als inaktiv oder „einsatzbereit” festzulegen.

Die Anzahl der geplanten Instanzen wird beeinflusst durch:

In einigen Fällen möchten Sie vielleicht die Gesamtzahl der Containerinstanzen, die gestartet werden können, aus Gründen der Kostenkontrolle oder aus Gründen der besseren Kompatibilität mit anderen von Ihrem Dienst verwendeten Ressourcen begrenzen. Beispielsweise kann Ihr Cloud Run for Anthos-Dienst mit einer Datenbank interagieren, die nur eine bestimmte Anzahl gleichzeitig offener Verbindungen verarbeiten kann.

Über die maximalen Containerinstanzen

Mit der Einstellung „Maximale Containerinstanzen” können Sie die Gesamtzahl der Instanzen begrenzen, die parallel gestartet werden können, wie unter Maximale Anzahl von Containerinstanzen festlegen beschrieben.

Maximale Anzahl von Instanzen überschreiten

Unter normalen Umständen wird die Überarbeitung durch das Erstellen neuer Instanzen horizontal skaliert, um die eingehende Trafficlast zu verarbeiten. Wenn Sie jedoch ein maximales Instanzlimit festlegen, sind in einigen Szenarien nicht genügend Instanzen vorhanden, um diese Trafficlast zu bewältigen. In diesem Fall werden eingehende Anfragen bis zu 60 Sekunden in die Warteschlange gestellt. Wenn eine Instanz während dieses 60-Sekunden-Fensters die Verarbeitung von Anfragen abschließt, steht sie für die Verarbeitung von Anfragen in der Warteschlange zur Verfügung. Wenn während des 60-Sekunden-Fensters keine Instanzen verfügbar werden, schlägt die Anfrage mit dem Fehlercode 429 in Cloud Run (vollständig verwaltet) fehl.

Skalierungsgarantien

Das Limit für die Höchstzahl der Instanzen ist eine Obergrenze. Das Festlegen eines hohen Limits bedeutet nicht, dass Ihre Überarbeitung auf die angegebene Anzahl von Instanzen horizontal skaliert wird. Es bedeutet lediglich, dass die Anzahl der Containerinstanzen das Limit zu keinem Zeitpunkt überschreiten sollte.

Trafficspitzen

In einigen Fällen, z. B. bei schnellem Trafficanstieg, kann Cloud Run for Anthos für einen kurzen Zeitraum etwas mehr als die angegebene Höchstzahl von Containerinstanzen erstellen. Wenn Ihr Dienst dieses vorübergehende Verhalten nicht akzeptiert, sollten Sie vielleicht eine Sicherheitsspanne hinzufügen und einen niedrigeren Wert für die maximale Anzahl von Instanzen festlegen.

Bereitstellungen

Wenn Sie eine neue Überarbeitung bereitstellen, migriert Cloud Run for Anthos den Traffic schrittweise von der alten zur neuen Überarbeitung. Da für jede Überarbeitung eine Höchstzahl an Instanzen festgelegt ist, kann es vorkommen, dass das festgelegte Limit in der Zeit nach der Bereitstellung vorübergehend überschritten wird.

Inaktive Instanzen und Minimierung von Kaltstarts

Kubernetes-Ressourcen werden nur dann verbraucht, wenn eine Instanz eine Anfrage verarbeitet. Dies bedeutet jedoch nicht, dass Cloud Run for Anthos Instanzen sofort herunterfährt, sobald alle Anfragen verarbeitet wurden. Um die Auswirkungen von Kaltstarts zu vermindern, kann Cloud Run for Anthos einige Instanzen inaktiv lassen. Diese Instanzen können Anfragen bei plötzlichen Trafficspitzen verarbeiten.

Wenn eine Containerinstanz beispielsweise die Verarbeitung von Anfragen abgeschlossen hat, bleibt sie möglicherweise für einen bestimmten Zeitraum inaktiv, falls eine weitere Anfrage verarbeitet werden muss. Eine inaktive Containerinstanz kann Ressourcen wie offene Datenbankverbindungen beibehalten. Für Cloud Run (vollständig verwaltet) ist die CPU jedoch nicht verfügbar.

Mit der Einstellung min-instance können Sie inaktive Instanzen dauerhaft verfügbar halten.

Weitere Informationen