In Cloud Run bereitstellen

Sie können ein von Artifact Registry gehostetes Image in Cloud Run bereitstellen.

Für das Deployment erforderliche Berechtigungen

Zum Bereitstellen in Cloud Run benötigen Sie die Inhaber- oder Bearbeiterrolle, entweder die Rolle CloudCloud Run-Administrator“ oder ServiceDienstkontonutzer“ oder eine beliebige benutzerdefinierte Rolle, die diese Rolle enthält.Bestimmte Liste von Berechtigungen aus.

Cloud Run verwendet standardmäßig das Compute Engine-Dienstkonto als Identität für Überarbeitungen. Dieses Standarddienstkonto hat Lesezugriff auf Artifact Registry-Repositories im selben Google Cloud-Projekt. Wenn sich Ihre Repositories in einem anderen Projekt befinden oder Sie ein nutzerverwaltetes Dienstkonto als Identität für Ihre Überarbeitungen verwenden, müssen Sie dem Laufzeitdienstkonto die Berechtigungen für den Artifact Registry-Leser erteilen. aus.

Von lokaler Quelle bereitstellen

Bei unterstützten Sprachen kann Cloud Run automatisch:

  1. Lokalen Quellcode containerisieren
  2. Übertragen Sie das Container-Image per Push in ein Artifact Registry-Repository.
  3. Stellen Sie das Cloud Run-Container-Image aus dem Repository bereit.

Cloud Run sendet und überträgt Images mithilfe des Repositorys cloud-run-source-deploy in der Region, die Sie bei der Bereitstellung angeben. Wenn das Repository nicht vorhanden ist, wird es von Cloud Run erstellt, wenn Ihr Konto die erforderlichen Berechtigungen hat.

Weitere Informationen finden Sie unter Aus Quellcode bereitstellen. Sie können auch die Cloud Run-Kurzanleitungen für Sprachen ausprobieren, die das Deployment aus Quellcode unterstützen.

Container-Images bereitstellen

Sie stellen ein Image nach Tag oder Digest bereit, der in Artifact Registry gespeichert ist.

Wenn Sie einen Dienst zum ersten Mal bereitstellen, wird die erste Überarbeitung erstellt. Überarbeitungen können nach der Erstellung nicht mehr geändert werden. Wenn Sie den Dienst aus einem Container-Image-Tag bereitstellen, wird er in einen Digest aufgelöst. Die Überarbeitung bedient anschließend immer diesen speziellen Digest.

Sie können einen Container mit der Cloud Console oder der gcloud-Befehlszeile bereitstellen.

Console

So stellen Sie ein Container-Image bereit:

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie auf Dienst erstellen, um die entsprechende Seite aufzurufen.

  3. Unter Bereitstellungsplattform:

    1. Wählen Sie Cloud Run als Bereitstellungsplattform aus.

    2. Wählen Sie die Region aus, in der sich Ihr Dienst befinden soll.

    3. Geben Sie den Namen des Dienstes ein. Dienstnamen dürfen pro Region und Projekt oder pro Cluster nur einmal vorkommen. Ein Dienstname kann später nicht mehr geändert werden und ist bei Verwendung von Cloud Run öffentlich sichtbar.

  4. Unter Authentifizierung:

    • Wenn Sie eine öffentliche API oder Website erstellen, wählen Sie Nicht authentifizierte Aufrufe zulassen aus. Durch Anklicken des Kästchens wird der Sonderkennzeichnung allUser die Rolle "IAM-Invoker" zugewiesen. Sie können die Einstellung mit IAM bearbeiten, nachdem Sie den Dienst erstellt haben.
    • Wenn Sie einen durch Authentifizierung geschützten sicheren Dienst wünschen, wählen Sie Authentifizierung erforderlich aus.
  5. Klicken Sie auf Weiter, um mit der zweiten Seite des Diensterstellungsformulars fortzufahren:

  6. Geben Sie im Textfeld Container-Image-URL die URL eines Images ein. Beispiel: us-central1-docker.pkg.dev/my-project/my-repo/my-image:latest

  7. Optional können Sie auf Erweiterte Einstellungen anzeigen und die nachfolgenden Tabs klicken, um diese Einstellungen vorzunehmen:

  8. Klicken Sie auf Erstellen, um das Image in Cloud Run bereitzustellen. Warten Sie, bis das Deployment abgeschlossen ist.

  9. Klicken Sie auf den angezeigten URL-Link, um den Endpunkt des bereitgestellten Dienstes zu öffnen.

Befehlszeile

So stellen Sie ein Container-Image bereit:

  1. Führen Sie den folgenden Befehl aus:

    gcloud run deploy SERVICE --image REPO-LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE \
    [--platform managed --region RUN-REGION]
    

    Wo

    • REPO-LOCATION ist der Speicherort des Repositorys. Beispiel: us-central1
    • SERVICE ist der Name des Dienstes, für den Sie die Bereitstellung ausführen möchten. Wenn der Dienst noch nicht vorhanden ist, erstellt dieser Befehl den Dienst während der Bereitstellung. Sie können diesen Parameter auch weglassen, werden dann jedoch nach dem Dienstnamen gefragt.
    • PROJECT-ID ist die Google Cloud-Projekt-ID.
    • REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
    • IMAGE ist der Name des Images, z. B. us-central1-docker.pkg.dev/my-project/my-repo/my-image:latest.
    • RUN-REGION ist der Cloud Run-Speicherort für die Bereitstellung. Wenn Sie einen Standard-Cloud Run-Speicherort mit dem Attribut gcloud run/region festlegen, können Sie --platform managed -region RUN-REGION] weglassen.

    Wenn Sie eine öffentliche API oder Website erstellen, können Sie mit dem Flag --allow- unauthenticated nicht authentifizierte Aufrufe zulassen. Dadurch wird allUsers die IAM-Rolle Cloud Run Invoker zugewiesen. Sie können auch --no-allow-unauthenticated angeben, um keine nicht authentifizierten Aufrufe zuzulassen. Wenn Sie keines dieser Flags angeben, werden Sie aufgefordert, zu bestätigen, ob nicht authentifizierte Aufrufe zugelassen werden sollen, wenn der Befehl deploy ausgeführt wird.

  2. Warten Sie, bis die Bereitstellung abgeschlossen ist. Nach erfolgreichem Abschluss wird eine Bestätigung zusammen mit der URL des bereitgestellten Dienstes angezeigt.