请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于statefulset

老师你好,statefulset和deployment都是用来创建pod的,为什么中间件这一个服务使用的是statefulset?既然都是通过创建pod给用户提供服务,那么这两个是不是有些冗余了

正在回答

1回答

Cap 2023-04-01 10:45:50

虽然 StatefulSet 和 Deployment 都是用来创建和管理 Kubernetes 中的 Pod,但它们之间存在一些关键差异,这使得它们在不同的场景下有各自的适用性。


Deployment:Deployment 适用于无状态的应用程序。它主要关注于应用程序的伸缩性、负载均衡和故障恢复。Deployment 可以确保在集群中始终运行指定数量的 Pod 副本。它们之间互相替换,因为它们没有持久化的存储。因此,对于那些不需要关注 Pod 实例之间状态的应用程序,Deployment 是一个很好的选择。


StatefulSet:StatefulSet 适用于有状态的应用程序,例如数据库和分布式存储系统。它确保在集群中运行特定数量的 Pod,并为每个 Pod 分配一个独特且持久的名称(如 app-0、app-1 等)。这个名称在 Pod 重新调度时保持不变,这对于有状态应用程序非常重要,因为它们需要知道哪个节点具有哪些数据。StatefulSet 还可以确保在升级或缩放时,Pod 按照顺序进行操作。


1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号