前言痛点绝大多数新手仅会使用 Deployment 部署无状态 Pod,Deployment 适合可以随意重启、漂移、随时重建的业务服务。 但是 MySQL、Redis‑Cluster、Elasticsearch、Kafka 等数据库与中间件属于有状态服务:存在固定存储、节点身份、主机名、主从关系、数据副本顺序。 直接采用 Deployment 部署有状态组件,会碰到下面常见线上故障:Pod 重启之后 IP 随机变动,主从集群连接错乱磁盘存储随机绑定,数据漂移丢失副本启停顺序混乱,集群初始化失败扩容缩容时节点次序失控,副本同步崩溃本篇从底层特性、实操配置、生产规范、故障排查完整讲解 StatefulSet 企业级落地。一、StatefulSet 核心底层特性稳定的 Pod 主机名:格式sts名称‑序号,例如 mysql‑sts‑0、mysql‑sts‑1,主机名永久固定有序部署、有序扩容缩容:从 0 号依次启动;销毁时从最大序号往回收独立持久化 PVC:每一个 Pod 绑定专属 PVC,Pod 删除之后存储卷不会自动回收,数据永久留存稳定网络标识:搭配 Headless‑Service,不需要集群虚拟 IP,依靠 DNS 域名访问每一个实例Deployment:一次性批量创建 Pod,所有实例无差别; StatefulSet:带编号、顺序、专属存储、固定身份的实例集合。