Hinweis
In der folgenden Liste werden die Anforderungen für die Verwendung von Workflows zum Bereitstellen und Ausführen eines Cloud Run-Worker-Pools-Workflows beschrieben:
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Aktivieren Sie die Cloud Run Admin API und die Workflows API.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollen
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Bereitstellen und Ausführen von Cloud Run-Worker-Pools mit Workflows benötigen:
- Rolle Cloud Run Admin (
roles/run.admin) im Cloud Run-Worker-Pool - Workflow-Bearbeiter (
roles/workflows.editor) für das Projekt - Dienstkontonutzer (
roles/iam.serviceAccountUser) für die Dienstidentität
Damit Workflows den Cloud Run-Worker-Pool aktualisieren können, muss das Dienstkonto, das zum Bereitstellen Ihres Workflows verwendet wird, die folgende Rolle haben:
- Cloud Run-Administrator (
roles/run.admin)
Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihr Cloud Run-Workerpool mitGoogle Cloud -APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.
Cloud Run-Worker-Pool erstellen
Erstellen Sie einen Cloud Run-Worker-Pool, falls noch nicht geschehen. Sie verweisen später beim Ausführen des Workflows auf den Namen des Cloud Run-Worker-Pools.
Workflow erstellen, bereitstellen und ausführen
Im folgenden Workflow wird die Anzahl der Instanzen Ihres Cloud Run-Worker-Pools aktualisiert.
Erstellen Sie in Ihrem Home-Verzeichnis eine neue YAML-Datei für Ihren Workflow, z. B.
update-cr-worker-pool.yaml, und kopieren Sie den folgenden Inhalt in Ihre Datei:main: params: [args] steps: - init: assign: - project: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")} - region: ${args.region} - workerPoolName: ${args.workerPool} - instanceCount: ${args.instanceCount} - workerPoolUrl: ${"https://run.googleapis.com/v2/projects/" + project + "/locations/" + region + "/workerPools/" + workerPoolName} - updateWorkerPool: call: http.patch args: url: ${workerPoolUrl} query: updateMask: "scaling.manualInstanceCount" auth: type: OAuth2 body: scaling: manualInstanceCount: ${int(instanceCount)} result: updateResult - returnOutput: return: ${updateResult.body}Stellen Sie den Workflow bereit und verknüpfen Sie ihn mit einem angegebenen Dienstkonto:
gcloud workflows deploy WORKFLOW_NAME \ --source=WORKFLOW_NAME.yaml \ --location=REGION \ --service-account=SERVICE_ACCOUNT
Ersetzen Sie Folgendes:
- WORKFLOW_NAME: Der Name Ihres Workflows, z. B.
update-worker-pool. Der Workflowname sollte mit dem Namen der zuvor erstellten YAML-Datei übereinstimmen. - REGION: Die Region, in der Ihr Cloud Run-Worker-Pool bereitgestellt wird, z. B.
europe-west1. - SERVICE_ACCOUNT: Die E-Mail-Adresse des Dienstkontos, dem die erforderlichen Rollen zugewiesen wurden, z. B.:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.comPROJECT_NUMBER-compute@developer.gserviceaccount.com
- WORKFLOW_NAME: Der Name Ihres Workflows, z. B.
Führen Sie den Workflow mit den Details Ihres Worker-Pools und der Anzahl der Instanzen aus:
gcloud workflows execute WORKFLOW_NAME \ --location=REGION \ --data='{"region":"REGION", "workerPool":"WORKER_POOL_NAME", "instanceCount":INSTANCE_COUNT}'
Ersetzen Sie Folgendes:
- WORKFLOW_NAME: Der Name Ihres Workflows.
- REGION: Die Region, in der Ihr Cloud Run-Worker-Pool bereitgestellt wird, z. B.
europe-west1. - WORKER_POOL_NAME: Der Name Ihres Worker-Pools.
- INSTANCE_COUNT: Die geänderte Anzahl von Instanzen für den Worker-Pool, z. B.
3.
Änderungen bestätigen
Nachdem Sie den Workflow ausgeführt haben, können Sie sich die Aktualisierungen an den folgenden Stellen in der Google Cloud -Konsole ansehen:
Um den Ausführungsstatus und die Ergebnisse anzuzeigen, rufen Sie die Detailseite der Workflows auf und wählen Sie Ihren Workflow aus:
Prüfen Sie, ob sich das Feld
manualInstanceCountbei der letzten Ausführung des Workflows geändert hat.So prüfen Sie, ob das Update in Cloud Run erfolgreich war:
Prüfen Sie, ob sich die Anzahl der manuellen Skalierung für Ihren Worker-Pool geändert hat.