k8s启用ingress错误案例
ingress-nginx访问流程:

问题:
部署2个nginx-deployment内容v1&&v2,结合ingress作为入口分别访问。访问ingress-入口失败

排错步骤:
1、首先确认2个nginx访问无问题
2、确认宿主机访问不问题
3、访问ingress一直无法连接服务器
到这一步 找不到服务器地址 cm到后端服务器之间有问题,开始排查
直接看nginx日志和cm日志

发现找不到svc(v1和v2),查看后端是否存在对于的svc,其实是我svc绑定的pod名称不对
[root@k8smaster01 ingress]# kubectl get svc -n default nginx-v1 nginx-v2
Error from server (NotFound): services "nginx-v1" not found
Error from server (NotFound): services "nginx-v2" not found
解决问题:
重新基于后端的pod创建svc
1 [root@k8smaster01 ingress]# kubectl expose deployment nginx-v1 --port=80 --target-port=80 --type=NodePort 2 service/nginx-v1 exposed 4 [root@k8smaster01 ingress]# kubectl expose deployment nginx-v2 --port=80 --target-port=80 --type=NodePort 5 service/nginx-v2 exposed 6 [root@k8smaster01 ingress]# kubectl get svc 7 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE 8 kubernetes ClusterIP 10.200.0.1 <none> 443/TCP 2d 9 nginx-v1 NodePort 10.200.175.219 <none> 80:32031/TCP 9s 10 nginx-v1-7d48f885fb-qbb2z NodePort 10.200.8.120 <none> 80:31916/TCP 38m 11 nginx-v2 NodePort 10.200.244.118 <none> 80:31901/TCP 5s 12 nginx-v2-5f45d8768c-8j88l NodePort 10.200.29.212 <none> 80:30911/TCP 38m
查看cm日志:
I0126 12:10:40.057208 7 controller.go:205] "Backend successfully reloaded"
I0126 12:10:40.057922 7 event.go:285] Event(v1.ObjectReference{Kind:"Pod", Namespace:"ingress-nginx", Name:"ingress-nginx-controller-647f6bdb4c-8jg4b", UID:"8edd09db-2a05-43f3-a678-60f7af8ffa47", APIVersion:"v1", ResourceVersion:"320981", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration

浙公网安备 33010602011771号