概述StatefulSet 为有状态工作负载提供稳定标识与有序部署。本文给出 Headless Service 与持久化卷的配置要点,以及更新与容灾策略与验证流程。标识与网络(已验证)稳定 Pod 名称与有序滚动(`pod-0/pod-1`);Headless Service:提供稳定 DNS(`pod-0.service.ns.svc`)。存储与持久化PVC 与 StorageClass:为每个 Pod 绑定独立卷;选择合适的存储(块/文件)与访问模式(`ReadWriteOnce`)。更新与可用性滚动更新策略:有序停止与启动;PDB:保证在升级或故障时最小可用副本;Anti-Affinity:跨节点分布降低同节点风险。就绪与探针Readiness 与 Liveness:确保流量只打到可用实例;示例(片段)apiVersion: apps/v1 kind: StatefulSet metadata: { name: db } spec: serviceName: db-headless replicas: 3 selector: { matchLabels: { app: db } } template: metadata: { labels: { app: db } } spec: containers: - name: db image: postgres:16 volumeMounts: [ { name: data, mountPath: /var/lib/postgresql/data } ] volumeClaimTemplates: - metadata: { name: data } spec: accessModes: [ "ReadWriteOnce" ] resources: { requests: { storage: 100Gi } } 验证与监控指标:副本可用率、滚动耗时、卷绑定状态;演练:节点故障与重调度、卷恢复与数据一致性;常见误区使用共享卷导致写冲突;无 PDB 导致升级期间全部驱逐;缺少就绪探针导致流量打到未初始化实例。结语以稳定标识与独立存储为基础,结合 PDB 与就绪探针,并以滚动与演练验证,StatefulSet 能可靠地承载有状态应用。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.928203s