关于在K8S发布项目StatefulSet和Deployment的区别
Deployment适合场景无状态的应用特点1.pod之间没有顺序2.所有pod共享存储3.pod名字包含随机数字4.service都有ClusterIP,可以负载均衡StatefulSet适合场景有状态的应用特点1.部署、扩展、更新、删除都要有顺序2.每个pod都有自己存储,所以都用volumeClaimTemplates,为每个pod都生成一个自己的存储,保存自己的状态3.pod名字始终是固定
·
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
更多推荐
已为社区贡献1条内容
所有评论(0)