GCE:健康检查和活性探测

Mr.*_*oor 1 google-compute-engine kubernetes google-cloud-platform google-kubernetes-engine

在为网络负载平衡创建目标池时,有一个health check选项。

在此处输入图片说明

还有一个livenessProbe容器规范中命名的属性。

活性探针检查配置它的容器是否仍在运行。如果活性探测失败,kubelet 会杀死容器,容器将受到其重启策略的约束。通过配置 pod 配置的 template.spec.containers.livenessprobe 节来设置活性检查。

容器配置的时候健康检查就不需要了livenessProbe吗?

据我了解,如果容器关闭,POD 将自动重启。在这种情况下,不需要进行健康检查。

节点挂了怎么办?据我了解,kubernetes 会在另一个 NODE 中启动 POD,这意味着 POD 将再次重启。

在我看来,无论如何,配置 livenessProbe 时就不需要进行健康检查。

Ian*_*wis 7

负载均衡器和 Kubernetes 的运行状况检查是分开的,您可能应该同时进行。

负载平衡器运行状况检查是为了让负载平衡器知道特定的后端 VM 可以为流量提供服务。它适用于 Compute Engine 虚拟机级别,并将特定虚拟机标记为健康或不健康。因此,如果一个节点出现故障,它将知道不要在该特定节点上引导流量。它用于流量到达 Kubernetes 集群之前。如果节点出现故障,Kubernetes 运行状况探测将无济于事,因为这只适用于已进入集群的流量。Kubernetes 只能处理它可以看到的流量。

一旦流量进入集群,Kubernetes 会将流量定向到容器,一切都很好。如果没有健康检查,这将是处于运行状态的容器。即使您的容器可能正在运行,它也可能尚未准备好为流量提供服务。Liveliness/Readiness 探针为 Kubernetes 提供了一种了解容器已启动并准备好为流量提供服务的方法。

网络图