在K8S中,deploy升级过程包括什么?
在Kubernetes (K8S) 中,Deployment的升级过程主要包括以下几个步骤:
更新Deployment配置:
- 当需要对应用程序进行升级时,通常会更新Deployment的YAML配置文件,可以更改的内容包括但不限于:
- 容器镜像版本(从v1.0升级到v2.0)
- 应用配置(环境变量、命令参数等)
- 资源请求与限制
- 更新策略和其他元数据
- 当需要对应用程序进行升级时,通常会更新Deployment的YAML配置文件,可以更改的内容包括但不限于:
选择升级策略:
- 默认情况下,Deployment使用滚动升级(Rolling Update)策略。
- 滚动升级会在保持整体服务可用的前提下逐步替换旧Pod,即首先创建新的Pod实例运行新版本应用,然后删除旧版本Pod实例。
- 另一种策略是Recreate策略,它会先删除所有现有的Pod,然后再创建全部新的Pod。
实施滚动升级:
- 在滚动升级过程中:
- Deployment控制器根据新的Pod模板创建一个新的ReplicaSet。
- 新的ReplicaSet开始创建并启动指定数量的新Pod,同时确保任何时候集群中至少有一部分旧Pod仍在提供服务(可以通过设置
.spec.strategy.rollingUpdate.maxUnavailable来控制最大不可用Pod数量)。 - 当新Pod变为Ready状态且通过就绪探针验证后,才会继续替换下一个旧Pod。
- 这个过程会持续进行,直到所有旧Pod都被新Pod替换完毕。
- 在滚动升级过程中:
监控和确认升级:
- 在升级过程中,可以通过kubectl或Kubernetes Dashboard监控Deployment的状态以及Pod的健康状况。
- 确认所有新Pod都成功启动并且应用程序正常响应后,升级过程完成。
回滚机制:
- 如果在升级过程中发现问题,可以立即执行回滚操作回到上一个已知稳定版本。
- Kubernetes自动维护着每个Deployment的历史记录,允许用户轻松地基于修订历史(revision history)回滚到之前任何一个版本。
综上所述,整个升级流程旨在实现最小的服务中断和最大程度的可恢复性。
在K8S中,deploy升级过程包括什么?的更多相关文章
- k8s中几个基本概念的理解,pod,service,deployment,ingress的使用场景
k8s 总体概览 前言 Pod 副本控制器(Replication Controller,RC) 副本集(Replica Set,RS) 部署(Deployment) 服务(Service) ingr ...
- Oracle 数据库升级过程中的主要步骤
Oracle 数据库升级包括六个主要步骤. Oracle 数据库的升级步骤工作流 步骤 1:准备升级 Oracle 数据库 熟悉 Oracle 数据库新版本的特性. 确定新版本的升级路径. 选择升级方 ...
- iOS 9 升级过程汇中白苹果 iPhone或iPad 解决方案
最近想必有很多朋友升级了iOS 9,不过有部分朋友在升级过程中遇到了白苹果问题.也就是卡在升级过程中,不限重启.这时,你只能通过dfu进行升级了. ios9怎么进入dfu模式: 1.将你的iPhone ...
- 通过 yum update 将系统从CentOS 6.2 升级到 CentOS 6.6 及升级过程中的简单排错
本文说明 本文写于2014年的WP中,后WP停止维护,今天翻到此记录整理下,记录于此,方便日后查看. 话说那时候写博客真是认真啊~哈哈~ 升级前的系统信息 [root@thatsit ~]# unam ...
- android recovery升级过程中掉电处理
一般在升级过程,都会提示用户,请勿断电,不管是android的STB,TV还是PHONE,或者是其他的终端设备,升级过程,基本上都可以看到“正在升级,请勿断电”,然后有个进度条,显示升级的进度. 但是 ...
- WDCP从php5.2升级到5.3的办法,以及升级过程中iconv错误的处理
从wdcp官方论坛我们可以找到一个询问升级的帖子,然后管理员在回复中也提供了升级方法: cd /tmp wget -c http://dl.wdlinux.cn:5180/soft/php-5.3.1 ...
- springboot升级过程中踩坑定位分析记录 | 京东云技术团队
作者:京东零售 李文龙 1.背景 " 俗话说:为了修复一个小bug而引入了一个更大bug " 因所负责的系统使用的spring框架版本5.1.5.RELEASE在线上出过一个偶发的 ...
- 6.K8s集群升级、etcd备份和恢复、资源对象及其yaml文件使用总结、常用维护命令
1.K8s集群升级 集群升级有一定的风险,需充分测试验证后实施 集群升级需要停止服务,可以采用逐个节点滚动升级的方式 1.1 准备新版本二进制文件 查看现在的版本 root@k8-master1:~# ...
- Rancher 2.3实现K8S一键式升级!再也不用同步升级Rancher啦!
在Rancher 2.3之前,Rancher的新版本总是随着Kubernetes的新版本一起发布,如果你想要使用最新版本的Kubernetes,那么你需要先升级Rancher才能使用.Rancher ...
- k8s 中的 Pod 细节了解
k8s中Pod的理解 基本概念 k8s 为什么使用 Pod 作为最小的管理单元 如何使用 Pod 1.自主式 Pod 2.控制器管理的 Pod 静态 Pod Pod的生命周期 Pod 如何直接暴露服务 ...
随机推荐
- HanLP 学习
学习 HanLP 需要了解, 双数组Trie树 (Double-array Trie) Aho-Corasick DoubleArrayTire 算法 ACDAT - 基于双数组字典树的AC自动机 T ...
- Axure 单键快捷键
如果怕误操作,可以把它关闭
- python版本升级到3.8以及安装虚拟环境
linux系统升级python版本看起来复杂,如果知道其中步骤也不会觉得很困难.下面记录在deepin系统 15.11和ubuntu16.04系统下将python从2.7升级到3.8过程 升级pyth ...
- 机器学习周刊第五期:一个离谱的数据可视化Python库、可交互式动画学概率统计、机器学习最全文档、快速部署机器学习应用的开源项目、Redis 之父的最新文章
date: 2024/01/08 这个网站用可视化的方式讲解概率和统计基础知识,很多内容还是可交互的,非常生动形象. 大家好,欢迎收看第五期机器学习周刊 本期介绍7个内容,涉及Python.概率统计. ...
- SpringMVC — 数据响应 / 获取请求参数
SpringMVC的数据响应方式 页面跳转 直接返回字符串 通过ModelAndView对象返回 回写数据 直接返回字符串 返回对象或集合 页面跳转 方式一.返回带有前缀的字符串: 转发:forwar ...
- Win10中docker的安装与使用
1.docker的安装 环境准备 Docker for Windows是一个Docker Community Edition(CE)应用程序.Docker for Windows安装包包含了在Wind ...
- Visual Studio Code如何校验yaml格式文件
1.yaml格式校验快捷键:Shift+Alt+F默认没有安装,这时候点击安装: 2.选择YAML Language Support by Red Hat 3.安装完成后,自动开启校验,当格式错误 ...
- Liunx运维(一)-命令行
一.命令行的开启与推出 1.exit 2.logout 3.ctrl+d 二.命令行提示符 1.#root用户 2.$普通用户 3.~当前用户所在的路径 4.全局配置文件: /etc/profil ...
- Linux: CPU C-states
0. Overview There are various power modes of the CPU which are determined based on their current usa ...
- React报错之Property does not exist on type 'JSX.IntrinsicElements'
正文从这开始~ 总览 当组件名称以小写字母开头时,会导致"Property does not exist on type 'JSX.IntrinsicElements'"错误.为了 ...