管理mesos+Marathon,实践
上一篇我们针对整个mesos+Marathon+zookeeper做了分布式的资源管理集群环境,现在我们来实际在上面跑几个服务试试
小注:我写的特别烂,可以加我们qq群一起讨论,一起学习 Mesos&Docker技术群 491137983
然后将我们的docker也在上面跑跑
也顺便将几个自己慢慢知道细点说一下
首先呢,我们这里是一个master连个slave,都跑起来,,
这个说一下,我们后续要针对docker所以,在启动slave时,我们得加个参数。。
还有很多参数,可以参考help
我这里是0.24版本,新版本25好像完了直接有个配置文件,而且默认都配置了。。。。。
启动完成,我们就做吧,再说一下,这个Marathon我感觉他跟这个docker有点类似,再启动服务时,它会见这个服务以守护方式运行,也就是以后端方式去运行,所以你的服务在制定启动命令是不能像平常启动哪一样,平常我们启动都是以守护模式也就是后端方式运行,要在Marathon上就会出错,它会一直报错,启动不了,,
这里Marathon它会一直去循环这个命令,如果是正在运行,那么它会保持运行状态。
这个是我们的Marathon的管理页,这几个选项,也挺好, id名,就是任务的名字,下面cpu,memory,都是我们可以给这任务自定义的资源,后面这个Instances,这个东西是规模,就是你的任务你准备起多少就在这里了,
下面是command 这里就是我们要填的命令,注意了,首先这里填的命令所有的slave都要支持。在这里我们可以利用命令去启动docker容器,
我之前启动过几个,是这样的
docker run -P mono
mono石静祥名。。就是这么简略。。。不能加-d。
在往下,我们看到有好几个大选项,好像专门有docker的,,哈哈,所以对我们来说好像就方便了,
试试
我们看多,这里参数是应有尽有啊,镜像名,网络,端口,卷。对我们来说更具人性化,更方便,所以我们利用这个来实现
我这有两个例子,看看
这里有两个正在运行的任务,一个是docker封装的mono环境任务,规模是3个。一个是正常的httpd服务
先看docker的,规模是2.
点击进入到里面,发现具体启动的实例,这个任务具体为我们起的规模,三个docker容器,再仔细看,你也会发现,这三个在两台不同的节点上,哈哈。因为它的运行,我们在mesos发现是运行在沙箱环境中的,所以隔离当中
点击sedbox,我们可以去看看它的日志
这里是他config的详细信息
我们继续看是怎么配置的这个任务
id名,资源,规模
下面是command,我们这个镜像是自己写的dockerfile,有自己的启动脚本,所以直接填写脚本名,后面run 就是一个模式
再下面就比较方便了,你从什么镜像启动,网络选择什么端口什么,。。。
好的,一切运行正常,客户端也测试过了,这就是docker初步的一个创建部署。。就这样吧,
接着看看平常服务的运行。那个httpd
现在我就简说了。
正常服务就只需在这里了。。我们很明显看到那个命令,,那个命令就是让httpd运行在前端,然后Marathon执行时就会将它放到后面,前面说过了。
可以看看日志
最后呢,客户端也测试正常。ok
接着也会继续走,希望我少睡一会。妈的