---

title: Kubernetes StatefulSet 与 Headless Service 有状态部署实践

keywords: StatefulSet, Headless Service, volumeClaimTemplates, readinessProbe, clusterIP

None

description: 使用 StatefulSet 配合 Headless Service 部署有状态应用,持久卷模板与就绪/存活探针确保稳定运行。

tags:

  • Headless Service
  • Kubernetes
  • StatefulSet
  • clusterIP None
  • readinessProbe
  • volumeClaimTemplates
  • 云原生
  • 有状态

categories:

  • 文章资讯
  • 技术教程

---

Headless Service:

apiVersion: v1
kind: Service
metadata:
  name: db
  namespace: default
spec:
  clusterIP: None
  selector:
    app: db
  ports:
    - name: tcp
      port: 5432
      targetPort: 5432

StatefulSet:

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
          ports:
            - containerPort: 5432
          readinessProbe:
            tcpSocket:
              port: 5432
            initialDelaySeconds: 5
            periodSeconds: 10
          livenessProbe:
            tcpSocket:
              port: 5432
            initialDelaySeconds: 15
            periodSeconds: 20
          volumeMounts:
            - name: data
              mountPath: /var/lib/postgresql/data
  volumeClaimTemplates:
    - metadata:
        name: data
      spec:
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 10Gi

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部