关于k8s的无状态服务Deployment的滚动更新

关于k8s的无状态服务Deployment的滚动更新

前言

无状态的服务是指不会对本地环境产生任何依赖。例如不会存储数据到本地磁盘,如Nginx。不像MySQL或Redis强依赖本地存储的数据;

Deployment:可以理解为控制器,每个服务是部署在pod中,pod是由replica Set管理,Deployment通过selector标签管理replica Set。在K8s中通过编写资源清单yaml文件来创建Deployment进而控制容器;

滚动更新触发时机:只有修改了Deployment配置文件中的template中的属性后,才会触发更新操作;

更新演示

①先创建拉取nginx版本1.7.9镜像的Deployment,有两种方式:
方式一:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/76c2e2f7ca0342e99e4e70e0f6e6cb3c.png
方式二:通过编译yaml文件后,然后kubectl apply 这个yaml文件来创建deployment
在这里插入图片描述

②再通过改变副本(此步骤也可以在上面yaml文件直接指定replica的数量)
在这里插入图片描述
③查看修改生效,有三个pod
在这里插入图片描述

④修改template属性中的nginx版本为1.9.1触发更新
在这里插入图片描述

⑤查看滚动更新的效果
在这里插入图片描述

在Deployment下,它是创建了新的replica Set,如图的命名后缀为77的是旧的Replica set,创建新的d7后缀的Replica set,等新的Replica set中新起一个pod后,旧的Replica set就停掉一个,这个过程是用户无感知的,达到平滑迁移的效果,然后新的Replica set又起一个pod,旧的Replica set又停掉一个pod,直到新的Replica set起满三个,旧的replica set就全停掉了,但旧的replica set以及pod不能删除,因为需要保留用于回滚版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值