StatefulSets 是 Kubernetes 中用于管理有状态服务的资源对象。它们保证了每个 Pod 在集群中都是唯一的,并且具有持久化存储。

主要特点

  • 持久化存储:StatefulSets 为每个 Pod 提供了稳定的存储卷,即使 Pod 被删除,存储卷的数据也不会丢失。
  • 稳定的网络标识符:每个 Pod 都有一个稳定的网络标识符,即使 Pod 被删除,其网络标识符也不会改变。
  • 有序部署、扩展和删除:StatefulSets 的 Pod 会按照顺序部署、扩展和删除,确保服务的稳定性。

使用场景

  • 数据库:如 MySQL、PostgreSQL 等。
  • 缓存:如 Redis、Memcached 等。
  • 其他有状态应用

示例

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: example
spec:
  serviceName: "example-service"
  replicas: 3
  selector:
    matchLabels:
      app: example
  template:
    metadata:
      labels:
        app: example
    spec:
      containers:
      - name: example-container
        image: example-image
        ports:
        - containerPort: 80

扩展阅读

StatefulSets 官方文档

StatefulSet 示例


抱歉,您的请求不符合要求。