【发布时间】:2016-08-19 09:04:23
【问题描述】:
我已经在 AWS 上设置了 HA openshift origin 3.1 env,其中一个主节点和两个节点。这只是一个测试环境,我没有注册 DNS,我正在使用 AWS 实例的公共 DNS 进行此用途。在这里,如果我公开 node1 中托管的任何服务(其中部署了路由器和 master),然后使用 master 实例的公共 IP 和公开的主机名将条目添加到系统的 hosts 文件中,我可以在浏览器中成功访问应用程序。但是,如果 pod 部署在第二个节点中,然后我将服务公开以供外部访问,则即使在主机文件中映射主 IP 和主机名后,它也不允许从浏览器和 curl 访问。可能是什么原因??我真的很想从浏览器访问第二个节点中的应用程序。
谁能帮忙?
【问题讨论】:
-
你能从你的环境中卷曲你的应用程序吗?你用了假通配符吗?例如:*.myapps.com? (所以每个应用程序都以 .myapps.com 结尾。您必须将每个应用程序映射到运行路由器的节点的 IP 上。所以在您 PC 的主机文件中:IP-OF-ROUTERNODE myapp1.myapps.com myapp2.myapps.com myapp3.myapps.com ...
-
@lorenzvth7 嘿,感谢您的回复,是的,只有将应用程序部署在运行路由器的节点中,我才能卷曲应用程序。如果应用程序在其他节点上运行,我无法卷曲。那么它是如何工作的,我们需要在每个节点中都有路由器吗?目前路由器在主控主机上运行,该主机也作为第一个节点。如果应用程序部署在节点 2 中,如何公开/访问应用程序。再次感谢!
-
不,您需要一台路由器用于一个环境。在 node2 上部署应用程序时。你也在node2上卷曲吗?只是到它的 service-ip:port?
-
@lorenzvth7 yes 在节点 2 上使用 service-ip:port 卷曲工作正常,但如果应用程序在节点 2 中运行,我无法在节点 1 上卷曲。如果我使用“oc expose svc
--hostname=myapp.test.com”公开在节点 2 上运行的应用程序,我无法在 myapp.test.com 上卷曲。知道为什么会这样吗? -
这种方式很难调试。我会检查 oc get 节点的输出并检查日志(tail -n 200 /var/log/messages)。当您尝试在 node1 上卷曲服务时出现什么错误? (+ 你能看到服务吗:oc your-project 和 oc get svc)
标签: openshift openshift-origin openshift-enterprise