k8s statefulset控制器


k8s statefulset

1.1 简介

StatefulSet 是为了解决没有状态的服务的问题,Deployment和ReplicaSets是为无状态服务而设计,其应用场景包括:

  • 稳定的持久化存储,即Pod重新调度后还能访问到相同的持久化数据,基于PVC来实现
  • 稳定的网络标志,即Pod重新调度后,PodName和Hostname不变,基于Headless service(没有ClusterIP 的service)来实现
  • 有序部署,有序扩展,即Pod是有顺序的,在部署或者扩展的时候需要基于定义的顺序依次进行(即从0到N-1,在下一个Pod运行之前所有的Pod必须都是Running和Ready状态),基于init containers来实现
  • 有序收缩,有序删除(即从N-1到0)