在kubernetes中,容器镜像的下载策略主要体现在Pod的imagePullPolicy
字段上。以下是三种不同镜像下载策略:
1. Always:
- 默认情况下,如果Pod模板中的镜像标签为
latest
或没有指定标签,kubernetes会默认使用此策略。 - 策略说明:每次创建Pod时都会从镜像仓库拉取最新的镜像版本,即使本地已经存在同名镜像。
2. IfNotPresent:
- 如果设置了该策略,kubernetes仅当本地节点不存在所请求的镜像时,才会从镜像仓库下载镜像。
- 策略说明:优先使用本地已有的相同镜像标签的镜像,不强制更新到远程仓库最新版。
3. Never:
- 当设置为
Never
时,kubernetes将不会尝试从镜像仓库获取镜像。 - 策略说明:只使用本地已经存在的镜像,如果本地没有对应的镜像,则Pod启动失败。
综上所述:
- 需注意的是,镜像下载策略仅影响Pod启动时镜像的拉取行为,不会影响已经运行的Pod中容器的镜像。
- 如果需要在运行中的Pod中更新镜像,通常需要删除并重新创建Pod,或者使用其他机制如滚动更新(Rolling Update)来实现。