google-cloud-run - 有没有办法为 Cloud Run 服务设置 "imagePullPolicy"?

标签 google-cloud-run

我希望能够在我的镜像在 Google Container Registry 上更新后自动更新我的 Google Cloud Run 服务。

我需要基于同一图像(具有 :latest 标签)更新多个 Cloud Run 服务,所以我希望它能工作。

  # build & push the container image
- name: "gcr.io/kaniko-project/executor:latest"
  args: ["--cache=true", "--cache-ttl=48h", "--destination=gcr.io/project/titan:latest"]

目前,我的 titan 镜像已更新,但没有新的修订版部署到 Cloud Run。

最佳答案

当您将新图像推送到标签引用时,Google Cloud Run 不会自动部署修订版。它没有的原因有很多。

部署 Cloud Run 修订后,它会计算图像引用的 sha256 哈希值。

因此,当您使用 :latest 标记指定容器镜像时,Cloud Run 使用其 sha256 引用来部署和扩展您的服务修订版。当您更新 :latest 标签以指向新图像时,Cloud Run 仍将使用之前的图像。否则,这将是一个危险而湿滑的斜坡。

如果您需要根据新的镜像推送自动部署对 Cloud Run 的新修订,我推荐两种解决方案:

  1. 将“gcloud beta run deploy”命令作为您的 Google Cloud Build 流程中的一个步骤。 (简单)https://cloud.google.com/run/docs/continuous-deployment
  2. 编写一个 GCF/Run 服务,在每次通过 PubSub 订阅 Google Cloud Build(或 GCR)通知推送新图像时,将您的应用部署到 Cloud Run。 (更难)

关于google-cloud-run - 有没有办法为 Cloud Run 服务设置 "imagePullPolicy"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56919391/

相关文章:

google-cloud-platform - google_cloud_run_service 在创建期间返回带有正文的 HTTP 响应 404

google-cloud-platform - 我的云跑服务如何调用其他云跑服务?

google-cloud-platform - 最小实例 Google Cloud Run

google-cloud-run - 云构建到云运行步骤中的 secret

docker - Google Drive API - 自动查询消息

.net - PubSub 上的 Http 400 推送到云运行

go - 在谷歌云运行上设置转发代理

python - Cloud Run 客户端请求 IP 地址被代理 Python Fast API 覆盖

google-cloud-platform - 如何估算 Google Cloud Run 成本?

python-3.x - 如何从 Cloud Run 连接到 Google Cloud Datastore?