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, in denen jeweils ein einzelner Container ausgeführt wird. Service B
empfängt derzeit keine Anfragen, daher wird noch keine Instanz gestartet.
Service C
führt mehrere Container pro Instanz innerhalb jeder Version 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. 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. Sie können einen Dienst aus einem Container, Repository oder Quellcode bereitstellen.
Cloud Run-Überarbeitungen
Bei jedem Deployment in einem Dienst wird eine Überarbeitung erstellt. Eine Version besteht aus einem oder mehreren Container-Images sowie Umgebungseinstellungen wie Umgebungsvariablen, Arbeitsspeicherlimits oder einem Nebenläufigkeitswert.
Ü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-Funktionen
Funktionen sind eine Art von Dienst, der kurze Code-Snippets zum Erstellen und Verbinden von Cloud-Diensten enthält.
Mit Cloud Run schreiben Sie einfache Funktionen, die einem einzigen Zweck dienen und an Ereignisse gebunden sind, die von Ihrer Cloudinfrastruktur und Ihren Diensten ausgegeben werden. Die Funktion wird ausgelöst, wenn ein beobachtetes Ereignis ausgelöst wird. Ihr Code wird in einer vollständig verwalteten Umgebung ausgeführt. Da Funktionen als Cloud Run-Dienste ausgeführt werden, müssen Sie keine Infrastruktur bereitstellen und sich auch nicht um die Verwaltung von Servern kümmern.
Sie können Cloud Run-Funktionen mit einer Reihe von unterstützten Programmiersprachen schreiben. Sie können Ihre Funktion für eine der unterstützten Sprachen in jeder Laufzeitumgebung ausführen. Das vereinfacht das Portieren und lokale Testen der Funktion.
Cloud Run-Funktionsereignisse und ‑trigger
In Ihrer Cloud-Umgebung gibt es Cloudereignisse. Dabei kann es sich beispielsweise um Änderungen an Daten in einer Datenbank, zu einem Speichersystem hinzugefügte Dateien oder eine neu erstellte Instanz einer virtuellen Maschine handeln.
Ereignisse geschehen, ob Sie darauf reagieren möchten oder nicht. Mit einem Trigger können Sie eine Reaktion auf ein Ereignis erstellen. Sie geben damit an, dass Sie an einem bestimmten Ereignis oder an einer Reihe von Ereignissen interessiert sind. Wenn Sie eine Funktion an einen Trigger binden, können Sie Ereignisse erfassen und darauf reagieren. Weitere Informationen zum Erstellen von Triggern und zum Verknüpfen dieser Trigger mit Funktionen finden Sie unter Mit HTTPS aufrufen und Trigger mit Ereignissen.
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. Der Ingress-Container innerhalb einer Instanz kann viele Anfragen gleichzeitig empfangen. Mit der Gleichzeitigkeitseinstellung können Sie die maximale Anzahl von Anfragen festlegen, die parallel an eine bestimmte Instanz gesendet werden können.