我已经在 Google 引擎中创建了 kubernetes 集群。 我在 kubernetes 中运行两个 pod,每个 pod 都有运行的 tomcat 容器。 我想通过我的浏览器或 curl 命令访问集群外部的这个 tomcat 应用程序。 我创建了一个服务作为负载均衡器,它给了我一个外部 IP 地址和端口。当我尝试浏览 http://:port 时,它没有响应,它说连接超时。 这个ip地址和具体端口我也开了防火墙。
有人可以帮我看看我是否遗漏了什么。 我已经关注了所有文档,甚至尝试将其作为 node_port 服务运行,但这也没有用。
谢谢 阿布舍克·索马尼
最佳答案
- 您是否正确地将 Tomcat 的容器端口 8080 暴露给主机端口?
- Service 和 Pod 标签是否内联?
- 忘记节点端口和入口流量,尝试从集群或 Pod 中的另一个容器中 curl sample.war url。
- 正确暴露 Pod。
- 即使您使用的是 nodeport,也请尝试在 http://<>:<>/sample 上进行 curl。这将确保该服务暴露在 Pod 之外。 NodeIP应该是运行pod的节点的IP,以减少调试的复杂性。
关于tomcat - 将其公开为服务后无法在 kubernetes 中运行 tomcat 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44202639/