Deployment和Statefulset区别

Deployment

  • 适合场景
无状态的应用
  • 特点
1.pod之间没有顺序
2.所有pod共享存储
3.pod名字包含随机数字
4.service都有ClusterIP,可以负载均衡

StatefulSet

  • 适合场景
有状态的应用
  • 特点
1.部署、扩展、更新、删除都要有顺序
2.每个pod都有自己存储,所以都用volumeClaimTemplates,为每个pod都生成一个自己的存储,保存自己的状态
3.pod名字始终是固定的
4.service没有ClusterIP,是headlessservice,所以无法负载均衡,返回的都是pod名,所以pod名字都必须固定,StatefulSet在Headless Service的基础上又为StatefulSet控制的每个Pod副本创建了一个DNS域名:$(podname).(headless server name).namespace.svc.cluster.local

原文链接:https://zhuanlan.zhihu.com/p/248405724

你可能感兴趣的:(Deployment和Statefulset区别)