当前位置: 首页 > news >正文

k8s资源之StatefulSet

StatefulSet 是 Kubernetes 专为有状态应用设计的控制器,用于管理 Pod 的部署和扩缩容。它与 Deployment 的核心区别在于:为每个 Pod 分配固定的、持久的身份标识(名称、网络、存储),且 Pod 按顺序创建、更新、删除。

简单来说,如果你的应用(如数据库、消息队列)需要记住自己的“身份”和数据,那么 StatefulSet 就是你的首选。

与 Deployment 的核心区别

特性 Deployment(无状态) StatefulSet(有状态)
Pod 名称 随机后缀(如 nginx-7f979d9c6f-2x4z5 固定索引后缀(如 mysql-0mysql-1
存储卷 所有 Pod 共享 PVC 模板,卷与 Pod 解耦 每个 Pod 绑定独立 PVC(命名规则:PVC名称-状态集名称-索引
操作顺序 并行创建 / 删除 / 更新 串行有序(创建升序、删除降序)
网络标识 Pod IP 动态变化,无固定域名 固定 DNS 域名(基于 Headless Service)
适用场景 无状态服务(Nginx、Web 应用、API 服务) 有状态服务(数据库、中间件、分布式存储)

✨ StatefulSet 的三大核心特性

StatefulSet 的设计围绕着三个核心支柱,解决了有状态应用在分布式环境中的难题。

1. 稳定且唯一的网络标识

StatefulSet 中的每个 Pod 都会被分配一个固定的、从 0 开始的序号。Pod 的名称格式为 <statefulset-name>-<ordinal>,例如 mysql-0mysql-1

为了实现稳定的网络访问,StatefulSet 必须与一个 Headless Service(无头服务)配合使用。Headless Service 的 clusterIP 被设置为 None,它不会进行负载均衡,而是直接为每个 Pod 创建独立的 DNS 记录。

  • Pod DNS 格式: <pod-name>.<service-name>.<namespace>.svc.cluster.local
  • 示例: mysql-0.mysql.default.svc.cluster.local

这使得集群内的其他服务可以稳定地访问到特定的 Pod,这对于需要主从复制、分片等拓扑结构的数据库集群至关重要。

2. 稳定的持久化存储

StatefulSet 通过 volumeClaimTemplates 字段来管理存储。它的作用类似于 Pod 模板中的 volumes,但会为每一个 Pod 副本自动创建一个独立的 PersistentVolumeClaim (PVC)

  • PVC 命名: PVC 的名称与 Pod 的名称严格绑定,例如 data-mysql-0data-mysql-1
  • 数据持久性: 当 Pod 被删除或因故障重建时,K8s 会将其重新调度到健康的节点上,并自动复用之前绑定的 PVC。这意味着 Pod 重启后,其数据依然完好无损。

3. 有序的生命周期管理

StatefulSet 保证了 Pod 操作的顺序性,这对于有依赖关系的应用启动和关闭非常重要。

  • 有序部署: Pod 会按序号从小到大依次创建 (0 -> 1 -> 2)。只有当前一个 Pod 变为 RunningReady 状态后,才会创建下一个。
  • 有序终止: 在缩容或删除时,Pod 会按序号从大到小依次终止 (2 -> 1 -> 0)。
  • 有序更新: 在进行滚动更新时,StatefulSet 也会逐个、按顺序地更新 Pod。
http://www.jsqmd.com/news/604975/

相关文章:

  • 从一次线上事故复盘:我们如何用OWASP ZAP揪出jQuery遗留的AJAX CSRF漏洞
  • DVCon 2025 论文精华导读及下载链接
  • Arduino传感器线性映射封装库:模拟信号调理与缓存优化
  • 2026最新!5款亲测好用的录音转写在线神器,免费无套路,办公学习必备真香!
  • 2026温州本地正规黄金白银回收标杆名录 附选购避坑全指南 - 优质品牌商家
  • 揭秘Apollo框架C++内存泄漏:3步定位、2分钟修复,车载系统崩溃率直降92%
  • Anomaly Detection系列(CVPR2025 LASB论文解读)
  • Dify知识库如何实现多轮对话中的情感分析
  • Redis面试问题大全,看这些就够了(凭借这个oc网易,快手)
  • G-Helper华硕优化工具终极指南:3分钟释放笔记本全部潜力
  • 解锁论文新姿势:书匠策AI,你的毕业论文“智能导航仪”!
  • 《腾讯新闻商品详情页前端性能优化实战》
  • Si4703 FM收音芯片驱动开发与RDS解析实战
  • YOLO26改进 - 注意力机制 | CoordAttention坐标注意力:嵌入位置信息破解通道注意力局限,增强目标空间感知
  • Prometheus Operator介绍
  • 广汽一季度海外业务强劲增长,销量同比增长86%
  • 基于SpringBoot + Vue的教师听评课管理系统(角色:评课专家、教师、管理员)
  • 书匠策AI大揭秘:毕业论文的“智能魔法棒”,让学术之路畅通无阻!
  • # 数据库实体关系转换规则详细报告
  • 2026四川钙砂供应合规企业名录 附核心参数与联系方式 - 优质品牌商家
  • 考拉兹映射中不存在非平凡周期轨道
  • 2026届最火的十大降AI率平台推荐榜单
  • YOLOv11 改进 - 注意力机制 | MFCA频率通道注意力(Multi-Frequency Channel Attention):解决小目标特征信息少、易被噪声干扰的问题
  • 内存受限边缘节点编译失败?手把手复现并解决libc++符号膨胀、RTTI/EXCEPTION裁剪冲突(附可验证Patch)
  • 边缘AI终端部署卡在编译?揭秘C++轻量化编译的5个反直觉陷阱及3步绕过方案
  • SCH1633-D01 |Murata村田|汽车级|±300度的角速率六轴陀螺仪|惯性导航
  • 性能分析定界(OpenHarmony平台)指南
  • ai辅助开发:让快马智能生成win11安装openclaw的交互式诊断助手
  • 2026年大港东部哪家爵士舞培训学校口碑佳?
  • OpenCode 实用学习指南