解决 kubernetes(k8s)创建Dashboard失败,Dashboard的pod状态为CrashLoopBackOff

解决 kubernetes(k8s)创建Dashboard失败,Dashboard的pod状态为CrashLoopBackOff_第1张图片

一、背景。

 今天在做云原生开发,发现Dashboard的pod状态为CrashLoopBackOff ,记录一下问题。

解决 kubernetes(k8s)创建Dashboard失败,Dashboard的pod状态为CrashLoopBackOff 

二、解决方法。

1.首先执行: kubectl get pod -A

 kubectl get pod -A

解决 kubernetes(k8s)创建Dashboard失败,Dashboard的pod状态为CrashLoopBackOff_第2张图片2. 查询错误日志: kubectl logs -f -n kubernetes-dashboard kubernetes-dashboard-658485d5c7-t7fw7

 kubectl logs -f -n kubernetes-dashboard kubernetes-dashboard-658485d5c7-t7fw7

解决 kubernetes(k8s)创建Dashboard失败,Dashboard的pod状态为CrashLoopBackOff_第3张图片

 3.发现上图报错问题:dial tcp ip: i/o timeout

4.执行:iptables -L -n --line-numbers | grep dashboard,发现是ipatables规则问题.

iptables -L -n --line-numbers | grep dashboard

5.根据上图可以很明显看到,dashboard的数据包直接被REJECT(拒绝)了,找到原因就好办了,设置成允许(ACCEPT)就行。

6.把现有的防火墙规则保存下:iptables-save > iptables.rules

iptables-save > iptables.rules

 7.执行以下命令以确保默认策略为ACCEPT。

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

8:执行命令: iptables -F

iptables -F

9.把创建的dashboard pod删掉并重启下docker,再次创建dashboard,创建成功。

 kubectl delete deployment kubernetes-dashboard --namespace=kubernetes-dashboard

 kubectl delete deployment dashboard-metrics-scraper --namespace=kubernetes-dashboard

10.问题解决。

解决 kubernetes(k8s)创建Dashboard失败,Dashboard的pod状态为CrashLoopBackOff_第4张图片

三、总结。

极客精神 业务强才是真的强 

 

你可能感兴趣的:(云原生开发,kubernetes,工作中遇到的问题,kubernetes,java,容器)