[TOC] # 介绍 * StatefulSets(有状态系统服务设计)是PetSets的替代品 * StatefulSets特性 * 稳定性:唯一的网络标识符 * 持久化:持久化存储 * 有序扩展和部署 * 有序的删除和终止 * 有序的自动滚动更新 * 使用StatefulSet的Pod必须基于请求storeage class的PersistentVolume Provisioner或者提前配置 * 删除或者缩放StatefulSet不会删除关联的Volume * 需要Headless Service负载Pods的网络一致性 * 不可将StatefulSet的pod.Spec.TerminationGracePeriodSeconds设置为0 * 部署和扩展 * 对于具有N个副本的StatefulSet,当部署Pod时,将会顺序从{0..N-1}开始创建 * 删除Pods时,将会从{N-1..0}的顺序终止 * 对Pod扩展时,前面的Pod必须为Running和Ready状态 * 缩放时,它的所有前辈必须是Runnign和Ready状态 * 终止Pod前,所有的successors必须完全关闭