谷歌云运行准备情况检查 - 如何?

The*_*den 7 google-cloud-run

我在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:

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

EDIT3:这是我部署新版本后发出第一个初始请求所需的时间。 邮递员请求

EDIT4:我试图启动的应用程序是在 Python 中。这是一个提供张量流模型的烧瓶应用程序。我需要将几个文件加载到内存中。这在我的电脑上只需要 5-10 秒,但在云运行上需要更长的时间。

Gra*_*ide 8

除了确认您的服务正在侦听指定端口之外,Cloud Run 不进行任何准备情况检查。完成此操作后,流量开始路由到新修订版,并且之前的服务修订版在处理正在进行的请求时会按比例缩小。

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

像这样的“较重”入口点将有助于部署后的响应能力,但代价是冷启动速度较慢。

您可以在入口点中预先加载的内容示例(无论是在 BASH 脚本中还是在打开 HTTP 服务器之前在您的服务中):

  • 执行所有必要的设置任务,例如将文件加载到内存中。
  • 在全局状态中建立并保存任何客户端或与支持服务的连接。
  • 通过您的服务代码执行支持服务和资源可用的任何运行状况检查。
  • 预热容器内缓存以最大程度地减少首次响应。

同样,这通过惩罚所有冷启动来优化部署后响应。

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