• 博客访问: 806952
  • 博文数量: 239
  • 用 户 组: 普通用户
  • 注册时间: 2013-02-05 14:37
  • 认证徽章:
个人简介

走路 行心 修缘(需要交流的请加我的QQ 273936024)

文章分类

全部博文(239)

文章存档

2018年(49)

2017年(63)

2016年(39)

2015年(20)

2014年(29)

2013年(39)

分类: Docker/K8

2018-05-14 15:18:53

一:Deployment的升级
举例:

点击(此处)折叠或打开

  1. apiVersion: apps/v1beta1
  2. kind: Deployment
  3. metadata:
  4.   name: nginx-deployment
  5. spec:
  6.   replicas: 3
  7.   template:
  8.     metadata:
  9.       labels:
  10.         app: nginx
  11.     spec:
  12.       containers:
  13.       - name: nginx
  14.         images: nginx:1.7.9
  15.         ports:
  16.         - containerPort: 80
1.通过kubectl set image命令为Deployment设置新的镜像名称
kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1

2.使用kubectl edit命令修改Deployment的配置 将spec.template.spec.containers[0].images 从nginx:1.7.9 更改为1.9.1; 保存退出后,kubernetes会自动升级镜像。

3.通过kubectl rollout status 可以查看deployment的更新过程

在Deployment的定义中,可以通过spec.strategy指定Pod更新的策略:

1.Recreate(重建): 设置spec.strategy.type=Recreate,表示Deployment在更新Pod时,会先杀掉所有正在运行的Pod,然后创建新的Pod.

2.RollingUpdate(滚动更新):以滚动更新的方式来逐个更新Pod,可以通过设置spec.strategy.rollingUpdate下的两个参数(maxUnavailable和maxSurge)来控制滚动更新的过程。

通常来说,不鼓励更新Deployment的标签选择器,因为这样会导致Deployment选择的Pod列表发生变化,也可能与其它控制器产生冲突。

:Deployment的回滚

所有Deployment的发布历史记录都保留在系统中,如果要进行回滚:

1. 用kubectl rollout history命令检查这个Deployment部署的历史记录

2.用kubectl rollout undo deployment/nginx-deployment 撤销本次发布回滚到上一个部署版本

3.用kubectl rollout undo deployment/nginx-deployment --to-revision=2 回滚到指定版本

三:暂停和恢复Deployment的部署操作,以完成复杂的修改

对应一次复杂的Deployment配置修改,为了避免频繁触发Deployment的更新操作,可以暂停Deployment的更新操作,然后进行配置修改,再回复Deployment.一次性触发完整的更新操作。

使用命令:kubectl rollout pause deployment/nginx-deployment

四:使用kubectl rolling-update命令完成RC的滚动升级

对应RC的滚动升级,Kubernetes还提供了一个kubectl rolling-update 命令进行实现。该命令创建一个新的RC,然后自动控制旧的RC中的副本数量逐渐减少到0,同时新的RC中的Pod副本的数量从0逐步增加到目标值,来完成Pod的升级。 需要注意的是新旧RC要再同一个命名空间内。

五:其它管理对象的更新策略
1.DaemonSet的更新策略
a.OnDelete:  默认配置。只有旧的Pod被用户手动删除后,才触发新建操作。
b.RollingUpdate: 就版本的Pod将被自动杀掉,然后自动创建新版本的DaemonSet Pod.

2.StatefulSet的更新策略
StatefulSet的更新策略正逐渐向Deployment和DaemonSet的更新策略看齐。
阅读(109) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册