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 将无法成功调度执行。
相关推荐
tritone10 分钟前
初探云原生:在阿贝云免费服务器上学习负载均衡的实践心得
服务器·学习·云原生
nix.gnehc14 分钟前
零基础部署K8s单节点集群:一键脚本实现快速落地
云原生·容器·kubernetes
hrhcode15 分钟前
【云原生】四.Kubernetes核心对象(下):Deployment、Service与Namespace
云原生·k8s
zhu620197622 分钟前
Postgres数据库docker快速安装
数据库·docker·容器
数据知道1 小时前
PostgreSQL:如何在容器中部署 Crunchy Data Operator(Kubernetes 运维)
运维·postgresql·kubernetes
王德印1 小时前
工作踩坑之导入数据库报错:Got a packet bigger than ‘max_allowed_packet‘ bytes
java·数据库·后端·mysql·云原生·运维开发
AI_56782 小时前
ableau可视化进阶:颜色与交互设计让数据会说话
数据库·云原生·excel
only_Klein2 小时前
Jenkinsfile流水线设计解析
kubernetes·jenkins·argocd·cicd
leblancAndSherry2 小时前
阿里云轻量/ECS 实战:K3s + Helm + cert-manager + 云效 Codeup 全链路 CI/CD 落地(记录自用)
linux·运维·阿里云·ci/cd·kubernetes·云计算
认真的薛薛2 小时前
5.k8s的deploy-ds-nfs-loadbalancer
云原生·容器·kubernetes