k8s路由不到自己服务的问题
在对自己的worker进行垂直扩容之后,原有的pod服务发现访问不通了kubectl get no看下机器是否正常kubectl get ep看所有的servicekubectl get ep -n ${namespace} 可以看到endpoint的值1.首先我们进入到自己的pod里面,kubectl exec -it ${pod名字} -n ${pod所在的namespace}...
在对自己的worker进行垂直扩容之后,原有的pod服务发现访问不通了
kubectl get no看下机器是否正常
kubectl get ep看所有的service
kubectl get ep -n ${namespace} 可以看到endpoint的值
1.首先我们进入到自己的pod里面,kubectl exec -it ${pod名字} -n ${pod所在的namespace} /bin/bash
执行访问的命令, eg: curl -i "http://......"
是否通,如果不通,则看服务的问题,如果通,则看下当前服务的nginx是否起来
ps -ef | grep nginx
如果nginx未起来,则启动nginx,如果没有则继续排查
2.查看自己的service,kubectl get ep -n ${namespace}
然后在service执行下请求看是否通过
3.然后在随便的一个pod里面执行命令是否通过
4. 我们通过kubectl get ns
在进入kubecrl get pods -n acs-system
在进入到nginx-ingress的容器里面
kubectl exec -it ${pod名字} -n acs-system /bin/bash
cat /etc/nginx/nginx.conf
会发现自己的访问的域名是否有,并且返回结果是否正确
此时如果没有,则有可能worker重启的过程,时钟没有同步正确,导致k8s ingress没有自动的reload所有的服务,解决办法是
将worker的时钟同步,ntpdate ${ntp服务的ip}
然后kubectl delete pod ${pod名字} -n ${namespace}
后面自动拉起就好了
更多推荐
所有评论(0)