部署springcloud服务,注册的是容器IP,导致外部应用无法访问,这种问题怎么处理?

你的需求是不是外部服务直接访问容器的虚拟ip?这样是不行的,你需要先将容器ip绑定到node上,然后通过node ip访问

    wanjunlei 不是,在部署springcloud服务,默认是将容器IP注册到了注册中心,外部应用通过注册中心访问的时候,拿到容器IP,所以访问不了。我的需求是自动注册时,将NODEIP注册到注册中心,而不是容器IP

    你的意思是自动注册的时候使用的是localhost,将容器IP注册到了注册中心?那这种情况可能需要从业务层解决了,看看能不能控制注册的过程,用node ip注册

    可以将微服务部署在k8s中的 Service名字及端口号 注册到Eureka中。
    eureka.instance.hostname

    已解决,目前是在dockerfile中添加配置,当应用启动时,加上client.ip

      通过环境变量的方式?让容器内部拿到Node IP?

        1 个月 后

        tzghost K8S有集群的,按理来说,集群下的内网IP都是互通的。

        1 年 后

        虽然问题解决了,但是这样的做的架构是否真的好吗?SpringCloud设计的时候就没有考虑k8s这样的架构。

          4 天 后
          3 个月 后