Kubernetes活度探测测井恢复

Kubernetes活度探测测井恢复,kubernetes,Kubernetes,在学习kubernetes的同时,我正在尝试测试一个活度探测器。 我已经设置了一个迷你工棚,并配置了一个带有活力探测器的吊舱 测试脚本(例如通过docker exec),它似乎会根据需要报告成功和失败 探测导致故障事件,我可以通过kubectl描述podname查看这些事件 但它不报告从故障中恢复 表示默认情况下不会报告活动性探测成功 我一直试图通过运行以下变体来提高日志级别,但没有成功: minikube start --extra-config=apiserver.v=4 minikube

在学习kubernetes的同时,我正在尝试测试一个活度探测器。 我已经设置了一个迷你工棚,并配置了一个带有活力探测器的吊舱

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

探测导致故障事件,我可以通过kubectl描述podname查看这些事件 但它不报告从故障中恢复

表示默认情况下不会报告活动性探测成功

我一直试图通过运行以下变体来提高日志级别,但没有成功:

minikube start --extra-config=apiserver.v=4
minikube start --extra-config=kubectl.v=4
minikube start --v=4
minikube start --extra-config=apiserver.v=4
minikube start --extra-config=kubectl.v=4
minikube start --v=4
正如建议的那样&

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

可以在不重新启动pod或minikube的情况下对其进行修改吗

如果故障导致pod重新启动,将报告一个事件。 对于kubernetes本身,我理解使用它来决定是否重新启动pod就足够了

为什么不记录事件以从不需要重新启动的故障中恢复? 这就是我期望探测器在健康监测系统中工作的方式

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

我一直试图通过以下方式提高日志级别,但没有成功 运行变化,如:

minikube start --extra-config=apiserver.v=4
minikube start --extra-config=kubectl.v=4
minikube start --v=4
minikube start --extra-config=apiserver.v=4
minikube start --extra-config=kubectl.v=4
minikube start --v=4
@Bruce,您提到的选项都不起作用,因为它们与Kubernetes群集的其他组件相关,在您提到的答案中明确指出:

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

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

-v, --v Level
number for the log level verbosity
Kubelet作为系统服务在每个节点上运行,因此您只需发出以下命令即可检查其状态:

systemctl status kubelet.service
如果要查看其日志,请发出以下命令:

journalctl -xeu kubelet.service
尝试:

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

让我知道这是否有帮助,如果有什么不完全清楚,请毫不犹豫地问其他问题

我一直试图通过以下方式提高日志级别,但没有成功 运行变化,如:

minikube start --extra-config=apiserver.v=4
minikube start --extra-config=kubectl.v=4
minikube start --v=4
minikube start --extra-config=apiserver.v=4
minikube start --extra-config=kubectl.v=4
minikube start --v=4
@Bruce,您提到的选项都不起作用,因为它们与Kubernetes群集的其他组件相关,在您提到的答案中明确指出:

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

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

-v, --v Level
number for the log level verbosity
Kubelet作为系统服务在每个节点上运行,因此您只需发出以下命令即可检查其状态:

systemctl status kubelet.service
如果要查看其日志,请发出以下命令:

journalctl -xeu kubelet.service
尝试:

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


让我知道这是否有帮助,如果有不完全清楚的地方,请毫不犹豫地询问其他问题。

journalctl-xeu kubelet.service显示了有帮助的liveness probe。systemctl status kublet.services显示-v=4,但我仍然无法通过kubectl descripe获得成功的探测消息。根据目前的情况,无法将其显示在事件中。正如@Alex Robinson所建议的,如果您认为添加此类功能(在事件中显示成功的探测)可能有用,您可以在Github上提交功能请求。哦等等,已经创建了类似的请求,但从可用信息来看,拉请求似乎没有最终被接受,因为它没有通过所有测试,问题已经解决。journalctl-xeu kubelet.service显示liveness探测成功,这很有帮助。systemctl status kublet.services显示-v=4,但我仍然无法通过kubectl descripe获得成功的探测消息。根据目前的情况,无法将其显示在事件中。正如@Alex Robinson所建议的,如果您认为添加此类功能(在事件中显示成功的探测)可能有用,您可以在Github上提交功能请求。哦等等,已经创建了类似的请求,但从可用信息来看,拉请求似乎没有最终被接受,因为它没有通过所有测试,问题已经解决。