| 稳定标识 | pod 名固定为 <sts>-0/<sts>-1,重建后名字不变 |
|---|---|
| 稳定存储 | volumeClaimTemplates 为每个 Pod 生成独立 PVC |
| 顺序控制 | 默认 OrderedReady 串行建删;podManagementPolicy: Parallel 可并行 |
| DNS | 需配 serviceName 指向 Headless Service |
| 扩缩容 | 缩容按序号从大到小删除;数据卷默认保留 |
StatefulSet 示例
StatefulSet 示例
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: mysql
image: mysql:8.0
volumeMounts:
- name: data
mountPath: /var/lib/mysql
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 50Gi
删 StatefulSet 不会自动删 PVC:数据默认保留,这是特性也是『空间为什么没释放』的答案。