StatefulSet:主要面向有状态应用管理的控制器
1、每个Pod有Order序号,会按序号创建、删除、更新Pod
2、通过配置headless service,使每个Pod有⼀个唯⼀的⽹络标识(hostname)
3、通过配置pvc template,每个Pod有⼀块独享的pv存储盘
4、⽀持⼀定数量的灰度发布
Deployment 使用 ReplicaSet 来管理 Pod 的版本和所期望的 Pod 数量,但是在 StatefulSet 中,是由 StatefulSet Controller 来管理下属的 Pod,因此 StatefulSet 通过 Pod 的 label 来标识这个 Pod 所属的版本,这里叫 controller-revision-hash。
StatefulSet会创建管理的资源:
1、ControllerRevision:通过这个资源,StatefulSet可以很⽅便地管理不同版本的template模板
2、PVC:如果在StatefulSet中定义了volumeClaimTemplates,StatefulSet会在创建Pod之前,先根据这个模板创建PVC,并把PVC加到Pod volumes中。
3、Pod:StatefulSet按照顺序创建、删除、更新Pod,每个Pod有唯⼀的序号
更新镜像
Pod扩容
灰度发布
YAML创建字段解析
实践: