kubernetes 健康检查作业进入 google 云平台

kubernetes health check job into google cloud platform

我在 google 云平台中使用 Kubernetes,并在那里定义了一些带有部署控制器的集群。

对于部署的每个 pod 都有一个健康检查,每 30 秒检查我的路由(www.example.com)并且响应必须是 200,否则它会导致健康检查失败。

所以我决定跟踪它并在我的 index.php 中写入 die() 然后健康检查显示绿色状态并且它正常工作。 我很困惑,我真的不知道这个 pod 发生了什么,为什么它不起作用。

任何人都可以帮助我在我的 pod 中找到这个问题并告诉我这个健康检查在 GCP 中到底做了什么?

健康检查用于验证 pod 中的容器是否健康并准备好为流量提供服务。

所以你应该首先检查你的http状态码:

curl -I www.example.com

响应中的 http 状态代码是什么?

当你在 index.php 中写入 die() 时,我确定 http 状态代码是 200

但是当您将它从 index.php 中删除时,http 代码就是另外一回事了!

您可以在访问后重定向用户 www.example.com 然后在这种情况下 http 状态代码不是 200。

确保并检查健康检查 url 的 http 状态代码是 200 ,如果它不是 200 那么你可以将 GKE 中的健康检查 url 更改为其他 http 状态代码可能是200.