两个月前,在组内开始推进docker。由团队的一个小兄弟做主力,专攻docker的使用和生态环境的研究,并且以我们组维护的管理系统为切入点,
搭建一个docker平台,首先移植我们的管理系统。
在开始研究的时候,有两个方案的选择一个是Google的k8s,另外一个是mesos + marathon。
在youtube上观看了不少关于k8s的视频,本来打算用k8s的。但是由于k8s搭建比较麻烦【其实已经在测试环境搭起来了】,所以先考虑用mesos + marathon。
我们的服务器环境是centos 7.1。所以直接使用的yum install mesos 来安装mesos的。
我们的服务发现用的是一个开源项目 Bamboo,默认集成haproxy。我们正打算重新编译Bamboo源代码,打算采用nginx。
haproxy 支持4层和7层负载。
目前在做迁移的时候,我们只是迁移了管理系统,我们的接口服务虽然已经迁移进docker,但是并未对外开放。我们想进一步进行四层负载性能测试,看看效果。
下一步:
打算写marathon plugin,比如marathon发现任务down了自动重启的时候,会发送报警信息等等需求。
PS:
MESOS的另外一个作用,用来替代那些check_process_exsit_if_not_then_restart的crontab 任务。
我们的java程序都是写好脚本,用marathon来执行,这样能保证,我们的程序如果一旦被操作系统kill,能顺利重启。
我们测试了一下效果,几乎是秒级的重启。