13.4. 镜像拉取(pull)策略
Pod 中的每个容器均有容器镜像。您创建了镜像并将其推送(push)到 registry 后,即可在 Pod 中引用它。
当 OpenShift Container Platform 创建容器时,会使用容器的 imagePullPolicy
来决定是否应在启动容器前拉取(pull)镜像。imagePullPolicy
有三个可能的值:
-
Always
- 始终拉取(pull)镜像。 -
IfNotPresent
- 只有节点上不存在的镜像时才拉取镜像。 -
Never
- 永不拉取(pull)镜像。
小心
您可以在全局构建配置中启用 forcePull
标志,以便在每次构建启动时强制从 registry 刷新镜像。这会强制镜像访问每个构建进行检查,从而可以避免用户访问他们没有访问权限的镜像的构建节点本地缓存。
如果没有指定容器的 imagePullPolicy
参数,OpenShift Container Platform 会根据镜像标签来设置它:
-
如果标签是 latest,OpenShift Container Platform 会将
imagePullPolicy
默认设置为Always
。 -
否则,OpenShift Container Platform 会将
imagePullPolicy
默认设置为IfNotPresent
。
注意
使用 Never
Image Pull 策略时,您可以确保私有镜像只能供带有凭证的 pod 使用,以使用 AlwaysPullImages 准入控制器 拉取这些镜像。如果没有启用此准入控制器,节点上的任何用户的所有 pod 都可使用该镜像,而无需对镜像进行任何授权检查。