Pod报错:Readiness probe failed: ERROR curl: (7) couldn't connect to host

报错见下图(此结果为启动新的Pod后describe的结果):

但是Pod的状态是Running的,这个问题属于就绪性探测失败,需要检查就绪性探测失败的原因。

1、查看Pod的就绪性探测写的是什么内容,根据探针内容进行排查。

 输出结果显示就绪性探针执行的是一个脚本。

2、登录Pod中查看此脚本内容。

输出查看到脚本里面是curl 一个url跟查看nginx进程是否存在。

3、执行脚本中命令是验证否能成功执行。

结果为curl可以成功,并且nginx进程也存在。

 

4、但是再次查看describe报的就绪探测的错误还存在,对比发现describe中的探测失败时间比nginx进程启动的时间早,所以探测时nginx进程没有启动所以失败,但是nginx启动后探测就绪没有从新执行,所以describe也没有刷新结果。

下图是nginx启动时间:

 下图是就绪探测执行时间:

8m19s是8分钟前执行的就绪性探针,这个8分钟前正好是17:22,这个时间nginx还没有启动所以有此报错,但是nginx启动后探测就绪没有从新执行,所以describe也没有刷新结果,总之Pod状态为Running,并且手动执行就绪探测的内容可以正常成功就是没有问题的。

原文地址:https://www.cnblogs.com/wannengachao/p/14228905.html