目录
Deployments 可以实现副本集,进行水平收缩,挻不错的功能。但是只适用于无状态。
所谓遥无状态是对等关系,没有顺序要求,所有pod都一样
一、知识点
主要是
创建
更新
回滚
缩放
暂停、恢复
金丝雀发布(Canary Deployment)和蓝绿发布(Blue-Green Deployment)
A/B测试等
这些在k8s官方的Deployment中文文档 都做了很详细的介绍,我这里不不多说了
“水平扩展 / 收缩”非常容易实现,Deployment Controller 只需要修改它所控制的 ReplicaSet 的 Pod 副本个数就可以了。
二、Deployment更新机制
这里的更新机制,使用的是 滚动更新(rolling update)机制,如下图所示:
Deployment的更新机制是基于滚动更新的,具体顺序如下:
1.首先,创建一 个新的RS控制器, 版本为v2 ;
2接着将旧控制器的pod陆续下线,同时新的RS控制器同步上线对应Pod ;
3.Pod更新完成后,弃用旧的RS控制器,滚动发布就此完成。
你可以另起一个终端,使用kubectl get pod -o wide -W 观察pod滚动更新情况
使用kubectl get rs -o wide 观察RS控制器的名字、状态等信息。
你也可以使用pause命令实现基于deployment的金丝雀发布策略。
例子不讲了,自己看。