调用ingress服务时,无法通过域名进行访问,且查看ingress时没有显示IP地址

kubectl get ingress -n nginx-demo

kubectl describe ingress -n nginx-demo

 查看service能否正常,能否访问到后端pod

kubectl get svc -n nginx-demo

 通过cul命令测试service服务是能正常访问,那么问题大概率出现在ingress上面

curl -l 10.96.160.182

 查看ingress是否正常

kubectl get pod -n ingress-nginx

 可以看到ingree的pod明显处于pending状态,查看pod报错信息,发现无法被调度

kubectl describe pod ingress-nginx-controller-cf4f5f5dc-zsnnh -n ingress-nginx

查看的ingress配置文件中是否通过nodeselector对node进行选择,查看ingress配置文件

kubectl get deploy -n ingress-nginx

kubectl edit deployment ingress-nginx-controller -n ingress-nginx

 查看nodes节点的标签是否存在app=ingress

kubectl get nodes --show-labels|grep app=ingress

 给节点打上标签,也可以去除配置文件中的nodeselector,下列只演示添加label

kubectl label node k8s-node1 app=ingress
kubectl get nodes --show-labels|grep app=ingress

 再次查看ingress服务已经处于running状态,也能获取到IP地址

kubectl get pod -n ingress-nginx
kubectl get ingress -n nginx-demo

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐