learning/k8s-intermediate/workload/wl-statefulset/index.md
<AdSenseTitle/>参考文档: Kubernetes 文档 StatefulSets
StatefulSet 顾名思义,用于管理 Stateful(有状态)的应用程序。
StatefulSet 管理 Pod 时,确保其 Pod 有一个按顺序增长的 ID。
与 Deployment 相似,StatefulSet 基于一个 Pod 模板管理其 Pod。与 Deployment 最大的不同在于 StatefulSet 始终将一系列不变的名字分配给其 Pod。这些 Pod 从同一个模板创建,但是并不能相互替换:每个 Pod 都对应一个特有的持久化存储标识。
同其他所有控制器一样,StatefulSet 也使用相同的模式运作:用户在 StatefulSet 中定义自己期望的结果,StatefulSet 控制器执行需要的操作,以使得该结果被达成。
对于有如下要求的应用程序,StatefulSet 非常适用:
如果一个应用程序不需要稳定的网络标识,或者不需要按顺序部署、删除、增加副本,您应该考虑使用 Deployment 这类无状态(stateless)的控制器。