使用 RC 实现自动滚动升级
先定义两个容器镜像 v1 和 v2 版本
1  | # v1 版本  | 
1  | # v2 版本 区别在于返回的是 v2的信息  | 
单个 yaml 运行 rc 和 service
1  | # 多种资源定义通过 --- 分割  | 
1  | [root@k8s-master1 deployment]# kubectl get pods,svc  | 
RC 的滚动升级 rolling-update
1  | [root@k8s-master1 deployment]# kubectl rolling-update kubia-v1 kubia-v2 --image=172.31.228.68/game/kubia:v2  | 
使用 Deployment 声明式升级应用
1  | 1. Deployment -> rs -> pod  | 
创建 Deployment
1  | [root@k8s-master1 deployment]# kubectl explain deployment  | 
升级 Deployment
1  | Deployment 有两种升级策略  | 
减慢滚动升级速度
1  | # 用来测试查看观察升级过程  | 
修改镜像 触发滚动升级
1  | [root@k8s-master1 demo]# while true;do curl http://10.0.0.119;sleep 1; done  | 
更新 ConfigMap
1  | # 如果 deployment 中的pod 引用了1个 ConfigMap(或Secret)  | 
回滚 Deployment
1  | # 先创建一个错误版本 v3  | 
1  | # 升级 然后查看错误请求  | 
1  | # 回滚升级 到之前的版本  | 
控制滚动升级速率
1  | [root@k8s-master1 deployment]# kubectl edit deploy kubia  | 
暂停滚动升级 使用试探性发布
1  | # 假金丝雀发布  | 
1  | # 先做一个最新版本  | 
增加 就绪探针
1  | # 先全部回滚到v2版本  | 
滚动升级时限
1  | [root@k8s-master1 deployment]# kubectl edit deploy kubia  | 
取消出错版本的滚动升级
1  | # 直接回滚到上一版本  | 
