今天在机器上部署个Nginx 发现pod一直ImagePullBackOff

 deployment很简单:

docker images 查看本地镜像,发现镜像是存在的

 

问题原因:

这里需要学习下k8s的Image Pull Policy

分为以下三种:

Awalys:总是从镜像仓库拉镜像,意思也就是每次pod启动的时候,都要去镜像仓库拉镜像

IfNotPresent:如果本地仓库没有镜像,就去镜像仓库拉,否则不拉

Never:从不去镜像仓库拉,即使本地没有镜像

推荐是使用IfNotPresent。

我这个,用的是Always,但是deployment中想使用的是本地打上used标签的image,而在docker hub上是没有这个镜像的,所以pod在启动时会表现为Image Pull Back Off

所以:

解决办法:

将deplyment中Image Pull Policy改为IfNotPresent或者Never即可。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐