ImagePullPolicy 字段。它定义了镜像拉取的策略。而它之所以是一个 Container 级别的属性,是因为容器镜像本来就是 Container 定义中的一部分。
ImagePullPolicy 的值默认是 Always,即每次创建 Pod 都重新拉取一次镜像。另外,当容器的镜像是类似于 nginx 或者 nginx:latest 这样的名字时,ImagePullPolicy 也会被认为 Always。
而如果它的值被定义为 Never 或者 IfNotPresent,则意味着 Pod 永远不会主动拉取这个镜像,或者只在宿主机上不存在这个镜像时才拉取。
容器在启动运行前,需要镜像。镜像的存储位置可能会在本地,也可能会在远程镜像仓库中。
- Always 总是拉取镜像
- ifNotPresent 本地有则使用本地镜像,不拉取
- Never 只使用本地镜像,从不拉取,即使本地没有
一、设置为 Always
如果设置为 Always ,则每次容器启动或者重启时,都会从远程仓库拉取镜像。
二、设置为 IfNotPresent
如果设置为 IfNotPreset,有下面两种情况。
1、当本地不存在所需的镜像时,会从远程仓库中拉取。
2、如果我们需要的镜像和本地镜像内容相同,只不过重新打了tag。此tag镜像本地不存在,而远程仓库存在此tag镜像。这种情况下,Kubernetes 并不会拉取新的镜像。