CFN Cloud
Cloud Future New Life
en zh
2025-10-10 · 0 次浏览

StatefulSet 入门

为有状态应用提供稳定身份与存储。

StatefulSet 适合数据库、队列等有状态应用,核心是“稳定身份 + 稳定存储”。

典型特性

  • Pod 名称固定(如 mysql-0
  • 与 PVC 一一绑定
  • 可控制有序启动与滚动更新

核心片段

spec:
  serviceName: mysql
  replicas: 3
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
  volumeClaimTemplates:
    - metadata:
        name: data
      spec:
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 10Gi

小建议

  • 配合 Headless Service
  • 先单实例验证,再扩容

实操要点

  • 先做快速盘点:kubectl get nodeskubectl get pods -Akubectl get events -A
  • 对比“期望状态”和“实际状态”,kubectl describe 往往能解释漂移或失败原因。
  • 名称、Label、Selector 要一致,避免 Service 或控制器找不到 Pod。

快速检查清单

  • 资源定义与业务意图一致。
  • Namespace、权限、镜像与环境匹配。
  • 上线前具备健康探针与可观测日志。

参考链接