kubernetes集群中,部署nginx来确定集群是否在正常工作。
首先,部署nginx:kubectl create deployment nginx --image=nginx:1.14-alpine (部署成功)
其次,暴露端口: kubectl expose deployment nginx --port=80 --type=NodePort (成功)
最后,查看服务状态:kubectl get pod/service (成功)
结果,在浏览器访问nginx,无法访问;这是怎么回事,是K8S部署错误吗(虚拟机的防火墙都关闭了),怎么解决?
看下你的地址还有端口是不是正常的。
很可能是K8s部署出现问题。排查问题的第一步是查看pod状态,执行以下命令:
kubectl get pods
查看状态是否是Running,如果不是,请查看pod的日志,排查原因。
另外,可以查看kube-proxy的状态,查看NodePort是否被正确分配:
kubectl get services
如果NodePort没有被分配,可以尝试重新部署nginx,或者在暴露端口的时候指定nodePort参数:
kubectl expose deployment nginx --port=80 --type=NodePort --nodePort=<nodePort>
最后,可以检查虚拟机的防火墙设置,确认NodePort是否被正确配置,确认端口是否可以被访问。