概览与核心价值StatefulSet 为有状态应用提供有序部署、稳定网络标识与持久存储。通过 PVC 与 StorageClass 的组合,保障副本重建后的数据安全与服务连贯性。基本配置apiVersion: v1

kind: Service

metadata:

name: db

spec:

clusterIP: None

selector:

app: db

---

apiVersion: apps/v1

kind: StatefulSet

metadata:

name: db

spec:

serviceName: db

replicas: 3

selector:

matchLabels:

app: db

template:

metadata:

labels:

app: db

spec:

containers:

- name: db

image: postgres:15

ports:

- containerPort: 5432

volumeMounts:

- name: data

mountPath: /var/lib/postgresql/data

volumeClaimTemplates:

- metadata:

name: data

spec:

accessModes: ["ReadWriteOnce"]

resources:

requests:

storage: 20Gi

storageClassName: fast-ssd

滚动升级与有序管理有序扩缩容与滚动升级,确保副本按索引顺序处理使用 `partition` 参数进行分区发布以降低风险spec:

updateStrategy:

type: RollingUpdate

rollingUpdate:

partition: 1

参数与验证环境: Kubernetes v1.28。验证点:Headless Service 正确生成稳定 DNS 名称副本重建后数据保留在对应 PVC 中分区滚动升级期间服务可用性维持在预期阈值最佳实践为每个副本提供独立 PVC,避免数据竞争配置资源 requests 与 limits,确保调度与性能稳定根据介质能力选择合适的 StorageClass结论通过 StatefulSet 的有序管理与 PVC 持久化策略,可稳定承载有状态服务,发布与扩缩容更可控且可验证。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部