应用容器化改造难点之:如何选择部署模板,是Deployment还是Statefulset?

参与9

3同行回答

dean25dean25课题专家组软件架构设计师民生银行
K8S推荐的是实用无状态的Deployment部署应用,但在实际使用中,会发现除了应用做到无状态,还需要应用没有持久化存储的需求,才合适使用Deployment。一旦有数据存储的需求,比如要写入日志到PVC,由于Deployment只能共享PVC,所以就需要应用层面对不同Pod的日志目录或文件作出区分,才不...显示全部

K8S推荐的是实用无状态的Deployment部署应用,但在实际使用中,会发现除了应用做到无状态,还需要应用没有持久化存储的需求,才合适使用Deployment。一旦有数据存储的需求,比如要写入日志到PVC,由于Deployment只能共享PVC,所以就需要应用层面对不同Pod的日志目录或文件作出区分,才不会发生冲突。使用共享PVC被证明一旦共享PVC出现故障,会导致所有Pod不可用,所以对于核心应用,要慎重使用共享PVC。如果一定要用PVC,其实无状态应用也可以使用StatefulSet,每个Pod有专用的PVC,可靠性比共享PVC要高。只需要给Statefulset前面加上一个service(headless service除外)即可。

收起
银行 · 2019-06-21
浏览1676
狄俄尼索斯狄俄尼索斯软件架构设计师UProject
Deployment适用于无状态应用的,Statefulset是有状态应用,场景不一样。你应当把问题改成:是使用K8S基础模板,还是使用Helm?显示全部

Deployment适用于无状态应用的,Statefulset是有状态应用,场景不一样。
你应当把问题改成:是使用K8S基础模板,还是使用Helm?

收起
互联网服务 · 2019-07-20
浏览1462
liufengyiliufengyi软件架构设计师某车企
看什么样的场景了,如果不需要固定的网络标识,启动顺序,Deployment是比较好的显示全部

看什么样的场景了,如果不需要固定的网络标识,启动顺序,Deployment是比较好的

收起
互联网服务 · 2019-06-17
浏览1567

问题来自

相关问题

相关资料

问题状态

  • 发布时间:2019-06-17
  • 关注会员:4 人
  • 问题浏览:2851
  • 最近回答:2019-07-20
  • X社区推广