本文摘自于我的免費專欄《Kubernetes從0到1(持續更新)》請多關注
文章目錄
- 先看案發現場
- 解決過程如下
- 原因剖析
- 解決方法
先看案發現場
原因是在下載Pod網絡插件的時候pod始終為ImagePullBackOff
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl apply -f kube-flannel.yml
解決過程如下
上面顯示
ImagePullBackOff
,說明有問題,可以使用kubectl describe pod coredns-545d6fc579-rddhk -n kube-system命令進行查看(注意換成自己的pod名)
原因剖析
可以看到coredns的pod被調度到k8s-node01上了,而這個節點沒有對應的registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0鏡像,因為只記得配置了master,node上忘記配置了,導致被調度到node的pod無法正確下載鏡像。
解決方法
# 下載依賴(因為實測直接運行下面會提示缺少google_containers……這個鏡像,可能是沒有1.8.0版本,所以直接手動pull一個,改一下標簽名)
docker pull coredns/coredns:1.8.0# 將coredns/coredns:1.8.0 鏡像標記為google_containers……docker tag coredns/coredns:1.8.0 registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0# 這里網絡較慢,請耐心等待……
ok,做完這一切,完全恢復正確了。
這里可以看見master狀態也是
Ready
了