【k8s-12】--作业副本与水平扩展

2018-12-27  本文已影响0人  一个热爱生活的好少年

deployment在k8s中完整的实现:水平扩展/收缩
例子:更新一个deployment的pod模板(修改了容器的镜像),那么deployment就需要遵循”滚动更新“的方式,来实现升级容器。这个时候就需要ReplicaSet。

image.png

水平扩展实现:通过Deployment Controller只需要修改她控制的ReplicaSet的pod副本数即可。


image.png

我们如何检查nginx-deployments创建后的状态信息:


image.png

1.DESIRED:客户期望的pod副本数
2.CURRENT:当前处于running的pod
3.UP-TO-DATE:处于最新版本的pod
4.AVAILABLE:当前已经可用的pod

如何实时查看Deployment对象的状态变化:

[root@k8s-master-lzy /]# kubectl rollout status  deployment/nginx-deployment
deployment "nginx-deployment" successfully rolled out
[root@k8s-master-lzy /]# 

滚动更新中:


image.png

如果之前在水平扩张的时候报错。目前已经有一个前pod删除并且异常,如何恢复之前pod。
kubectl rollout undo deployment/nginx-deployment,可以回滚到上个版本


image.png

总结:Deployment是个两层的控制器。用re的个数描述应用的版本,用RE的属性来保证pod的副本数量。
在滚动更新中,哪个pod先下线无法随便选择,自定义的控制器可以。

上一篇下一篇

猜你喜欢

热点阅读