Containeranwendung mit Cloud Build in Cloud Run bereitstellen

Auf dieser Seite erfahren Sie, wie Sie mit Cloud Build eine containerisierte Anwendung in Cloud Run bereitstellen.


Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt im Cloud Shell-Editor zu erhalten:

Anleitung


Hinweise

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs aktivieren.

    Aktivieren Sie die APIs

  5. Installieren Sie die Google Cloud CLI.
  6. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  7. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  8. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  9. Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs aktivieren.

    Aktivieren Sie die APIs

  10. Installieren Sie die Google Cloud CLI.
  11. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init

Berechtigungen erteilen

Cloud Build benötigt die Berechtigungen Cloud Run-Administrator und IAM-Dienstkontonutzer, bevor ein Image in Cloud Run bereitgestellt werden kann.

  1. Öffnen Sie ein Terminalfenster.

  2. Legen Sie Umgebungsvariablen zum Speichern Ihrer Projekt-ID und Projektnummer fest:

    PROJECT_ID=$(gcloud config list --format='value(core.project)')
    PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
    
  3. Gewähren Sie dem Cloud Build-Dienstkonto die Rolle Cloud Run-Administrator:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/run.admin
    
  4. Weisen Sie dem Cloud Build-Dienstkonto für das Cloud Run-Laufzeitdienstkonto die Rolle IAM-Dienstkontonutzer zu:

    gcloud iam service-accounts add-iam-policy-binding \
        $PROJECT_NUMBER-compute@developer.gserviceaccount.com \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/iam.serviceAccountUser
    

Vordefiniertes Image bereitstellen

Sie können Cloud Build so konfigurieren, dass ein vordefiniertes Image bereitgestellt wird, das in der Artifact Registry für Cloud Run gespeichert ist.

So stellen Sie ein vordefiniertes Image bereit:

  1. Öffnen Sie ein Terminalfenster, wenn nicht bereits geschehen.

  2. Erstellen Sie ein neues Verzeichnis mit dem Namen helloworld und rufen Sie dieses Verzeichnis auf:

    mkdir helloworld
    cd helloworld
    
  3. Erstellen Sie eine Datei mit dem Namen cloudbuild.yaml und folgendem Inhalt. Diese Datei ist die Cloud Build-Konfigurationsdatei. Sie enthält eine Anleitung für Cloud Build zur Bereitstellung des Images us-docker.pkg.dev/cloudrun/container/hello im Cloud Run-Dienst cloudrunservice.

    steps:
    - name: 'gcr.io/cloud-builders/gcloud'
      script: |
        gcloud run deploy cloudrunservice --image us-docker.pkg.dev/cloudrun/container/hello --region us-central1 --platform managed --allow-unauthenticated
  4. Führen Sie folgenden Befehl aus, um das Image bereitzustellen:

    gcloud builds submit --region=us-west2 --config cloudbuild.yaml
    

Nach Abschluss des Builds müssten Sie in etwa folgende Ausgabe sehen:

DONE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ID                                    CREATE_TIME                DURATION  SOURCE                                                                                            IMAGES  STATUS
784653b2-f00e-4c4b-9f5f-96a5f115bef4  2020-01-23T14:53:13+00:00  23S       gs://cloudrunqs-project_cloudbuild/source/1579791193.217726-ea20e1c787fb4784b19fb1273d032df2.tgz  -       SUCCESS

Sie haben jetzt das Image hello in Cloud Run bereitgestellt.

Bereitgestelltes Image ausführen

  1. Öffnen Sie in der Google Cloud Console die Seite „Cloud Run“:

    Zur Seite "Cloud Run"

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.

    Die Seite Cloud Run-Dienste wird angezeigt.

  3. Suchen Sie in der Tabelle nach der Zeile mit dem Namen cloudrunservice und klicken Sie auf cloudrunservice.

    Die Seite Dienstdetails für cloudrunservice wird angezeigt.

  4. Klicken Sie auf die URL, um das in cloudrunservice bereitgestellte Image auszuführen:

    Grafik: Screenshot der Detailseite des Cloud Run-Dienstes

Nächste Schritte