当前位置: 首页 > 知识库问答 >
问题:

Kubernetes活性探测测井恢复

姚星腾
2023-03-14

我在学习Kubernetes时试图测试一个活性探针。我已经设置了一个迷你库贝,并配置了一个带有活性探针的吊舱。

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

该探测会导致失败事件,我可以通过kubectl Description podname查看这些事件,但它不会报告从失败中恢复的情况。

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

是否可以在不重新启动吊舱或迷你库贝的情况下进行修改?

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

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

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

共有1个答案

昝存
2023-03-14

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

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, --v Level
number for the log level verbosity
systemctl status kubelet.service
journalctl -xeu kubelet.service
minikube start --extra-config=kubelet.v=4

然而,我不能百分之百确定Minikube是否能够传递这个参数,所以您需要自己验证它。如果它不起作用,您仍然可以将它添加到kubelet配置文件中,指定启动它的参数(不要忘记在提交更改后重新启动kubelet.service,只需运行SystemCTL restart kubelet.service)

让我知道如果它有帮助,不要犹豫问额外的问题,如果有些事情不完全清楚。

 类似资料:
  • 有没有一种方法可以让fluentd船LivenessProbes输出像它对普通容器在吊舱中的输出一样?

  • 我使用的是标准的skydns RC/SVC YAMLS。 吊舱描述: (etcd) 我还将放入kube2sky容器中,ca.crt与服务器上的ca.crt匹配。

  • 为了简单起见,我认为在kubernetes中最好只检查TCP端口的活跃度和就绪度,因为它不需要了解健康检查endpoint(HTTP路径),而只需要端口号。任何关于仅仅依赖TCP端口进行服务健康检查的缺点的指南都非常赞赏,请假设POD不是其他服务的代理,并且所有业务逻辑都在POD本身中。 https://kubernetes.io/docs/tasks/configure-pod-containe

  • 如何为我的spring boot应用程序编写kubernetes Readision probe(启动大约需要20秒)?我试着从配置活跃度、就绪和启动探测中学习,但我不知道Kubernetes是如何将状态代码200计算为成功的

  • 我正在使用Spring开发一个服务,并将其部署在OpenShift上。目前,我正在使用Spring Actuctor health endpoint作为Kubernetes的活跃度和就绪度探测器。 但是,我将在执行器健康endpoint中添加一个对另一个服务的调用,在这种情况下,我认为我需要为我的服务实现新的活跃度探测。如果我不这样做,那么第二个服务的失败将导致活跃度探测失败,Kubernetes

  • 我正试图在Kubernetes上设置EFK堆栈。正在使用的Elasticsearch版本是6.3.2。在我将探针配置放入部署YAML文件之前,一切都很好。我得到以下错误。这将导致pod被声明为不健康,并最终重新启动,这似乎是一个错误的重新启动。 警告不健康15s kubelet,aks-agentpool-23337112-0活性探测失败:获取http://10.xxx.y.zzz:9200/_c