k8s(kubernetes)服务部署dashboard时出现ImagePullBackOff/CrashLoopBackOff解决办法

部署服务时镜像拉取过程当中出现:ImagePullBackOff
在这里插入图片描述kubectl describe pods kubernetes-dashboard-975499656-krwl7 -n kube-system
查看pod的详细状况

node

Events:
  Type     Reason     Age                    From                Message
  ----     ------     ----                   ----                -------
  Normal   Scheduled  4m38s                  default-scheduler   Successfully assigned kube-system/kubernetes-dashboard-975499656-krwl7 to k8s-node2
  Normal   Pulling    2m32s (x4 over 4m38s)  kubelet, k8s-node2  Pulling image "k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1"
  Warning  Failed     2m16s (x4 over 4m22s)  kubelet, k8s-node2  Failed to pull image "k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1": rpc error: code = Unknown desc = Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Failed     2m16s (x4 over 4m22s)  kubelet, k8s-node2  Error: ErrImagePull
  Normal   BackOff    112s (x6 over 4m22s)   kubelet, k8s-node2  Back-off pulling image "k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1"
  Warning  Failed     99s (x7 over 4m22s)    kubelet, k8s-node2  Error: ImagePullBackOff

分析:这个拉取的国外的镜像源,是有点慢,网络很差的时候常常会出现这种状况,能够提早把须要的镜像下载好
解决办法:
更换国内镜像源,搜索须要下载的镜像
①编辑文件 /etc/docker/daemon.json 加入"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
在这里插入图片描述
重载配置文件重启docker生效




linux

systemctl daemon-reload 
systemctl restart docker

②搜索须要的镜像,如:k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
## linux防火墙(iptables)拦截记录日志-浅析
③拉取指定镜像
在这里插入图片描述
④tag为配置文件中须要的镜像名k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1



docker

docker tag loveone/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

在这里插入图片描述在这里插入图片描述完成后再试一次(注意最好每一个节点都作这样的操做,由于调度器随机选择节点部署,简而言之是在被部署的节点上操做)
从新部署
kubectl delete -f kubernetes-dashboard.yaml,
kubectl apply -f kubernetes-dashboard.yaml 或者 kubectl create -f kubernetes-dashboard.yaml --save-config
出现以下报错
在这里插入图片描述




json

kubectl logs kubernetes-dashboard-975499656-xlx5b -n kube-system
  • 查看pod日志以下
    Error from server: Get https://192.168.40.131:10250/containerLogs/kube-system/kubernetes-dashboard-975499656-xlx5b/kubernetes-dashboard: dial tcp 192.168.40.131:10250: connect: no route to host
  • 分析:因而可知,部署服务时访问节点131的10250端口链接被拒绝,推测多是防火墙的缘由
  • 解决办法:
    ①查看服务端口是否被占用,!是否已经启起来了;
    在这里插入图片描述能够看到,端口启动正常;
    ②telnet测试一下端口(我这里是master机器上测试的)
    在这里插入图片描述
    果真不通
    ③查看节点1的防火墙状态
    在这里插入图片描述果真是防火墙的缘由
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    再试端口就通了
    在这里插入图片描述
    从新部署试试
    在这里插入图片描述成功
相关文章
相关标签/搜索