生产环境下多依赖顺序项目该如何部署
来源:12-9 监控落地 - 指标完善、Grafana看板和邮件报警(下)

慕标5630044
2019-12-07
老师你好,一般的企业生产环境中有依赖关系的各个项目如何管理,用哪种方式部署?
比如一个spring cloud项目,项目结构如下
其中几个服务有启动先后顺序,这种情况该怎么部署?用statefuleset 加上storageclass吗?我看statefulset里面针对的是同一个服务的多副本启动顺序,不知道我理解的对不对,望老师指点。感激不尽!
写回答
2回答
-
慕标5630044
提问者
2019-12-08
那么deployment方式可以结合storageclass和NFS做自动分配pvc pv吗
00 -
刘果国
2019-12-08
statefulset不适合这种场景,像你说的它是对同一个服务的多个副本的顺序控制。我觉得有几种方案:
1、改代码,把严格的依赖去掉。这也是最好的方式,服务启动没有严格先后,比如web依赖一个dubbo,web启动会报错,不可用,但dubbo起来后就自动恢复可用状态。这就是没有严格依赖。单独走自己的deploy就没问题
2、通过initcontainer处理依赖。对其他服务有严格依赖的服务可以加一个initcontainer,在initcontainer中做依赖容器的检查,只有当检查到依赖的所有服务都可用了才完成init工作。
3、通过自定义kubernetes-operator来管理,完全在程序上控制,需要一定的开发能力
022019-12-09