시작하기 전에
다음 목록은 Workflows를 사용하여 Cloud Run 작업자 풀 워크플로를 배포하고 실행할 때의 요구사항을 설명합니다.
- 계정에 로그인합니다. Google Cloud 를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. Google Cloud신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
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.
Cloud Run Admin API 및 Workflows API를 사용 설정합니다.
API 사용 설정에 필요한 역할
API를 사용 설정하려면
serviceusage.services.enable권한이 포함된 서비스 사용량 관리자 IAM 역할(roles/serviceusage.serviceUsageAdmin)이 필요합니다. 역할 부여 방법 알아보기.
필요한 역할
Workflows를 사용하여 Cloud Run 작업자 풀을 배포하고 실행하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
- Cloud Run 관리자 (
roles/run.admin) Cloud Run 작업자 풀에 대한 - Workflows 편집자 (
roles/workflows.editor) 프로젝트에 대한 - 서비스 계정 사용자 (
roles/iam.serviceAccountUser) 서비스 ID에 대한
Workflows가 Cloud Run 작업자 풀을 업데이트하도록 허용하려면 워크플로를 배포하는 데 사용되는 서비스 계정에 다음 역할이 있어야 합니다.
- Cloud Run 관리자 (
roles/run.admin)
Cloud Run과 연결된 IAM 역할 및 권한 목록은 다음 항목을 참조하세요. Cloud Run IAM 역할 및 Cloud Run IAM 권한 Cloud Run 작업자 풀이 Cloud 클라이언트 라이브러리와 같은Google Cloud API와 상호작용하는 경우에는 서비스 ID 구성 가이드를 참조하세요. 역할 부여에 대한 자세한 내용은 배포 권한 및 액세스 관리를 참조하세요.
Cloud Run 작업자 풀 만들기
아직 만들지 않았다면 Cloud Run 작업자 풀을 만듭니다. 나중에 워크플로를 실행할 때 Cloud Run 작업자 풀의 이름을 참조합니다.
워크플로 생성, 배포, 실행
다음 워크플로는 Cloud Run 작업자 풀의 인스턴스 수를 업데이트합니다.
홈 디렉터리에서 워크플로의 새 YAML 파일(예:
update-cr-worker-pool.yaml)을 만들고 다음 콘텐츠를 복사하여 파일에 붙여넣습니다.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}워크플로를 배포하고 지정된 서비스 계정과 연결합니다.
gcloud workflows deploy WORKFLOW_NAME \ --source=WORKFLOW_NAME.yaml \ --location=REGION \ --service-account=SERVICE_ACCOUNT
다음을 바꿉니다.
- WORKFLOW_NAME: 워크플로의 이름(예:
update-worker-pool) 워크플로 이름은 이전에 만든 YAML 파일의 이름과 일치해야 합니다. - REGION: Cloud Run 작업자 풀이
배포된 리전(예:
europe-west1) - SERVICE_ACCOUNT: 필요한 역할이 부여된 서비스 계정 이메일(예:)
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.comPROJECT_NUMBER-compute@developer.gserviceaccount.com
- WORKFLOW_NAME: 워크플로의 이름(예:
작업자 풀의 세부정보와 인스턴스 수를 사용하여 워크플로를 실행합니다.
gcloud workflows execute WORKFLOW_NAME \ --location=REGION \ --data='{"region":"REGION", "workerPool":"WORKER_POOL_NAME", "instanceCount":INSTANCE_COUNT}'
다음을 바꿉니다.
- WORKFLOW_NAME: 워크플로의 이름
- REGION: Cloud Run 작업자 풀이
배포된 리전(예:
europe-west1) - WORKER_POOL_NAME: 작업자 풀의 이름
- INSTANCE_COUNT: 작업자
풀의 수정된 인스턴스 수(예:
3)
업데이트 확인
워크플로를 실행한 후에는 다음 위치에서 Google Cloud 콘솔의 업데이트를 볼 수 있습니다.
실행 상태 및 결과를 보려면 Workflows 세부정보 페이지로 이동하여 워크플로를 선택합니다.
워크플로의 가장 최근 실행에서
manualInstanceCount필드가 변경되었는지 확인합니다.Cloud Run에서 업데이트가 성공했는지 확인하려면 작업자 풀 페이지로 이동합니다.
작업자 풀의 수동 확장 수가 변경되었는지 확인합니다.