首页 > 其他分享 >Kubernetes Deployment更新容器镜像的两种常见方式

Kubernetes Deployment更新容器镜像的两种常见方式

时间:2023-07-05 22:56:59浏览次数:43  
标签:容器 Kubernetes 版本号 Deployment 镜像 my

Kubernetes Deployment是一种Kubernetes资源对象,用于定义和管理容器化应用程序的部署。在Kubernetes集群中,可以使用Deployment来创建和管理Pod,并确保Pod的副本数始终保持在指定的数量。当需要更新容器镜像时,可以使用以下两种方式来更新Kubernetes Deployment中的容器镜像。

方式一:使用不同版本号的镜像

如果您需要更新容器镜像,可以将新版本的镜像上传到Docker Registry或其他容器镜像存储库中,并使用新版本号来更新Deployment的容器镜像。例如:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-container
        image: my-image:v2.0  # 使用新版本号的镜像

在上面的示例中,使用v2.0版本号的镜像来更新Deployment的容器镜像。当您执行kubectl apply命令时,Kubernetes将使用新的镜像来更新Deployment中的容器。

方式二:使用相同版本号的镜像

如果您使用相同版本号的镜像来更新Deployment中的容器镜像,您需要使用imagePullPolicy: Always来确保Kubernetes从Registry中下载最新的镜像。例如:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      imagePullPolicy: Always  # 总是从Registry中下载最新的镜像
      containers:
      - name: my-container
        image: my-image:latest  # 使用相同版本号的镜像

在上面的示例中,使用latest版本号的镜像来更新Deployment的容器镜像。使用imagePullPolicy: Always来确保Kubernetes从Registry中下载最新的镜像。

注意:imagePullPolicy: Always是和containers一个级别。

需要注意的是,使用相同版本号的镜像来更新Deployment中的容器镜像时,需要确保Registry中的镜像已更新为最新版本。否则,Kubernetes将使用本地缓存的旧版本镜像来更新容器。此外,为了避免不必要的网络流量和资源浪费,建议不要使用imagePullPolicy: Always来更新容器镜像,除非您确实需要下载最新的镜像。

以上是Kubernetes Deployment更新容器镜像的两种常见方式。如果您有任何疑问或建议,请随时与我联系。

标签:容器,Kubernetes,版本号,Deployment,镜像,my
From: https://www.cnblogs.com/zhanchenjin/p/17530527.html

相关文章

  • 制作自己的Ubuntu系统镜像ISO
    Ubuntu镜像制作1目的你有是否有过这样的经历:好不容易花了好大的心思心血搭建好了一个Ubuntu系统,例如安装了Python的开发环境,各种虚拟环境,各种ide的安装,突然有一天需要在另外一台电脑上需要重新搭建,这个过程估计没有1天也至少的有0.5天的工作量所以说,怎样避免这样的问题,或者说......
  • Kubernetes使用Helm部署Gitea仓库
    使用Helm部署Gitea仓库配置Helm源helmrepoaddgiteahttps://dl.gitea.io/chartshelmrepoupdate导出Gitea配置文件values.yamlhelmshowvaluesgitea/gitea>values.yaml#helmshowreadmegitea/gitea>README.md修改values.yamlvimvalues.yaml修改持久化配置......
  • promethues镜像升级
    下载镜像    dockerpullbitnami/prometheus    dockerrun-p9800:9090323da408bf48        检查镜像服务版本      定制镜像升级版本          1.启动一个老版本镜像       dockerrun323da4......
  • 配置 containerd 镜像仓库完全攻略
    前言 Kubernetes在Changelog中宣布自Kubernetes1.20之后将弃用Docker作为容器运行时之后,containerd成为下一个容器运行时的热门选项。虽然containerd很早就已经是Docker的一部分,但是纯粹使用containerd还是给大家带来了诸多困扰,本文将介绍如何使用containerd......
  • Kubernetes(k8s) 资源限制:resources,LimitRange,ResourceQuota
    目录一.系统环境二.前言三.Kubernetes资源限制简介四.创建没有资源限制的pod4.1创建没有资源限制的pod4.2内存消耗测试五.使用resources字段配置资源限制5.1限制最低内存5.2限制最低CPU5.3限制最低CPU和最高内存5.4内存消耗测试六.使用LimitRange限制资源范围七.同时使用Lim......
  • Mac M2 Docker 构建镜像制定运行架构
    错误execuserprocesscaused"execfomaterror"在构建镜像的时候在本机运行没有问题,但是发到服务器上就不行,后来指定服务器对应的运行架构镜像才运行成功dockerbuildxbuild-timageName--platform=linux/amd64.查看服务器的架构信息https://blog.csdn.net/weixin_......
  • docker命令、容器挂载、镜像制作、docker compose、docker私有仓库
    服务相关命令--开启dockersystemctlstartdocker--关闭dockersystemctlstopdocker--查看docker状态systemctlstatusdocker--重启systemctlrestartdocker--开机启动dockersystemctlenabledocker镜像相关命令--查看镜像dockerimages--搜索镜像以......
  • 如何将SSL证书从Kubernetes Secrets导出并复原为证书PEM和密钥文件
    首先,您需要使用kubectl工具从Kubernetes导出Secret到一个yaml文件,这通常使用如下命令:kubectlgetsecretmy-secret-oyaml>my-secret.yaml然后我们可以创建一个简单的bash脚本来处理yaml文件并导出证书:#!/bin/bash#解析yaml文件并得到证书内容certData=......
  • shell脚本:将运行容器的日志输出到文件清理服务器上的符合条件的docker镜像
    采集容器日志的shell脚本内容为:点击查看代码#!/bin/bashexportLANG=zh_CN.gb18030.~/.bash_profile#日志放置目录log_path=/aa/bb/cc/dd/eetodaydate=$(date+%Y%m%d)nowdate=$(date+%Y%m%d%H%M)#pod列表dube_pod_id='xx1-servicexx2-servicexx3-servicexx4-se......
  • 在微软官网下载原版Win11镜像ISO文件的方法分享
    Windows11引入了SnapLayouts和SnapGroups,使窗口管理更加方便。SnapLayouts可以快速将应用程序窗口分割为不同的布局,而SnapGroups可以保存和还原多个应用程序窗口的布局.如果你想体验Win11新功能,推荐在微软官网下载原版ISO系统镜像。接下来,我分享下在微软官网下载原版Win11......