在K8S中,镜像的拉取策略有哪些?

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 在K8S中,镜像的拉取策略有哪些?

在Kubernetes中,镜像拉取策略(Image Pull Policy)定义了何时从容器镜像仓库拉取或更新容器镜像。这些策略对于管理容器化应用的部署和更新非常重要。Kubernetes提供了以下几种镜像拉取策略:

  1. Always
  • 无论本地是否存在该镜像,总是尝试从远程仓库拉取最新的镜像。这可以确保使用的是最新的镜像,但可能会增加部署的时间和网络负载。
  1. IfNotPresent
  • 如果本地没有该镜像,则从远程仓库拉取。如果本地已经存在同名的镜像,则直接使用本地镜像,不会尝试拉取更新。这是默认的拉取策略。
  1. Never
  • 永远不会尝试从远程仓库拉取镜像,总是使用本地镜像。如果本地没有该镜像,容器创建将失败。使用这个策略时,需要确保所有节点上都有所需的镜像。
  1. OnFailure(Kubernetes 1.19引入,Beta特性):
  • 如果本地镜像存在,首先尝试使用本地镜像启动容器。如果容器启动失败(例如,因为镜像损坏或不兼容),则尝试从远程仓库拉取镜像。

选择哪种拉取策略取决于你的具体需求和部署环境。以下是一些使用场景:

  • Always:适用于需要确保总是使用最新镜像的场景,例如持续集成和持续部署(CI/CD)流程中。
  • IfNotPresent:适用于大多数场景,因为它提供了一个平衡点,既可以使用本地镜像以减少网络负载,又可以在没有本地镜像时拉取最新镜像。
  • Never:适用于镜像不需要频繁更新的场景,或者在所有节点上预先加载了所需镜像的集群。
  • OnFailure:适用于希望减少网络请求,但同时希望在本地镜像存在问题时能够回退到远程镜像的场景。

综上所述,镜像拉取策略是在Pod定义的容器级别设置的,而不是在Service或Deployment级别。这样可以为不同的容器选择不同的策略,以满足不同容器的需求。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
3月前
|
Kubernetes 开发者 容器
"Kubernetes的生死抉择:揭秘Pod容器重启策略如何决定应用命运的惊天大戏"
【8月更文挑战第20天】Kubernetes (k8s) 是一个强大的容器编排平台,其中Pod是最小的运行单元。Pod的重启策略确保服务连续性,主要有Always(总是重启)、OnFailure(失败时重启)和Never(从不重启)。默认策略为Always。根据不同场景,如Web服务、批处理作业或一次性任务,可以选择合适的策略。K8s还支持健康检查等高级机制来控制容器重启。合理配置这些策略对维护应用稳定性至关重要。
128 4
|
28天前
|
Kubernetes 应用服务中间件 nginx
k8s学习--kubernetes服务自动伸缩之水平收缩(pod副本收缩)VPA策略应用案例
k8s学习--kubernetes服务自动伸缩之水平收缩(pod副本收缩)VPA策略应用案例
|
2月前
|
Kubernetes 网络虚拟化 Docker
K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
文章提供了一个解决方案,用于在无法直接访问Google镜像仓库的情况下,通过使用阿里云镜像来下载kubeadm所需的Kubernetes镜像。
209 3
K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
|
2月前
|
Kubernetes 安全 API
Kubernetes系统安全-授权策略(authorization policy)
文章主要介绍了Kubernetes系统中的授权策略,包括授权模块的概述、RBAC授权模块的详细说明以及如何创建和管理角色(Role)和集群角色(ClusterRole)。
53 0
Kubernetes系统安全-授权策略(authorization policy)
|
3月前
|
Kubernetes Docker Perl
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
|
3月前
|
存储 Kubernetes 调度
在K8S中,影响Pod调度策略的有哪些?
在K8S中,影响Pod调度策略的有哪些?
|
3月前
|
Kubernetes Cloud Native 应用服务中间件
Kubernetes 自动伸缩策略:优化资源利用率
【8月更文第29天】在现代云原生环境中,应用的流量往往具有不可预测性。为了应对这种变化,Kubernetes 提供了多种自动伸缩机制来动态调整应用实例的数量和每个实例分配的资源。本文将深入探讨两种主要的自动伸缩工具:水平 Pod 自动伸缩器 (HPA) 和垂直 Pod 伸缩器 (VPA),并提供实际的应用示例。
77 0
|
3月前
|
Kubernetes 容器 Perl
在K8S中,镜像的更新策略是什么?
在K8S中,镜像的更新策略是什么?
|
3月前
|
Kubernetes Perl 容器
在K8S中,Pod的重启策略是什么?
在K8S中,Pod的重启策略是什么?
|
3月前
|
存储 Kubernetes 数据安全/隐私保护
在K8S中,如何下载harbor的私有项目镜像?
在K8S中,如何下载harbor的私有项目镜像?

推荐镜像

更多