Kubernetes活度探测测井恢复
在学习kubernetes的同时,我正在尝试测试一个活度探测器。 我已经设置了一个迷你工棚,并配置了一个带有活力探测器的吊舱 测试脚本(例如通过docker exec),它似乎会根据需要报告成功和失败 探测导致故障事件,我可以通过kubectl描述podname查看这些事件 但它不报告从故障中恢复 表示默认情况下不会报告活动性探测成功 我一直试图通过运行以下变体来提高日志级别,但没有成功:Kubernetes活度探测测井恢复,kubernetes,Kubernetes,在学习kubernetes的同时,我正在尝试测试一个活度探测器。 我已经设置了一个迷你工棚,并配置了一个带有活力探测器的吊舱 测试脚本(例如通过docker exec),它似乎会根据需要报告成功和失败 探测导致故障事件,我可以通过kubectl描述podname查看这些事件 但它不报告从故障中恢复 表示默认情况下不会报告活动性探测成功 我一直试图通过运行以下变体来提高日志级别,但没有成功: minikube start --extra-config=apiserver.v=4 minikube
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上提交功能请求。哦等等,已经创建了类似的请求,但从可用信息来看,拉请求似乎没有最终被接受,因为它没有通过所有测试,问题已经解决。