kubernetes服务不与pods中的容器通信

时间:2018-03-12 20:19:28

标签: java docker spring-boot kubernetes

我维护一个SpringBoot REST服务。

为我设置了一个庞大而复杂的Jenkinsfile构建脚本,除了构建代码之外,还将构建并对Docker容器进行冒充测试,然后运行k8s部署来创建pod和服务,然后对其进行冒烟测试服务。

REST服务从启动到准备好#34;需要三分钟以上。我实现了一个HealthIndicator子类来检查所需的约束。

当构建运行时," / health"容器上的url按照我的预期工作,因为需要多次尝试才能获得" UP"。我还添加了一些临时Jenkinsfile脚本,该脚本调用特定的服务操作,该操作返回一个json响应,我可以用它来验证服务是否正常工作。

在构建输出中,到目前为止一切都很好。

当它部署到k8s时,似乎一切正常。但是,我注意到它执行相同的" / health"在已部署的k8s服务上,它返回了一个" UP"启动pod后立即响应。只有这一点告诉我,有些事情不在这里。

那时,我去了一个外壳并尝试了几次实验。我确认我可以达到同样的健康状态#34;服务上的网址,返回相同的" UP"响应。然后我更改了url以进行我在Jenkinsfile中进行的特定服务操作调用。那返回了500错误。然后我查看了与服务相关的三个pod。我检查了所有这三个日志的日志,并且没有任何迹象表明他们未能回复某些内容。它似乎没有发送到任何这些容器的请求。

因此,我从服务的健康网址和特定的服务操作调用中看到的行为似乎告诉我这个服务没有与我的pod中的容器通信。

我可以用kubectl和任何其他诊断方法来提供足够的信息来诊断这里发生了什么?

0 个答案:

没有答案