有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java kubernetes服务不与POD中的容器通信

我维护SpringBoot REST服务

已经为我设置了一个大型而复杂的Jenkinsfile构建脚本,它除了构建代码外,还将构建并冒烟测试Docker容器,然后运行k8s部署来创建POD和服务,然后冒烟测试服务

REST服务从启动到“就绪”需要三分钟以上。我实现了一个检查所需约束的HealthIndicator子类

当构建运行时,容器上的“/health”url会像我预期的那样工作,因为它需要多次尝试,直到“启动”。我还添加了一个临时Jenkinsfile脚本,用于调用特定的服务操作,该操作返回一个json响应,我可以用它来验证服务是否实际工作

在构建输出中,到目前为止一切正常

当它部署到k8s时,似乎一切都正常。但是,我注意到,当它在部署的k8s服务上执行相同的“/health”url时,它在启动pod后立即返回“UP”响应。光是这件事就告诉我这里有些不对劲

在这一点上,我去了一个贝壳,并尝试了几个实验。我验证了我可以在服务上访问相同的“/health”url,该url返回相同的“UP”响应。然后,我更改了url以进行我在Jenkins文件中进行的特定服务操作调用。这返回了一个500错误。然后我查看了与服务相关的三个吊舱。我检查了所有三个的日志,没有一个有任何迹象表明他们没有返回对某个内容的响应。似乎没有向这些容器发送请求

因此,我从服务的/health url看到的行为,以及特定的服务操作调用,似乎告诉我该服务没有与我的pod中的容器通信

我能用kubectl和任何其他能给我足够信息来诊断这里发生了什么的诊断方法做什么


共 (0) 个答案