https://zhuanlan.zhihu.com/p/191191906
Kubernetes最核心的功能就是编排,而编排操作都是依靠控制器对象来完成的,高级的控制器对象控制基础的控制器对象,基础的控制器对象再去控制Pod,Pod里面再包容器。Kubernetes项目里API对象的层级结构大概就是这样。前面的文章已经介绍了Pod概念和使用方法,今天我们来介绍管理Pod的最基础的一个控制器ReplicaSet。
光从ReplicaSet这个控制器的名字(副本集)也能想到它是用来控制副本数量的,这里的每一个副本就是一个Pod。ReplicaSet它是用来确保我们有指定数量的Pod副本正在运行的Kubernetes控制器,意在保证系统当前正在运行的Pod数等于期望状态里指定的Pod数目。
一般来说,Kubernetes建议使用Deployment控制器而不是直接使用ReplicaSet,Deployment是一个管理ReplicaSet并提供Pod声明式更新、应用的版本管理以及许多其他功能的更高级的控制器。所以Deployment控制器不直接管理Pod对象,而是由 Deployment 管理ReplicaSet,再由ReplicaSet负责管理Pod对象。
明白了这个逻辑后就明白为什么要在学习Deployment前先来了解ReplicaSet这个控制器对象了。