简介
本文介绍解决K8S的dashboard的ImagePullBackOff和ErrImagePull的问题。
问题描述
dashboard没有启动成功:

原因分析
排查一下问题
命令格式
kubectl describe pod <pod-name> -n <namespace>
pod-name和namespace:都是kubectl get pods命令的执行结果对应的列:

K8S自带的namespace是:kube-system。
命令
kubectl describe pod dashboard-metrics-scraper-5657497c4c-mnl46 -n kubernetes-dashboard
结果

原因
默认使用的是官方源,很慢,需要换成国内源。
解决方案
修改containerd配置文件,使用国内的镜像源。修改的配置文件是:/etc/containerd/config.toml
在plugins.”io.containerd.grpc.v1.cri”.registry.mirrors下边添加如下内容:

内容为:
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://ustc-edu-cn.mirror.aliyuncs.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn/"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"] endpoint = ["registry.aliyuncs.com/google_containers"]
修改完毕后,重启containerd
sudo systemctl daemon-reload sudo systemctl restart containerd
查看结果
查看详情
kubectl describe pod kubernetes-dashboard-78f87ddfc-kg42r -n kubernetes-dashboard
结果(可以发现:后台尝试拉取镜像,并且成功了)

查看pod结果
命令
kubectl get pods -A
结果 (可以发现,成功了)

请先
!