Kubernetes Pod 镜像拉取策略 imagePullPolicy_存储位置

ImagePullPolicy 字段。它定义了镜像拉取的策略。而它之所以是一个 Container 级别的属性,是因为容器镜像本来就是 Container 定义中的一部分。

ImagePullPolicy 的值默认是 Always即每次创建 Pod 都重新拉取一次镜像。另外,当容器的镜像是类似于 nginx 或者 nginx:latest 这样的名字时,ImagePullPolicy 也会被认为 Always。

而如果它的值被定义为 Never 或者 IfNotPresent,则意味着 Pod 永远不会主动拉取这个镜像,或者只在宿主机上不存在这个镜像时才拉取。

容器在启动运行前,需要镜像。镜像的存储位置可能会在本地,也可能会在远程镜像仓库中。

  1. Always 总是拉取镜像
  2. ifNotPresent 本地有则使用本地镜像,不拉取
  3. Never 只使用本地镜像,从不拉取,即使本地没有

一、设置为 Always

如果设置为 Always ,则每次容器启动或者重启时,都会从远程仓库拉取镜像。

二、设置为 IfNotPresent

如果设置为 IfNotPreset,有下面两种情况。
1、当本地不存在所需的镜像时,会从远程仓库中拉取。
2、如果我们需要的镜像和本地镜像内容相同,只不过重新打了tag。此tag镜像本地不存在,而远程仓库存在此tag镜像。这种情况下,Kubernetes 并不会拉取新的镜像。