1. 샘플 소스 클론
git clone https://github.com/GoogleCloudPlatform/cloud-run-samples.git
2. 디렉터리 이동
cd cloud-run-samples/gcloud-report/
3. 시작 자동화, script.sh 내용 수정
gcloud container clusters resize [YOUR-CLUSTER-NAME] --num-nodes=[YOUR-NODE-NUMBER] --zone asia-northeast3-a --quiet
- quiet: Y 입력 생략
4. IAM 생성 및 권한 부여
GCP > IAM 및 관리자 > IAM > 액세스 권한 부여(Kubernetes 관리자, Cloud Run 관리자 권한 부여)
5. 컨테이너를 빌드하고 Container Registry에 업로드
gcloud builds submit --tag gcr.io/[YOUR_PROJECT_ID]/start-cluster-example
6. cloud run 서비스 배포
gcloud run deploy start-cluster-example \
--image gcr.io/[YOUR_PROJECT_ID]/start-cluster-example \
--service-account cluster-automation-identity(YOUR_SERVICE_ACCOUNT_NAME) \
--no-allow-unauthenticated
>> 리전 선택에서 5번(asia-northeast3)
>> 반환되는 URL을 Cloud Run URL로 사용
7. 중지 자동화, script.sh 수정
gcloud container clusters resize [YOUR_CLUSTER_NAME] --num-nodes=0 --zone asia-northeast3-a --quiet
8. 컨테이너를 빌드하고 Container Registry에 업로드
gcloud builds submit --tag gcr.io/[YOUR_PROJECT_NAME]/stop-cluster-example
9. cloud run 서비스 배포
gcloud run deploy stop-cluster-example \
--image gcr.io/[YOUR_PROJECT_ID]/stop-cluster-example \
--service-account cluster-automation-identity(YOUR_SERVICE_ACCOUNT_NAME) \
--no-allow-unauthenticated
>> 리전 선택에서 5번(asia-northeast3)
>> 반환되는 URL을 Cloud Run URL로 사용
10. 테스트
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" [YOUR_CLOUD_RUN_URL]
11. Cloud Scheduler가 Cloud Run을 호출할 수 있도록 서비스 계정 생성
GCP > IAM 및 관리자 > 서비스 계정 > 서비스 계정 만들기(Cloud Run 관리자 추가)
12. Cloud Scheduler 생성
Cloud Scheduler > 작업 만들기(시작, 중지 두 개 만들기)
참고
https://cloud.google.com/run/docs/tutorials/gcloud?hl=ko
'Cloud > GCP' 카테고리의 다른 글
GCS 서명된 URL로 파일 업로드(JavaScript) (0) | 2023.03.20 |
---|---|
GCS 버킷 CORS 적용 (0) | 2023.03.20 |
[GCP] Cloud CDN을 위한 서명된 URL 만들기(JavaScript) (0) | 2023.03.17 |
GCS 버킷 서명된 URL 만들기(NodeJS) (0) | 2023.03.17 |
GCS 버킷에 Cloud CDN 적용하기 (0) | 2023.02.01 |