代码之家  ›  专栏  ›  技术社区  ›  scoulomb

OpenShift路由可从PAAS外部访问,但不能从PAAS内部的客户端访问

  •  1
  • scoulomb  · 技术社区  · 7 年前

    在同一个openshift项目中,我在POD1中有一个应用程序1(APP1),在POD2中有另一个应用程序(APP2)。
    这两个应用程序都提供REST API服务。使用2种不同的openshift路线可以访问这2个应用程序。

    从PAAS外部访问这两个应用程序(openshift)运行良好:这意味着从PAAS外部的客户端使用openhsift路由对APP1/APP2进行卷曲是可行的。

    但当POD1中的APP1使用APP2的openshift路由针对POD2中的APP2提供的REST服务时。它正在失败。
    类似地,使用openshift路由从APP1的容器(使用oc rsh)到APP2进行卷曲也是失败的。

    但是,如果APP1部署在此PAAS之外,则使用open shift route对APP2的客户端调用可以正常工作。
    同样,在PAAS之外,使用openshift路线对APP2进行卷曲也可以很好地工作。

    另外,如果我使用ServicePaaS内部IP/端口(10.224.x.y),这将解决这个问题。但这意味着使用两种不同的地址,这取决于我们是从PAAS内部还是外部瞄准APP2。

    因此,问题是如何使openshift路由在PAAS内外可见?

    或者,是否有其他方法可以共享相同的主机名/端口,以便从PAAS内部和外部访问APP2?

    1 回复  |  直到 7 年前
        1
  •  1
  •   M0nt3c1t0    7 年前

    您可能想看看:

    https://docs.openshift.com/container-platform/3.7/architecture/networking/networking.html

    对于内部通信,使用服务的名称就足够了(在您的情况下,使用app2中的app1 svc与app1通信)。 您可以在访问routes视图时找到服务的名称——“routes To”列显示服务名称。

    此处详细说明了服务的工作方式和配置方式:

    https://docs.openshift.com/container-platform/3.7/architecture/core_concepts/pods_and_services.html#services