In diesem Leitfaden wird beschrieben, wie Cloud Run Bereitstellungen verarbeitet. Dabei wird in drei Bereiche unterteilt:
- Bereitstellungstypen: Was Sie in Cloud Run einbringen, z. B. Quellcode oder Container-Images.
- Cloud Run-Ressourcen: Was Ihre Bereitstellung in Cloud Run ausführt (Dienst, Job, Worker-Pool oder Instanz).
- Bereitstellungsmethoden: Wie Sie die Bereitstellung ausführen, z. B. mit der Cloud de Confiance Console, der gcloud CLI, YAML oder Terraform.
Bereitstellungstypen
Cloud Run bietet mehrere Bereitstellungsoptionen. Nach der Bereitstellung werden alle Bereitstellungen, Ausführungen oder Erstellungen als Sandbox-Containerinstanzen in der vollständig verwalteten und hoch skalierbaren Infrastruktur von Cloud Run ausgeführt. In der folgenden Tabelle sind die unterstützten Bereitstellungsoptionen für die einzelnen Ressourcentypen aufgeführt:
| Bereitstellungsoption | Dienste | Jobs |
|---|---|---|
| Bereitstellbare Container-Images | Unterstützt | Unterstützt |
| Über Quellcode bereitstellen | Unterstützt | Unterstützt |
| Funktionen bereitstellen1 | Unterstützt | – |
Container-Images bereitstellen
Sie können jedes Container-Image, das dem Container-Laufzeitvertrag von Cloud Run entspricht, in einem Cloud Run-Dienst oder Job
Cloud Run-Ressourcen
In den folgenden Abschnitten werden Cloud Run-Ressourcen genauer beschrieben.
Vergleich von Cloud Run-Ressourcen
| Funktion | Dienste | Jobs |
|---|---|---|
| Primärer Anwendungsfall | Anfragebasiert (Websites, APIs, Mikrodienste) | Aufgabenorientiert (Skripts, Datenverarbeitung, Migrationen) |
| Trigger | HTTP-/gRPC-Anfragen, Eventarc | Ausführungsmodi: Standard (sofort), verzögert Trigger: Manuelle Ausführung, mit Scheduler, mit Workflows |
| Skalieren | Automatisch/Manuell: Skalierung auf null oder basierend auf Anfragen | Automatisch: Skaliert auf N unabhängige Aufgaben, die sequenziell oder parallel ausgeführt werden. |
| Lebenszyklus | Sitzungsspezifisch, wird bei Inaktivität herunterskaliert | Wird innerhalb von 7 Tagen abgeschlossen (kurzlebig) |
| Adressierung | Stabile Dienst-URL (mit Load-Balancing) | Kein öffentlicher Endpunkt. Interne URL für Trigger (z.B. Scheduler) |
| Eingehender Traffic | Öffentliches/Internes HTTP/gRPC | Keine |
| Abrechnung | Anfragebasiert oder instanzbasiert | Dauer pro Ausführung |
Cloud Run-Dienste
Ein Dienst ist der primäre Ressourcentyp in Cloud Run. Er stellt eine anfragegesteuerte Arbeitslast dar, die Containerinstanzen automatisch skaliert, um eingehenden Webtraffic, HTTP-Anfragen oder Ereignisse zu verarbeiten. Jeder Dienst befindet sich in einer bestimmten Cloud de Confiance by S3NS -Region. Zur Bereitstellung von Redundanz und Failover repliziert Cloud Run Dienste automatisch in mehreren Zonen innerhalb einer Region. Ein bestimmtesCloud de Confiance -Projekt kann viele Dienste in verschiedenen Regionen ausführen.
Jeder Dienst stellt einen eindeutigen Endpunkt bereit. Standardmäßig skaliert Cloud Run automatisch, um eingehende Anfragen zu verarbeiten. Bei Bedarf können Sie das Skalierungsverhalten optional in manuelle Skalierung ändern. Sie können einen Dienst aus einem Container, Repository oder Quellcode bereitstellen.
Das folgende Diagramm zeigt das Cloud Run-Ressourcenmodell für Dienste:
Das Diagramm zeigt ein Cloud de Confiance -Projekt mit drei Cloud Run-Diensten, Dienst A, Dienst B und Dienst C, die jeweils mehrere Überarbeitungen haben:
- Dienst A erhält mehrere Anfragen, sodass Cloud Run mehrere Instanzen gestartet hat, um die Last zu bewältigen. Auf jeder dieser Instanzen wird nur ein Container ausgeführt (der Container der Anwendung).
- Dienst B hat keine Anfragen, ist also inaktiv und Cloud Run führt keine Instanzen aus.
- Dienst C hat Anfragen und wurde skaliert, um die Last zu bewältigen. Dazu wurden mehrere Instanzen erstellt. In diesem Fall wird auf jeder dieser Instanzen eine Reihe von mehreren Containern ausgeführt. In jedem Satz empfängt nur der Ingress-Container die Anfrage, aber die anderen Container helfen bei der Bearbeitung der Anfrage.
Cloud Run-Dienstüberarbeitungen
Bei jedem Deployment in einem Dienst wird eine Überarbeitung erstellt. Eine Version besteht aus einem oder mehreren Container-Images sowie Konfigurationseinstellungen wie Umgebungsvariablen, Arbeitsspeicherlimits oder einem Wert für die Nebenläufigkeit von Anfragen.
Nach dem Erstellen kann eine Überarbeitung nicht mehr geändert werden. Wenn Sie beispielsweise ein Container-Image für einen neuen Dienst bereitstellen, erstellt Cloud Run die erste Revision. Wenn Sie anschließend für denselben Dienst ein anderes Container-Image bereitstellen, wird in Cloud Run eine zweite Überarbeitung erstellt. Wenn Sie anschließend eine Umgebungsvariable festlegen, wird eine dritte Überarbeitung erstellt. Im Laufe der Zeit werden nicht verwendete Überarbeitungen von Cloud Run entfernt.
Cloud Run leitet Anfragen automatisch so schnell wie möglich an die neueste fehlerfreie Dienstversion weiter.
Cloud Run-Dienstinstanzen
Cloud Run skaliert jede Dienstüberarbeitung, die Anfragen empfängt, automatisch auf die Anzahl der Instanzen, die zur Verarbeitung aller Anfragen nötig sind. Instanzen können viele Anfragen gleichzeitig empfangen. Mit der Einstellung für die Nebenläufigkeit von Anfragen können Sie die maximale Anzahl von Anfragen festlegen, die parallel an jede Instanz einer Version gesendet werden können.
Cloud Run-Jobs
Jeder Job befindet sich in einer bestimmten Cloud de Confiance-Region und besteht aus einem oder mehreren Job-Tasks, die einen oder mehrere Container ausführen. Job-Aufgaben sind unabhängig und können in einer bestimmten Job-Ausführung parallel ausgeführt werden.
Cloud Run-Jobausführungen
Wenn Sie einen Job ausführen, erstellt Cloud Run eine Jobausführung und startet alle Jobaufgaben. Alle Aufgaben einer Jobausführung müssen 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, wird sie von Cloud Run als fehlgeschlagen 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, z. B. eine Datenbank, dies erfordern.
Cloud Run-Jobaufgaben
Bei jeder Jobausführung werden mehrere Aufgaben parallel ausgeführt. Für jede Aufgabe wird eine Instanz ausgeführt. Cloud Run versucht automatisch, alle fehlgeschlagenen Aufgaben noch einmal auszuführen, je nach Konfiguration des Jobs für maxRetries.