在对自己的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}

后面自动拉起就好了

Logo

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

更多推荐