Cloud Run-Funktionen – Übersicht

Bei der Bereitstellung einer Cloud Run-Funktion werden automatisch die zugrunde liegenden Google Cloud -Dienste koordiniert, einschließlich Cloud Storage, Cloud Build und Artifact Registry, um Ihren Code zu verpacken und auszuführen. Wenn Sie diese Dienstinteraktionen verstehen, können Sie die erforderlichen IAM-Berechtigungen (Identity and Access Management) konfigurieren, Ressourcenabhängigkeiten verfolgen und Probleme bei der Bereitstellung oder beim Build beheben.

Hinweis

Machen Sie sich mit den Konzepten von Cloud Run Functions und der Quellbereitstellung im Leitfaden Cloud Run-Bereitstellungsoptionen und -Ressourcenmodell vertraut.

Architektur

Wenn Sie den Quellcode Ihrer Funktion in Cloud Run Functions bereitstellen, wird dieser Quellcode in einem Cloud Storage-Bucket gespeichert. Cloud Build erstellt dann automatisch Ihren Code in einem Container-Image und überträgt dieses Image per Push in eine Image-Registry von Artifact Registry. Cloud Run Functions greift auf dieses Image zu, wenn es zum Ausführen der Funktion den Container ausführen muss.

Im folgenden Diagramm stellt das Feld „Cloud Run Functions“ eine Funktion dar, die in Cloud Run entweder mit der Cloud Run Admin API oder der Cloud Functions API bereitgestellt wird. In der Regel werden neuere Funktionen mit der Cloud Run Admin API und ältere Funktionen mit der Cloud Functions API bereitgestellt.

Rufen Sie die Cloud Run Admin API über die Google Cloud Console auf.
Abbildung 1. Ein Nutzer bereitet den Quellcode für Funktionen vor und stellt ihn in Cloud Run bereit.

Je nachdem, welche API beim Bereitstellen einer Funktion verwendet wird, geschieht Folgendes:

  • Wenn Sie Ihre Funktion mit der Cloud Run Admin API bereitgestellt haben, geschieht Folgendes:

    1. Ihr Quellcode wird in einen Cloud Storage-Bucket ohne Aufbewahrungsdauer hochgeladen.

      1. Wenn Sie die Standardverschlüsselung verwenden, wird der Name des Buckets automatisch generiert und lautet run-sources-PROJECT_ID-REGION.
      2. Wenn Sie Ihre Daten mit kundenverwalteten Verschlüsselungsschlüsseln (CMEK) schützen, wird der Bucket-Name nicht automatisch generiert und Sie müssen einen Bucket-Namen angeben.
    2. Der Quellcode wird an Cloud Build gesendet, wo die Buildpacks von Google Cloud und das Functions Framework ein Container-Image erstellen. Beachten Sie, dass das Cloud Build-Dienstkonto das Container-Image erstellt. Cloud Run verwendet standardmäßig den von Cloud Build bereitgestellten Maschinentyp e2-standard-2.

    3. Ihr Container-Image wird dann über einen automatisch erstellten Bucket namens REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy in Artifact Registry hochgeladen.

    4. Das Image wird in Cloud Run als Dienst bereitgestellt.

    5. Sie können die Funktion mit Eventarc, Pub/Sub oder anderen HTTP-Triggern auslösen oder aufrufen.

  • Wenn Sie Ihre Funktion mit der Cloud Functions API (v2) bereitgestellt haben, geschieht Folgendes:

    1. Ihr Quellcode wird in einen Cloud Storage-Bucket ohne Aufbewahrungsdauer hochgeladen.

      Der Name des Buckets wird automatisch generiert und hat folgendes Format:

      1. Wenn Sie die Standardverschlüsselung verwenden, heißt dieser Bucket gcf-v2-sources-PROJECT_NUMBER-REGION.
      2. Wenn Sie Ihre Daten mit CMEK schützen, heißt der Bucket gcf-sources-PROJECT_NUMBER-REGION-CMEK_KEY_HASH.
    2. Der Quellcode wird an Cloud Build gesendet, wo die Buildpacks von Google Cloud und das Functions Framework ein Container-Image erstellen. Beachten Sie, dass das Cloud Build-Dienstkonto das Container-Image erstellt. Cloud Run verwendet standardmäßig den von Cloud Build bereitgestellten e2-standard-2-Maschinentyp.

    3. Ihr Container-Image wird dann über einen automatisch erstellten Bucket namens REGION-docker.pkg.dev/PROJECT_ID/gcf-artifacts in Artifact Registry hochgeladen.

    4. Das Image wird in Cloud Run als Dienst bereitgestellt.

    5. Sie können die Funktion mit Eventarc, Pub/Sub oder anderen HTTP-Triggern auslösen oder aufrufen.

Nächste Schritte