--- title: Kubernetes StatefulSet 状态服务(Headless Service、存储与升级) keywords: - StatefulSet - Headless Service - PVC - 有序升级 - 状态服务 description: 设计与部署状态服务,使用 StatefulSet 与 Headless Service 进行持久存储与有序升级,并提供验证方法。 date: 2025-11-26 categories: - 文章资讯 - 技术教程 --- # Kubernetes StatefulSet 状态服务(Headless Service、存储与升级) ## 关键实践与参数 - Headless Service:`clusterIP: None` 提供稳定 DNS 名称(pod 名 + 服务)。 - 存储:按 `volumeClaimTemplates` 申请 PVC;不同副本独立存储。 - 升级策略:`podManagementPolicy` 与 `updateStrategy: RollingUpdate` 保证有序与就绪。 ## 配置示例 ```yaml 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: postgres image: postgres:16 volumeMounts: - name: data mountPath: /var/lib/postgresql/data volumeClaimTemplates: - metadata: { name: data } spec: accessModes: [ "ReadWriteOnce" ] resources: { requests: { storage: 100Gi } } ``` ## 验证方法 - 验证稳定 DNS 与副本有序启动与升级;数据持久性测试。 - 节点重启与故障演练;观察恢复与数据一致性。 - 监控存储延迟与容量,规划扩容与备份。 ## 注意事项 - 有状态服务需独立备份与恢复方案;避免数据丢失。 - PDB 与 HPA/VPA 协同,避免升级与扩缩冲突。 - 不同存储类的性能与可用性差异需评估。

发表评论 取消回复