Kubernetes & Deployment

Kubernetes & Deployment

Deployment是Kubernetes在1.2版本中引入的新概念,用于更好地解决Pod的编排问题。为此,Deployment在内部使用了Replica Set来实现目的,无论从Deployment的作用与目的、YAML定义,还是从它的具体命令行操作来看,我们都可以把它看作RC的一次升级,两者的相似度超过90%。

Deployment相对于RC的一个最大升级是我们可以随时知道当前Pod“部署”的进度。实际上由于一个Pod的创建、调度、绑定节点及在目标Node上启动对应的容器这一完整过程需要一定的时间,所以我们期待系统启动N个Pod副本的目标状态,实际上是一个连续变化的“部署过程”导致的最终状态。

Deployment的典型使用场景有以下几个:

  • ◎ 创建一个Deployment对象来生成对应的Replica Set并完成Pod副本的创建。
  • ◎ 检查Deployment的状态来看部署动作是否完成(Pod副本数量是否达到预期的值)。
  • ◎ 更新Deployment以创建新的Pod(比如镜像升级)。
  • ◎ 如果当前Deployment不稳定,则回滚到一个早先的Deployment版本。
  • ◎ 暂停Deployment以便于一次性修改多个PodTemplateSpec的配置项,之后再恢复Deployment,进行新的发布。
  • ◎ 扩展Deployment以应对高负载。
  • ◎ 查看Deployment的状态,以此作为发布是否成功的指标。
  • ◎ 清理不再需要的旧版本ReplicaSets
posted @ 2020-08-04 18:43  roverliang  阅读(156)  评论(0编辑  收藏  举报