我正在尝试构建 Docker 映像并将其部署到 Cloud Run。而且我想设置min-instances=1
,这样我就可以避免冷启动。
我正在通过gcloud
CLI 使用 Cloud Build 构建和部署它。
所以这是我从gcloud
CLI 的第一次尝试:
gcloud builds submit . --config=./cloudbuild.yaml
以下是我的以下描述的构建步骤cloudbuild.yaml
:
steps:
# STEP_1: DOCKER BUILDS IMAGE
# STEP_2: DOCKER PUSHES IMAGE TO CLOUD REGISTRY
# STEP_3: GCLOUD SHOULD DEPLOY TO CLOUD RUN (DESCRIBED BELOW)
- name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
entrypoint: gcloud
args:
- "run"
- "deploy"
- "my-service"
- "--image=gcr.io/$PROJECT_ID/my-image"
- "--platform=managed"
- "--region=us-central1"
- "--min-instances=1"
您会看到构建STEP_3
运行:gcloud run deploy my-service ... min-instances=1
我收到以下错误:
The `--min-instances` flag is not supported in the GA release track on the
fully managed version of Cloud Run. Use `gcloud beta` to set `--min-instances` on Cloud Run (fully managed).
所以我想我将不得不使用gcloud beta
命令。但在这种情况下我有一些问题:
我是否还需要将beta
命令添加到我的gcloud builds submit .
命令中?
我应该如何设置它cloudbuilt.yaml
?我是否将它添加到entrypoint
或作为参数args
?
选项1
- name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
entrypoint: "gcloud beta"
args:
- "run"
// ETC
选项 #2
- name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
entrypoint: gcloud
args:
- "beta"
- "run"
// ETC