使用statefulset的场景通常有以下特点:

  • 有状态服务。
  • 集群(多节点)部署。
  • 节点有主从(备)之分。 集群通常是主节点先运行,从节点后续运行并加入集群,这里就用statefulset资源的有序部署的特性。
  • 节点之间数据分片存储,这里使用到了statefulSet资源的存储隔离的特性,以及保证pod重新调度后还是能访问到相同的持久化数据。

注意

  • 需要v1.5以上才支持。
  • 所有pod的volume必须使用pv或者storageclass,需要事先创建好。
  • 为来保证数据安全,删除statefulset时不会删除pvc。
  • statefulset需要一个headless service,需要在statefulset之前创建好。

参考文章

1.StatefulSet在k8s的应用(Mysql)

2. StatefulSet在K8s的应用(Elastic Search)

3. 在K8S环境下用statefulset+headless service 搭建eureka集群 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐