• Kubernetes
  • ingress路由配置,是否支持跨命名空间的服务

ingress路由配置,是否支持跨命名空间的服务,把不同命名空间的服务挂到一个路由下面,如何设置比较优雅。

  • Jeff 回复了此帖

    GhostRay 可以,比如ns ns-a下想使用ns ns-b下的 hello 服务,那么可以在 ns ns-a 下创建一个 externalName 类型的服务

    apiVersion: v1
    kind: Service
    metadata:
      name: hello-ns-b
      namespace:  ns-a
    spec:
      type: ExternalName
      externalName: hello.ns-b.svc.cluster.local

    创建ingress时就可以在ns-a里选择这个hello-ns-b服务了

      Jeff 您好,我按照您说的方式,新建了一个grp-ingressde的namespace,并在里面新建了一个ExternalName的service,该service调用了另一个命名空间的service。但创建成功后,该服务下并没有读出相应的工作负载,以下是对应的截图,麻烦您解答下,谢谢。

      Jeff 以下是截图
      grp-base为调用的namespace,grp-base-portal为调用namespace的服务名

      这是该服务的资源状态页面

      • Jeff 回复了此帖

        zx15593557 这个是这样的,页面不显示没关系,不影响使用。ExternalName就相当于一条DNS的CNAME,只是添加了一条记录而已

          Jeff
          谢谢!我还有个问题,这个服务是不是无法加入到routes中,我这边尝试添加routes,发现端口号是无法读取到的,这是不是会对外部服务有影响?因为我的思路是单独建功能为分发的项目,这个项目没有deployment,只有ExternalName。通过连接它,将不同的namespace的service进行分发。

          9 个月 后