Das folgende Diagramm zeigt das Cloud Run-Ressourcenmodell für Dienste:
Das Diagramm zeigt ein Google Cloud-Projekt mit drei Cloud Run-Diensten, Service A
, Service B
und Service C
, von denen jeder mehrere Überarbeitungen hat.
Im Diagramm erhält Service A
viele Anfragen, was zum Starten und Ausführen mehrerer Instanzen führt, die jeweils einen einzelnen Container ausführen. Service B
empfängt derzeit keine Anfragen, daher wird noch keine Instanz gestartet.
Service C
führt in jeder Überarbeitung mehrere Container pro Instanz aus. Beachten Sie, dass nur der Ingress-Container die Anfrage empfängt. Jede Instanz mit mehreren Containern wird als unabhängige Einheit skaliert.
Cloud Run-Dienste
Dienste sind die wichtigsten Ressourcen von Cloud Run. Jeder Dienst befindet sich in einer bestimmten Google Cloud-Region (Cloud Run). Zu Redundanz- und Failover-Zwecken werden Dienste automatisch in mehreren Zonen der Region repliziert, in der sie sich befinden. Ein bestimmtes Google Cloud-Projekt kann viele Dienste in verschiedenen Regionen ausführen.
Jeder Dienst stellt einen eindeutigen Endpunkt bereit und skaliert die zugrunde liegende Infrastruktur automatisch, um eingehende Anfragen zu verarbeiten.
Cloud Run-Überarbeitungen
Bei jedem Deployment in einem Dienst wird eine Überarbeitung erstellt. Jede Überarbeitung umfasst ein oder mehrere Container-Images sowie Umgebungseinstellungen wie Umgebungsvariablen, Arbeitsspeicherlimits oder einen Gleichzeitigkeitswert.
Überarbeitungen können nach der Erstellung nicht mehr geändert werden. Wenn Sie beispielsweise ein Container-Image für einen neuen Cloud Run-Dienst bereitstellen, wird die erste Überarbeitung erstellt. Wenn Sie anschließend für denselben Dienst ein anderes Container-Image bereitstellen, wird eine zweite Überarbeitung erstellt. Wenn Sie anschließend eine Umgebungsvariable festlegen, wird eine dritte Überarbeitung erstellt und so weiter.
Anfragen werden automatisch so schnell wie möglich an die neueste fehlerfreie Dienstüberarbeitung weitergeleitet.
Cloud Run-Jobs
Jeder Job befindet sich in einer bestimmten Google Cloud-Region und führt einen oder mehrere Container aus. Ein Job besteht aus einer oder mehreren unabhängigen Aufgaben, die parallel ausgeführt werden. Jede Aufgabe führt eine Containerinstanz aus und wiederholt dies gegebenenfalls.
Cloud Run-Jobausführungen
Bei einer Jobausführung werden alle Jobaufgaben gestartet. Die Aufgaben einer Jobausführung müssen alle erfolgreich abgeschlossen werden, damit die Jobausführung erfolgreich ist. Sie können Zeitlimits für Aufgaben festlegen und die Anzahl der Wiederholungen im Fall von Aufgabenfehlern angeben. Wenn eine Aufgabe die maximale Anzahl an Wiederholungsversuchen überschreitet, werden diese Aufgabe und der Job als fehlgeschlagen markiert. Standardmäßig werden maximal 100 Aufgaben parallel ausgeführt. Sie können aber auch ein niedrigeres Maximum festlegen, wenn Ihre Sicherungsressourcen dies erfordern.
Cloud Run-Instanzen
Jede Überarbeitung, die Anfragen empfängt, wird automatisch auf die Anzahl der Instanzen skaliert, die zur Verarbeitung aller Anfragen nötig sind. Beachten Sie, dass der Ingress-Container innerhalb einer Instanz viele Anfragen gleichzeitig empfangen kann. Mit der Gleichzeitigkeitseinstellung können Sie die maximale Anzahl von Anfragen festlegen, die parallel an eine bestimmte Instanz gesendet werden können.