09.容器拉取镜像规则

imagePullPolicy和image tag可能的取值可能会影响到kubelet如何拉取镜像:

  • IfNotPresent:仅在节点上没有该镜像时,从镜像仓库抓取
  • Always:每次启动Pod时,从镜像仓库抓取
  • Never:假设本地存在该镜像,并且不会尝试从镜像仓库抓取镜像
  • 不填写:镜像tag为:latest或者未填写,则同Always每次启动Pod时,从镜像仓库抓取
  • 不填写:镜像tag已填写但不是:latest,则同IfNotPresent仅在节点上没有该镜像时,从镜像仓库抓取

生产实践中,我们应该在每次重新Build镜像并推送镜像时是以当前时间戳为Tag,所以以上的描述应该都是准确的。

那么从这个角度讲,我们的image字段到底该如何处理了?我认为应该模板化,由调用着每次调用时决定该字段的取值,而不是写死在配置文件中(生产上应该也是如此实践的)。