kubernetes资源控制器【二】- Deployment控制器

本文介绍了Kubernetes中的Deployment控制器如何声明式部署应用,支持滚动升级、回滚、版本管理和灰度发布策略。通过实例和配置展示了Deployment的使用和关键概念,如maxSurge和maxUnavailable在更新策略中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Deployment控制器

Deployment对象,顾名思义,是用于部署应用的对象。它使Kubernetes中最常用的一个对象,它为ReplicaSet和Pod的创建提供了一种声明式的定义方法,从而无需像前两篇文章中那样手动创建ReplicaSet和Pod对象(使用Deployment而不直接创建ReplicaSet是因为Deployment对象拥有许多ReplicaSet没有的特性,例如滚动升级和回滚)。

通过Deployment对象,你可以轻松的做到以下事情:

创建ReplicaSet和Pod
滚动升级(不停止旧服务的状态下升级)和回滚应用(将应用回滚到之前的版本)
平滑地扩容和缩容
暂停和继续Deployment
 

1.1 Deployment 的控制器,实际上控制的是 ReplicaSet 的数目,以及每个 ReplicaSet的属性。而一个应用的版本,对应的正是一个 ReplicaSet;这个版本应用的 Pod数量,则由 ReplicaSet 通过它自己的控制器(ReplicaSet Controller)来保证。

1.2 Deployment具备ReplicaSet的全部功能,同时还增添了部分特性。

  • 事件和状态查看:必要时可以查看Deployment对象升级的详细进度和状态。
  • 回滚:升级操作完成后发现问题时,支持使用回滚机制将应用返回到前一个或由用户指定的历史记录中的版本上。
  • 版本记录:对Deployment对象的每一次操作都予以保存,以供后续可能执行的回滚操作使用。
  • 暂停和启动:对于每一次升级,都能够随时暂停和启动。
  • 多种自动更新方案:一是Recreate,即重建更新机制,全面停止、删除旧有的Pod后用新版本替代;另一个是RollingUpdate,即滚动升级机制,逐步替换旧有的Pod至新的版本。

 1.3 创建Deployment除了控制器类型和名称之外,它与前面ReplicaSet控制器示例中的内容几乎没有什么不同

创建deployment资源ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值