【问题标题】:routing in openshift v3openshift v3中的路由
【发布时间】: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


【解决方案1】:

拥有一个适当且功能齐全的 DNS 是 OpenShift 正常运行的必要条件,否则您将遇到此类问题,并且必须安装工具来覆盖路由并充当假 dns,但您不能这样做云。

向主机添加条目是不够的,因为主机不会传递给 pod 或容器,这些容器有时仍需要解析您的主节点和其他节点。

由于您已经在 AWS 上,因此很容易创建一个指向您的 master 的 route53 托管区域,并且您将继续前进,您可以以 0.99 美元的价格从 godaddy 购买一个 .online 域。如果您在此过程中需要任何帮助,请告诉我,我会为您录制一些分步视频。祝你好运

【讨论】:

    猜你喜欢
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 2021-05-28
    • 2018-08-07
    • 1970-01-01
    • 2022-11-04
    相关资源
    最近更新 更多