生产环境下多依赖顺序项目该如何部署

来源:12-9 监控落地 - 指标完善、Grafana看板和邮件报警(下)

慕标5630044

2019-12-07

老师你好,一般的企业生产环境中有依赖关系的各个项目如何管理,用哪种方式部署?
比如一个spring cloud项目,项目结构如下
图片描述

其中几个服务有启动先后顺序,这种情况该怎么部署?用statefuleset 加上storageclass吗?我看statefulset里面针对的是同一个服务的多副本启动顺序,不知道我理解的对不对,望老师指点。感激不尽!

写回答

2回答

慕标5630044

提问者

2019-12-08

那么deployment方式可以结合storageclass和NFS做自动分配pvc pv吗

0
0

刘果国

2019-12-08

statefulset不适合这种场景,像你说的它是对同一个服务的多个副本的顺序控制。我觉得有几种方案:

1、改代码,把严格的依赖去掉。这也是最好的方式,服务启动没有严格先后,比如web依赖一个dubbo,web启动会报错,不可用,但dubbo起来后就自动恢复可用状态。这就是没有严格依赖。单独走自己的deploy就没问题

2、通过initcontainer处理依赖。对其他服务有严格依赖的服务可以加一个initcontainer,在initcontainer中做依赖容器的检查,只有当检查到依赖的所有服务都可用了才完成init工作。

3、通过自定义kubernetes-operator来管理,完全在程序上控制,需要一定的开发能力

0
2
刘果国
回复
慕标5630044
当然可以呀
2019-12-09
共2条回复

Kubernetes生产落地全程实践

一个互联网公司落地Kubernetes全过程点点滴滴

2293 学习 · 2211 问题

查看课程