举个例子,如果你更新了 Deployment 的 Pod 模板(比如,修改了容器的镜像),那么
Deployment 就需要遵循一种叫作“滚动更新”(rolling update)的方式,来升级现有的
容器。
而这个能力的实现,依赖的是 Kubernetes 项目中的一个非常重要的概念(API 对象):
ReplicaSet。
ReplicaSet 的结构非常简单,我们可以通过这个 YAML 文件查看一下:
从这个 YAML 文件中,我们可以看到,一个 ReplicaSet 对象,其实就是由副本数目的定
义和一个 Pod 模板组成的。不难发现,它的定义其实是 Deployment 的一个子集。
更重要的是,Deployment 控制器实际操纵的,正是这样的 ReplicaSet 对象,而不是
Pod 对象。
还记不记得我在上一篇文章《编排其实很简单:谈谈“控制器”模型》中曾经提出过这样一
个问题:对于一个 Deployment 所管理的 Pod,它的 ownerReference 是谁?
文档被以下合辑收录
评论