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的防火牆狀態
    在這裏插入圖片描述果真是防火牆的緣由
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    再試端口就通了
    在這裏插入圖片描述
    從新部署試試
    在這裏插入圖片描述成功
相關文章
相關標籤/搜索