[英]Docker in Google App Engine Flexible health check has wrong URL
我的服务使用如下网址:
<google_url>/v1/lookup_stuff
<google_url>/v1/
是服务中所有内容的基本URL,因此,当运行状况检查ping <google_url>
它将获得404。我需要更新为ping <google_url>/v1/
(可能有用的信息,该服务在Docker中,当我手动转到正确的URL时可以访问该服务)
如何将gcloud的健康服务指向正确的服务网址?
明确起见,可以:
service-something.appspot.com
service-something.appspot.com/v1
我需要将健康检查器指向:
service-something.appspot.com/v1/_ah/health
代替
service-something.appspot.com/_ah/health
无论如何,这确实是个隐秘的暴露问题:
如果
<google_url>
是您设计的标记,则将其分成两个部分:
<google_base_url>/v1/
和
<google_path_url>lookup_stuff
则可以ping
<google_base_url>/v1/
并且在需要原始
<google_url> = <google_base_url> + <google_path_url>
如果<google_url>
是由某个框架等提供给您的,则您需要对其进行解释,以获取所需的初始部分。 也许您可以使用正则表达式模式,请检查此内容以便搜索
最后,在kubernetes-health-check上查看这个不错的示例, 检查如何配置活动探针,其中有一个path参数应该有用
更新:
灵活的环境现在支持更新的运行状况检查 ,该更新的运行状况检查由可配置的活动性检查和/或准备情况检查组成 ,二者均具有可配置的path
功能。
请注意,这些更新的运行状况检查不兼容,并且不能与旧式运行状况检查并存:
您必须分别为每个项目启用更新的运行状况检查。 默认情况下,启用旧式运行状况检查。 您不能在同一项目中同时使用两种类型的运行状况检查。
原始答案,仅适用于旧式健康检查:
该路径当前不可配置。 从健康检查 :
您无需执行任何特殊操作即可实施运行状况检查。 如果您的应用程序不处理运行状况检查,则HTTP
404
响应将被解释为成功答复。您可以编写自己的自定义运行状况检查代码。 它应该使用HTTP状态代码
200
回复/_ah/health
请求。 响应必须包含消息正文,但是,该正文的值将被忽略(可以为空)。
因此,您可以这样保留它-您的应用始终被认为是健康的。 或者,您可以通过/_ah/health
告诉您的应用正确回答健康检查请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.