我是靠谱客的博主 秀丽火龙果,最近开发中收集的这篇文章主要介绍k8s nodePort外网访问不通,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

刚学k8s,这可能在老手眼里是个弱智问题,不过事情总是要一步步做的嘛。
先描述一下我的环境以及碰到的问题:

一个mater节点,两个node节点。我部署了一个应用,副本数是3个,所以有3个pod。问题就是我用postman去访问的时候(master节点ip:映射出来的port/xxxxxxxxxxxxx),访问不通,本地telnet的时候无响应。
在这里插入图片描述
但是我进到各个节点执行以下命令查看日志后,确定服务是起来了没问题的

$ kubectl logs pod名称

在这里插入图片描述

然后查看服务的service,发现了问题所在

$ kubectl get svc
$ kubectl describe svc svc名称 

在这里插入图片描述
这里的EndPoints是none,说明service并没有绑定到任何一个pod,所以没法转发,那服务访问不通也是理所当然的事情了。
回过头去看了一下yaml文件果然发现了问题,在service中,缺少selector,所以没能绑定到pod,添加selector及对应标签之后,删除之前部署的应用

$ kubectl delete -f xxxxxx.yaml

然后重新部署

$ kubectl apply -f xxxxxx.yaml

再执行后发现问题已解决,endpoint已经有了,对应的就是我那三个pod的ip地址

$ kubectl describe svc svc名称

在这里插入图片描述
重新去访问的时候可以访问了
在这里插入图片描述

最后

以上就是秀丽火龙果为你收集整理的k8s nodePort外网访问不通的全部内容,希望文章能够帮你解决k8s nodePort外网访问不通所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部