k8s 镜像拉取策略

Always: 每次创建 Pod 时都会从仓库下载镜像

bash 复制代码
imagePullPolicy: Always

**IfNotPresent:**如果本地已经存在该镜像,则使用本地;如果不存在则会去远程仓库拉取

bash 复制代码
imagePullPolicy: IfNotPresent

Never: 始终只依赖本地存在的镜像,绝不会尝试连接到任何外部仓库进行拉取操作

bash 复制代码
imagePullPolicy: Never
bash 复制代码
实际案例展示
下面是一个简单的例子展示了怎样设置不同的镜像拉取策略:

Yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
    - name: nginx-container
      image: nginx:latest
      imagePullPolicy: Always # 这里可以替换为 IfNotPresent 或 Never
当设置了 imagePullPolicy: Always 的时候,即使节点上有相同标签 (tag) 的旧版镜像也会被覆盖掉以获得最新的可用版本。这对于开发环境特别有用,在那里频繁迭代应用程序是很常见的事情。

而生产环境中通常建议采用更为保守的方式比如 IfNotPresent, 因为这样可以在一定程度上减少不必要的网络流量消耗以及加速Pod初始化速度。

需要注意的是,当指定了 Never 方式时一定要确认目标机器确实拥有对应的 Docker 镜像文件,否则 Pod 将无法成功调度执行。
相关推荐
分布式存储与RustFS20 小时前
镜像仓库的层别堆本地盘:用 RustFS 给 Docker Registry 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
闲云自留地1 天前
K8s 的记忆大脑!ETCD 集群部署、etcdctl 命令与备份恢复全通关
容器·kubernetes·etcd
weirong1 天前
Operator 上生产前补的 6 件事,和 5 件我明确不做的
kubernetes
孙克旭_1 天前
k8s基础组件与创建资源
运维·docker·容器·kubernetes
孙克旭_1 天前
云原生基础之Containerd容器运行时
运维·云原生
分布式存储与RustFS1 天前
RustFS 自建对象存储实战目录:110 篇按场景分类(持续更新)
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
java_logo2 天前
Docker 部署 EmulatorJS:轻松搭建浏览器复古游戏平台
游戏·docker·容器·复古游戏·轩辕镜像·emulatorjs·红白机
吴声子夜歌2 天前
Kubernetes权威指南——网络原理(一)
网络·容器·kubernetes
方便面不加香菜2 天前
Docker Container --容器及容器的操作案例详解
运维·docker·容器
无言听风雨丶2 天前
Kubernetes Service Mesh 与 mTLS 实战:从网络可达走向零信任服务通信
网络·kubernetes·service_mesh