你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

k8s中的deployment

2021/12/27 22:22:56

        Deployment是k8s中用来管理发布的控制器,在开发的过程中使用非常频繁,本篇文章主要介绍deployment相关的使用和原理。

  • 声明式API
  • 最终一致性
  • 水平触发
  • 资源对象
  • 。。。

一,Deployment的作用

  • 定义一组pod的期望数量,controller会维持Pod的数量和期望的一致(其实deployment是通过管理rs的状态来间接管理pod)
  • 配置Pod的发布方式,controller会按照给定的策略去更新pod资源,以此来保证更新过程中可用的pod数量和不可用的pod数量都在限定范围内。(MaxUnavailable以及MaxSurge字段)
  • 支持回滚操作,可记录多个前置版本(数量可通过配置设置revisionHistoryLimit)

 

二,主要字段说明

三, Deployment相关状态

 四,Deployment的控制流程

        ·同样也是通过inform对事件进行list&watch并调用相关的handle进行处理(其中关于Check Paused是对有关于一些Debugger模式下可以只同步replicas而不发布版本。) 

        而对应RS控制器则更加简单了,只对pod数量进行控制管理就行。相对而言,deployment更加复杂一些,同时能做的事情也更多。