加载中...

StatefulSet 是 Kubernetes 中用于管理有状态应用的工作负载 API 对象。与 Deployment 管理的无状态、可互换的副本不同,StatefulSet 中每个 Pod 都有固定的序号身份(如 mysql-0、mysql-1),重建后名称与存储保持不变。
StatefulSet 提供三项保证:稳定的网络标识——配合 Headless Service,每个 Pod 有固定 DNS 名称;稳定的持久存储——volumeClaimTemplates 为每个 Pod 自动创建专属 PVC,重建后仍挂载原数据卷;有序性——Pod 按序号依次创建、反序终止,便于满足主从选举等约束。
数据库(MySQL、PostgreSQL)、消息队列(Kafka)、分布式存储与协调服务(etcd、ZooKeeper、Elasticsearch)等需要固定身份和本地数据的系统,通常用 StatefulSet 部署。
StatefulSet 只解决“编排层面的稳定性”,不理解应用内部的主从关系、备份恢复等运维逻辑,复杂有状态系统在生产上往往进一步交给 Operator 管理。

登录 后参与讨论
暂无讨论,来发表第一条评论吧