【问题标题】:Is there a way to test a fully-managed Cloud Run revision before sending traffic to it?有没有办法在向其发送流量之前测试完全托管的 Cloud Run 修订版?
【发布时间】:2020-09-26 03:31:56
【问题描述】:

我使用 Google 的 Cloud Run(完全托管)来运行我正在构建的应用程序。当我部署新修订版时,我希望能够在开始发送流量之前验证各种健康检查是否正常,但我无法找到单个(无流量)修订版的 URL。有什么和我要找的类似的吗?

【问题讨论】:

  • 你在考虑什么方面的测试?如果是逻辑,那么我的想法是,您会将其部署到自己的 Cloud Run 部署中,与生产和运行功能测试分开。
  • 我已经在暂存环境中做到了这一点,所以我真正想要测试的是在生产环境中(所有 env 变量都设置为相关的 prod 值),新版本的行为正常。我想一个笨拙的解决方法是将它部署为一个单独的服务,但是使用 Cloud Run 令人敬畏的流量控制功能,我认为有某种方法可以在向它发送流量之前检查修订版的运行状况。
  • 你好皮特...我听到你的声音...我认为您要求的是一种部署新修订版并发送 0% 流量的方法...但不知何故仍然提供调用机制可以被操作用来以某种方式“检查它”。我还没有看到类似的东西可用。我几乎认为我们相信环境正在像广告宣传的那样工作。如果我们不能 100% 信任部署,那么我们就会遇到更大的问题。也许使用流量拆分并将新部署设置为非常低并仔细监控?

标签: google-cloud-platform google-cloud-run


【解决方案1】:

这可以使用“修订标签”,这是一个目前处于 alpha 阶段的功能:

通过创建一个始终指向最新版本的标签 latest,您将能够在 URL https://latest---<SERVICE>-<HASH>.a.run.app 下访问它。

为此,请使用以下命令:

gcloud alpha run services update-traffic --update-tags latest=LATEST

部署时,请确保不要将流量迁移到新版本:

gcloud run deploy --image ... --no-traffic

测试新创建的修订版后,将 10% 的流量发送给它

gcloud alpha run services update-traffic --to-tags latest=10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-24
    • 2021-02-03
    • 2022-01-16
    • 2020-06-26
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    相关资源
    最近更新 更多