概述
刚学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外网访问不通所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复