【发布时间】:2020-01-21 10:05:45
【问题描述】:
当使用 Google Endpoints 和 Cloud Run 提供容器服务时,需要创建一个 YAML 文件(交错 2.0 格式)来指定所有配置的路径。对于 EVERY CHANGE,以下是我所做的(基于文档 (https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-functions)
第 1 步:部署 Endpoints 配置
gcloud endpoints services deploy openapi-functions.yaml \
--project ESP_PROJECT_ID
这给了我以下输出:
Service Configuration [CONFIG_ID] uploaded for service [CLOUD_RUN_HOSTNAME]
那么,
第 2 步:将脚本下载到本地机器
chmod +x gcloud_build_image
./gcloud_build_image -s CLOUD_RUN_HOSTNAME \
-c CONFIG_ID -p ESP_PROJECT_ID
那么,
第 3 步:重新部署 Cloud Run 服务
gcloud run deploy CLOUD_RUN_SERVICE_NAME \
--image="gcr.io/ESP_PROJECT_ID/endpoints-runtime-serverless:CLOUD_RUN_HOSTNAME-CONFIG_ID" \
--allow-unauthenticated \
--platform managed \
--project=ESP_PROJECT_ID
这是每个 API 路径更改的过程吗?或者有没有更简单的直接更新 YAML 文件并将其上传到某处的方法?
谢谢。
【问题讨论】:
-
每次更改 CLoud Endpoint YAML 时是否执行第 2 步和第 3 步?
-
是的。有什么办法可以避免吗?当我不这样做时,它会在 Cloud Run 服务中使用旧的 config-id
-
当您的应用有新配置时,重新部署 Cloud Run 应用实际上是一种最佳做法。这使您可以将代码与配置分开并干净地执行回滚之类的操作。
标签: google-cloud-run google-cloud-endpoints-v2