Kubernetes活动探针日志记录恢复

时间:2020-01-21 15:52:09

标签: kubernetes

我正在尝试学习kubernetes时测试活动性探针。 我已经建立了一个迷你库并配置了带有活动探针的吊舱。

测试脚本(例如通过docker exec)似乎可以根据需要报告成功和失败。

该探测导致失败事件,我可以通过 kubectl describe podname 查看该事件 但它不会报告从故障中恢复。

This answer说,默认情况下不报告活动性探测成功。

我一直在尝试通过运行类似以下的变体来提高日志级别,但未成功:

minikube start --extra-config=apiserver.v=4
minikube start --extra-config=kubectl.v=4
minikube start --v=4

根据建议herehere

为kubelet配置日志记录级别的正确方法是什么?

是否可以在不重新启动Pod或minikube的情况下对其进行修改?

如果失败导致Pod重新启动,将报告一个事件。 对于kubernetes本身,我知道使用它来决定是否重新启动Pod就足够了。

为什么不记录事件以从不需要重启的故障中恢复? 我希望探针可以在健康监控系统中工作。

如果在普罗米修斯或类似方法中使用了相同的探针,恢复将如何可见? 对于昂贵的探针,我不希望它多次运行。 (授权的一个探针可以将输出缓存到文件中,从而使第二个探针更便宜)

1 个答案:

答案 0 :(得分:2)

我一直在尝试提高日志级别,但没有成功 运行类似的变体:

minikube start --extra-config=apiserver.v=4
minikube start --extra-config=kubectl.v=4
minikube start --v=4

@Bruce,您提到的所有选项都无法使用,因为它们已与Kubernetes集群的其他组件一起被删除,并且在您提到的答案中明确指出:

成功探测的输出不会记录在任何地方,除非您 Kubelet 的日志级别至少为--v = 4, 在这种情况下,它将位于 Kubelet的日志

因此,您需要专门为kubelet设置-v=4。在官方文档中,您可以看到它可以以特定的标志开始,包括一个标志,它更改了日志的默认详细级别:

-v, --v Level
number for the log level verbosity

Kubelet 作为每个节点上的系统服务运行,因此您可以通过简单地发出以下命令来检查其状态:

systemctl status kubelet.service

,如果要查看日志,请发出命令:

journalctl -xeu kubelet.service

尝试:

minikube start --extra-config=kubelet.v=4

但是,我不确定100% Minikube 是否能够传递此参数,因此您需要自己进行验证。如果它不起作用,您仍然应该能够将其添加到kubelet配置文件中,并指定启动它的参数(提交更改后不要忘记重新启动kubelet.service,您只需要运行{ {1}})

让我知道是否有帮助,如果有一些不完全清楚的地方,请随时询问其他问题。

相关问题