问题描述
我正在使用 Spring Boot 应用程序。 我已经使用 REST API 端点包含了 http liveness 探针配置。 因此,只要 REST API 不可访问,Kubernetes 就会重启 pod。
问题是,我需要确定是否有任何方式可以区分 Liveness Probe 触发的 pod 重启活动与部署团队完成的手动重启。
Kubernetes 每次重启 Pod 时,Spring Boot 日志中是否包含任何类型的日志消息?
解决方法
如果您描述了 Pod,您应该会看到一条消息 Liveness probe failed
如果活性探测失败。
kubectl describe pod liveness-exec
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
37s 37s 1 {default-scheduler } Normal Scheduled Successfully assigned liveness-exec to worker0
36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Pulling pulling image "k8s.gcr.io/busybox"
36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Pulled Successfully pulled image "k8s.gcr.io/busybox"
36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Created Created container with docker id 86849c15382e; Security:[seccomp=unconfined]
36s 36s 1 {kubelet worker0} spec.containers{liveness} Normal Started Started container with docker id 86849c15382e
2s 2s 1 {kubelet worker0} spec.containers{liveness} Warning Unhealthy Liveness probe failed: cat: can't open '/tmp/healthy': No such file or directory