在Kubernetes (K8S) 中,Deployment的升级过程主要包括以下几个步骤:

  1. 更新Deployment配置

    • 当需要对应用程序进行升级时,通常会更新Deployment的YAML配置文件,可以更改的内容包括但不限于:

      • 容器镜像版本(从v1.0升级到v2.0)
      • 应用配置(环境变量、命令参数等)
      • 资源请求与限制
      • 更新策略和其他元数据
  2. 选择升级策略

    • 默认情况下,Deployment使用滚动升级(Rolling Update)策略。
    • 滚动升级会在保持整体服务可用的前提下逐步替换旧Pod,即首先创建新的Pod实例运行新版本应用,然后删除旧版本Pod实例。
    • 另一种策略是Recreate策略,它会先删除所有现有的Pod,然后再创建全部新的Pod。
  3. 实施滚动升级

    • 在滚动升级过程中:

      • Deployment控制器根据新的Pod模板创建一个新的ReplicaSet。
      • 新的ReplicaSet开始创建并启动指定数量的新Pod,同时确保任何时候集群中至少有一部分旧Pod仍在提供服务(可以通过设置.spec.strategy.rollingUpdate.maxUnavailable来控制最大不可用Pod数量)。
      • 当新Pod变为Ready状态且通过就绪探针验证后,才会继续替换下一个旧Pod。
      • 这个过程会持续进行,直到所有旧Pod都被新Pod替换完毕。
  4. 监控和确认升级

    • 在升级过程中,可以通过kubectl或Kubernetes Dashboard监控Deployment的状态以及Pod的健康状况。
    • 确认所有新Pod都成功启动并且应用程序正常响应后,升级过程完成。
  5. 回滚机制

    • 如果在升级过程中发现问题,可以立即执行回滚操作回到上一个已知稳定版本。
    • Kubernetes自动维护着每个Deployment的历史记录,允许用户轻松地基于修订历史(revision history)回滚到之前任何一个版本。

综上所述,整个升级流程旨在实现最小的服务中断和最大程度的可恢复性。

在K8S中,deploy升级过程包括什么?的更多相关文章

  1. k8s中几个基本概念的理解,pod,service,deployment,ingress的使用场景

    k8s 总体概览 前言 Pod 副本控制器(Replication Controller,RC) 副本集(Replica Set,RS) 部署(Deployment) 服务(Service) ingr ...

  2. Oracle 数据库升级过程中的主要步骤

    Oracle 数据库升级包括六个主要步骤. Oracle 数据库的升级步骤工作流 步骤 1:准备升级 Oracle 数据库 熟悉 Oracle 数据库新版本的特性. 确定新版本的升级路径. 选择升级方 ...

  3. iOS 9 升级过程汇中白苹果 iPhone或iPad 解决方案

    最近想必有很多朋友升级了iOS 9,不过有部分朋友在升级过程中遇到了白苹果问题.也就是卡在升级过程中,不限重启.这时,你只能通过dfu进行升级了. ios9怎么进入dfu模式: 1.将你的iPhone ...

  4. 通过 yum update 将系统从CentOS 6.2 升级到 CentOS 6.6 及升级过程中的简单排错

    本文说明 本文写于2014年的WP中,后WP停止维护,今天翻到此记录整理下,记录于此,方便日后查看. 话说那时候写博客真是认真啊~哈哈~ 升级前的系统信息 [root@thatsit ~]# unam ...

  5. android recovery升级过程中掉电处理

    一般在升级过程,都会提示用户,请勿断电,不管是android的STB,TV还是PHONE,或者是其他的终端设备,升级过程,基本上都可以看到“正在升级,请勿断电”,然后有个进度条,显示升级的进度. 但是 ...

  6. WDCP从php5.2升级到5.3的办法,以及升级过程中iconv错误的处理

    从wdcp官方论坛我们可以找到一个询问升级的帖子,然后管理员在回复中也提供了升级方法: cd /tmp wget -c http://dl.wdlinux.cn:5180/soft/php-5.3.1 ...

  7. springboot升级过程中踩坑定位分析记录 | 京东云技术团队

    作者:京东零售 李文龙 1.背景 " 俗话说:为了修复一个小bug而引入了一个更大bug " 因所负责的系统使用的spring框架版本5.1.5.RELEASE在线上出过一个偶发的 ...

  8. 6.K8s集群升级、etcd备份和恢复、资源对象及其yaml文件使用总结、常用维护命令

    1.K8s集群升级 集群升级有一定的风险,需充分测试验证后实施 集群升级需要停止服务,可以采用逐个节点滚动升级的方式 1.1 准备新版本二进制文件 查看现在的版本 root@k8-master1:~# ...

  9. Rancher 2.3实现K8S一键式升级!再也不用同步升级Rancher啦!

    在Rancher 2.3之前,Rancher的新版本总是随着Kubernetes的新版本一起发布,如果你想要使用最新版本的Kubernetes,那么你需要先升级Rancher才能使用.Rancher ...

  10. k8s 中的 Pod 细节了解

    k8s中Pod的理解 基本概念 k8s 为什么使用 Pod 作为最小的管理单元 如何使用 Pod 1.自主式 Pod 2.控制器管理的 Pod 静态 Pod Pod的生命周期 Pod 如何直接暴露服务 ...

随机推荐

  1. Spark面试题(六)——Spark资源调优

    Spark系列面试题 Spark面试题(一) Spark面试题(二) Spark面试题(三) Spark面试题(四) Spark面试题(五)--数据倾斜调优 Spark面试题(六)--Spark资源调 ...

  2. 最优订单执行算法相关Paper介绍

    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 随着量化交易.高频交易的竞争日益激烈,事实证明,交易执行显着影响量化策略的投资绩效. 因此,许多从业者开 ...

  3. Grafana-安装饼状图

    官网:https://grafana.com/grafana/plugins/grafana-piechart-panel/?tab=installation 使用grafana-cli直接安装 [r ...

  4. Codeforce:723A. The New Year: Meeting Friends (水题)

    题意:有三个好朋友的家都住在x轴的不同坐标,问新年的时候三个朋友之间问候走的最短距离 max{(a,b,c)} - min{(a,b,c)} 即可 编译器由 VS2017 切换到VScode使用,纪念 ...

  5. JVM自定义类加载器在代码扩展性的实践

    一.背景 名单管理系统是手机上各个模块将需要管控的应用配置到文件中,然后下发到手机上进行应用管控的系统,比如各个应用的耗电量管控:各个模块的管控应用文件考虑到安全问题,有自己的不同的加密方式,按照以往 ...

  6. 使用策略模式重构 if/elseif/elseif

    本文翻译自国外论坛 medium,原文地址:https://medium.com/aia-sg-techblog/refactor-if-elseif-elseif-using-strategy-de ...

  7. 介绍几种OPTIONS检测的方法

    概述 日常的VOIP开发中,OPTIONS检测是常用的网络状态检测工具. OPTIONS原本是作为获取对方能力的消息,也可以检测当前服务状态.正常情况下,UAS收到OPTIONS心跳,直接回复200即 ...

  8. Go image registry

    0. 前言 OpenShift image registry 概述 介绍了 OpenShift 平台上 registry 的基本结构.进一步地,本文将介绍在 Kubernetes 平台上,如何使用 G ...

  9. Transformer的应用

    Transformer 写在前面 本学期学习了NLP的课程,本小菜鸡结合做的课设(基于Transformer的英文文档摘要系统的设计与实现),来写一下有关于Transformer的相关内容吧,有问题之 ...

  10. offline RL | ABM:从 offline dataset 的好 transition 提取 prior policy

    ICLR 2020,6 6 6. 材料: 论文题目:Keep Doing What Worked: Behavior Modelling Priors for Offline Reinforcemen ...