google 云 运行 的准备情况检查 - 如何?

readiness check for google cloud run - how?

我在 https://cloud.google.com/run/docs/how-to 的文档中进行了相当广泛的搜索。我还在 console.cloud.google.com 中找到了 YAML,但我无法编辑它。有没有办法使用我可能错过的命令进行设置?

编辑: 我在 https://cloud.google.com/sdk/gcloud/reference/beta/container/clusters/create 中也找不到任何关于它的信息。

编辑2:

我正在寻找一种方法来让 Google 云 运行 在容器中检查我的应用程序是否就绪。与 kubernetes 的方式相同 - 此处示例:https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/。问题是我不想让我的服务停止 30-60 秒,而容器中的应用程序仍在旋转。 Google 当我推送新版本时,立即重定向导致用户等待很长时间的流量。

编辑3: 这是我部署新版本后发出第一个初始请求所需的时间。

编辑4: 我尝试启动的应用程序位于 Python。这是一个服务于张量流模型的烧瓶应用程序。我需要将几个文件加载到内存中。这在我的电脑上只需要 5-10 秒,但你可以在云上花费更长的时间 运行.

Cloud 运行 除了确认您的服务正在侦听指定端口外,没有就绪检查。完成后,流量开始路由到新版本,之前的服务版本在完成 in-progress 请求时会缩减。

如果您的目标是确保服务在部署后尽快准备就绪,您可能会创建一个更重的入口点来处理更多设置任务。

像这样的 "heavier" 入口点将有助于 post-deploy 响应,但代价是 cold-starts.

您可以在入口点front-load(无论是在 BASH 脚本中还是在打开 HTTP 服务器之前在您的服务中)的示例:

  • 执行所有必要的设置任务,例如将文件加载到内存中。
  • 在全局状态下建立并保存任何客户端或与支持服务的连接。
  • 通过您的服务代码执行任何运行状况检查以确保支持服务和资源可用。
  • 预热 in-container 缓存以最小化第一个响应。

同样,这通过惩罚所有冷启动来优化 post-deploy 响应。

https://cloud.google.com/run/docs/tips#optimizing_performance