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

k8s项目的发布

目录

三种发布方式

1.蓝绿发布

2.金丝雀发布(灰度发布) 

实验:k8s实现金丝雀发布

3.滚动发布(默认形式)


因为应用升级以及新旧业务切换,所以在这个过程当中如何保证对外的服务正常是一个非常重要的问题。

三种发布方式

1.蓝绿发布

会把服务器分为蓝组和绿组,比如先停蓝组,绿组依然对外提供服务,等蓝组更新维护完毕上线之后,再把绿组关闭维护。这样可以保证做业务更新和发布过程的对外服务不受影响。

特点:1.一旦出现问题,影响范围比较大

           2.发布策略也比较简单

           3.有了负载均衡和高可用之后,用户无感知,可以实现平滑过度

缺点:需要大量的后台服务器作为支撑,成功比较高

2.金丝雀发布(灰度发布) 

它是现在比较流行的方式

deployment控制器可以通过自定义控制的方式实现金丝雀发布。

金丝雀发布对自动化控制要求高,整个系统的稳定性比蓝绿发布要高,它的影响范围可控

实验:k8s实现金丝雀发布

kubectl create ns xy102   创建命名空间

kubectl create deployment nginx1 --image=nginx:1.12 --replicas=3 -n xy102   创建资源对象

kubectl set image deployment/nginx1 nginx=nginx:1.22 -n xy102 && kubectl rollout pause deployment nginx1 -n xy102      升级并打断点,此时就会暂停

此时就会多出来一个pod,这个pod就是已经升级好了的版本

kubectl rollout resume deployment/nginx1   取消暂停,这样它就会把剩下的全部更新

3.滚动发布(默认形式)

滚动发布部署时间比较慢,发布的策略也比较复杂,但是它节约资源。

kubectl set image deployment/nginx1 nginx=nginx:1.18 -n xy102

此时 kubectl get pod -o wide -n xy102 即可查看是否正则更新

kubectl rollout history deployment/nginx1 -n xy102  查看还原点

数字大小决定了距离上次更新操作的远近,数字越大,就是最近的一次操作

kubectl set image deployment/nginx1 nginx=nginx:1.20 --record -n xy102       record添加更新记录


http://www.mrgr.cn/news/14172.html

相关文章:

  • 长期使用电脑的程序猿,如何保护眼睛?
  • 【Qt窗口】—— 浮动窗口
  • 关于武汉芯景科技有限公司的实时时钟芯片XJ8339开发指南(兼容DS1339)
  • 爆改YOLOv8|使用RCS-OSA替换C2f暴力涨点
  • 更改网络ip地址时出现错误怎么办
  • 深入理解Spring Boot中的@ConditionalOnProperty注解及其应用
  • Shell教程_Bash中test命令的使用
  • SEO优化租用站群服务器需要考虑哪些?
  • Threejs学习-三维坐标系、相机控件
  • 【Qt 地图开发】
  • 回答评论:使用流遍历文件 list
  • JS WebSocket 深度解析
  • 发现一个程序员最强外设,助你高效开发早日摸鱼!
  • 多处理器的基本概念
  • 深度解读SGM41511电源管理芯片I2C通讯协议REG04寄存器解释
  • apache的主要目录结构及常见的配置选项的详细说明(图例展示)
  • 厨房老鼠检测算法解决方案老鼠检测算法源码样本详细介绍
  • 服务器搭建记录(两台服务器通过一个路由器的LAN口联网)
  • 【ESP32 IDF】WEB服务程序更新为vue3+vitify3
  • 数据库mysql集群主从、高可用MGR、MHA技术详解