【发布时间】:2019-12-19 10:14:12
【问题描述】:
在 CentOS VM 上安装最新的 OpenShift CodeReady Container,然后在 OpenShift 上运行由 Java 编写的 TCP 服务器应用程序。 TCP 服务器正在侦听端口 7777。
运行应用程序并使用 NodePort 将其作为服务公开,似乎一切运行良好。 pod端口为7777,服务端口为31777。
$ oc get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
tcpserver-57c9b44748-k9dxg 1/1 Running 0 113m 10.128.0.229 crc-2n9vw-master-0 <none> <none>
$ oc get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
tcpserver-ingres NodePort 172.30.149.98 <none> 7777:31777/TCP 18m
然后获取节点IP,命令显示为192.168.130.11,我可以在我的虚拟机上ping这个ip成功。
$ oc get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
crc-2n9vw-master-0 Ready master,worker 26d v1.14.6+6ac6aa4b0 192.168.130.11 <none> Red Hat Enterprise Linux CoreOS 42.81.20191119.1 (Ootpa) 4.18.0-147.0.3.el8_1.x86_64 cri-o://1.14.11-0.24.dev.rhaos4.2.gitc41de67.el8
现在,运行位于我的 VM 中的客户端应用程序,因为我可以 ping OpenShift 节点 IP,所以我认为我可以成功运行客户端应用程序。结果是连接超时,我的客户端无法连接在 OpenShift 上运行的服务器。
请提供您的建议如何解决问题,或对问题的任何想法。
【问题讨论】:
-
能否请您格式化您的问题并使其可读,很难从您复制粘贴的内容中获取您的 svc 的外部 ip 和内部 ip。
标签: kubernetes openshift