请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,您好,我这边使用复制仿写了您的api-gateway的yaml文件,现在程序可以kubectl 编排了,但没有报错的情况下无法访问api-gateway

老师,您好,我这边使用复制仿写了您的api-gateway的yaml文件写了一个ad-gateway.yaml,现在程序可以kubectl 编排了,没有报错,并且程序成功注册上了外界的eureka的情况下还是无法使用192.168.189.xxx访问api-gateway的页面,只能在三台机的其中一台机通过172.20.188.27的集群内部IP访问ad-gateway工程
,想知道这是什么原因呢?求指点一下

这是我的ad-gateway注册成功的eureka
图片描述
这是172网段下能访问网关的截图
图片描述
kubectl get svc -o wide使用该指令查看的时候发现,这个服务没有EXTERNAL_IP
图片描述

这是我的ad_gateway的yaml文件(端口都没有被占用,在使用kubectl descript指令查看这个镜像的时候显示运行成功)
图片描述

K8S单独编排Eureka的yaml
图片描述

正在回答 回答被采纳积分+3

1回答

刘果国 2019-07-08 08:52:19

这是gateway服务发现的问题啦,默认是只能在集群内使用名字或service ip访问的,服务发现的内容再回顾一下

0 回复 有任何疑惑可以回复我~
  • 提问者 BillyWebber #1
    您的注册中心是zookeeper是K8S外部的注册中心(不在K8S的编排范围内),我也把eureka部署到K8S外面(不在K8S的编排范围内),服务也在eureka上注册成功了,理论上可以通过192,.168.x.x的ip访问到这个ad-gateway工程才对啊?但现在我使用kubectl get pod -o wide没有看到external IP,求老师再指点一下
    回复 有任何疑惑可以回复我~ 2019-07-08 09:05:38
  • 提问者 BillyWebber #2
    除此之外,我使用直接把eureka作为编排对象,运行成功后,还是只能用172的访问eureka,192.168开头的IP也无法访问,这个应该和K8S配置有关,和服务发现无关把(老师方便远程指导一下吗?)
    回复 有任何疑惑可以回复我~ 2019-07-09 23:09:45
  • 刘果国 回复 提问者 BillyWebber #3
    eureka我不是很熟,我理解你的意思是eureka部署在集群外了,可以通过外部ip访问,但不代表注册到它的服务就可以通过外部ip访问吧?就像gateway是跑在集群内的,它向eureka注册的默认应该是集群虚拟ip。我理解host网络跑gateway应该可以解决
    回复 有任何疑惑可以回复我~ 2019-07-10 08:42:52
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信