本章将介绍Deployment
如何为Kubernetes
带来自愈、扩缩容、滚动升级以及基于版本的回滚等能力。
本章将分为如下内容。
Deployment
原理。- 如何创建一个
Deployment
。 - 如何进行滚动升级。
- 如何进行回滚。
5.1 Deployment
原理
这要从应用的源码说起。应用程序源码被编译打包为容器,并被装入一个Pod中在Kubernetes
运行。不过,Pod
没有自愈能力,不能扩缩容,也不支持方便的升级和回滚。而Deployment
可以。因此,建议绝大多数情况下采用Deployment
来部署Pod。
图5.1是Deployment
管理Pod的示意图。
需要强调的是,一个Deployment
对象只能管理一个Pod模板。例如,如果一个应用有两个Pod
模板——前端(front-end