在 Google 容器引擎上,如何检测在 L7 负载均衡器后面运行的对我的 Web 服务的请求实际上是运行状况检查?
Google 容器引擎运行状况检查可通过值为 GoogleHC/1.0
的 HTTP 请求标头"user-agent"进行识别。
示例 happy.js 代码:
if ((request.headers['user-agent'] || '').toLowerCase().startsWith('googlehc')) {
return reply('Healthy')
}
我认为这样做
的标准不是依赖于用户指定的参数(如用户代理),而是创建一个/healthz
路由,如果健康,则返回200
。内部 Kubernetes 组件都这样做。