当前位置: 首页 > news >正文

k8s三种常用的项目发布方式

k8s三种常用的项目发布方式

1、 蓝绿发布
2、 金丝雀发布(灰度发布):使用最多
3 、滚动发布

应用程序升级,面临的最大问题是新旧业务之间的切换。
项目的生命周期:立项----定稿----需求发布----开发----测试-----发布
最后测试之后上线。再完美也会有问题,为了不让发生的问题影响所有用户。就产生了上述的三种发布方式。


蓝绿发布

蓝绿发布:把应用服务集群标记为两个组,蓝组和绿组。
1、 先升级蓝组。要把蓝组从负载均衡当中移除,绿组继续提供服务。 蓝组升级完毕。
2、 再把绿组从负载均衡当中移除,绿组升级,然后都加入回负载均衡当中去,完成对外服务。
蓝绿发布的工作流程图:
对硬件资源要求很高,但是有了云计算和微服务。现在成本已经大大降低了。
蓝绿发布的特点
优点:
一旦出现问题,影响范围很大
发布策略简单
基于现在的云计算和微服务,用户无感知
升级和回滚都比较方便
缺点:
在发布升级的过程中,只有一部分集群再对外提供的服务。可能会使集群的负载能力下降,响应便面,需要给集群增加负载能力(一般来说没什么特殊需要)
短时间内可能


金丝雀发布(灰度发布):

在k8s中必须是基于deployment控制器创建的服务,才可以使用金丝雀这种发布方式。默认滚动跟新。在滚动跟新的基础上实现了暂停功能。
暂停:在发布的过程中暂时停止,只有一部分的pod先升级。其他的pod还是处于老的版本。只有一部分用户可以访问新的版本。绝大多数用户还是老版本。确定问题之后,再把剩下的老版本。升级成新的版本。把暂停取消继续发布。如果有问题可以立即回滚。
暂停并不是回滚。一旦取消暂停只能全部升级完毕之后再统一回滚。

kubectl set image deployment nginx nginx=nginx:1.24 --record && kubectl rollout pause deployment nginx

#只会更新一个

kubectl rollout resume deployment nginx

#统一更新
全部升级完毕后才能回滚

kubectl rollout undo deployment nginx --to-revision=1

灰度发布的特点
优点:
自动化要求比较高。对运维人员的要求比较高
方便发现问题及时解决。影响范围比较小。
用户无感知,可以实现平滑过度。节约资源。
发布策略比较复杂。
不易回滚,必须要全部发布成功后才能回滚。

滚动更新

deployment的默认更新方式。
更新一个新的删除一个旧的

http://www.lryc.cn/news/277019.html

相关文章:

  • Nodejs搭配axios下载图片
  • 强化学习在生成式预训练语言模型中的研究现状简单调研
  • python_selenium_安装基础学习
  • 面试宝典进阶之关系型数据库面试题
  • Agisoft Metashape 地面点分类参数设置
  • 计算机科学速成课【学习笔记】(4)——二进制
  • 数据库开发工具Navicat Premium 15 mac软件特色
  • 从零开始构建区块链:我的区块链开发之旅
  • c JPEG编码,但有错误
  • 二级C语言备考1
  • 【2024系统架构设计】 系统架构设计师第二版-嵌入式系统架构设计理论与实践
  • 用python提取word中的所有图片
  • 医疗器械分类及是否需要临床
  • AI人工智能虚拟现实行业发展分析
  • 3. SPSS数据文件的基本加工和处理
  • Ubuntu20二进制方式安装nginx
  • window mysql5.7 搭建主从同步环境
  • MCU、MPU、SOC简介
  • Kubernetes那点事儿——配置存储:ConfigMap、Secret
  • 小白向:搭建企业培训APP的完整技术指南
  • CVE-2023-36025 Windows SmartScreen 安全功能绕过漏洞
  • 分析一个项目(微信小程序篇)二
  • 每日论文推送(有中文摘或源码地址或项目地址)
  • 【漏洞复现】锐捷EG易网关login.php命令注入漏洞
  • Nginx安装http2和ssl模块
  • Android 8.1 隐藏设置中定位功能
  • 无线网卡怎么连接台式电脑?正确操作步骤分享!
  • 聚道云软件连接器助力某贸易公司实现付款流程自动化
  • 第六讲_css盒子模式
  • 【WSL】Win10 使用 WSL2 进行 Linux GPU 开发