继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

『高级篇』docker之Mesos集群环境搭建(24)

幕布斯6054654
关注TA
已关注
手记 1264
粉丝 219
获赞 1011

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『高级篇』docker之Mesos集群环境搭建(24)

这次开始动手操作,首先是Mesos的安装,怎么来安装Mesos。源码:https://github.com/limingios/msA-docker/mac
https://github.com/limingios/msA-docker/vagrant/Mesos

webp

官网

http://mesos.apache.org/  本身的安装是c++的,还需要c++进行编译才可以,所以安装感觉比较麻烦,对于安装麻烦的,首选想到的是什么老铁,去dockerhub里面看看,有没有docker的版本。

webp

webp

https://hub.docker.com/u/mesosphere/

webp

咱们应该使用的是单独的master 和单独的slave

webp

下载镜像

  • 拉取镜像

server01和server03

docker pull mesosphere/mesos-slave:1.7.0

webp

webp

server02

docker pull mesosphere/mesos-master:1.7.0

webp

  • hosts 创建zookeeper

zookeeper 启动

#!/bin/bashcur_dir=`pwd`
docker stop zookeeper
docker rm zookeeper
docker run --name zookeeper  --restart always -p 2181:2181  -d zookeeper:3.5

webp

  • server02 创建mesos-master

vi mesos.sh
#!/bin/bashdocker run -d --net=host \
  --hostname=192.168.66.102 \
  -e MESOS_PORT=5050 \
  -e MESOS_ZK=zk://192.168.100.139:2181/mesos \
  -e MESOS_QUORUM=1 \
  -e MESOS_REGISTRY=in_memory \
  -e MESOS_LOG_DIR=/var/log/mesos \
  -e MESOS_WORK_DIR=/var/tmp/mesos \
  -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \
  -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \
  mesosphere/mesos-master:1.7.0 --no-hostname_lookup --ip=192.168.66.102
sh mesos.sh

webp

webp

mesos-master 已经连接到了主机zookeeper。
测试连接地址:http://192.168.66.102:5050

webp

Frameworks 未关联,目前还不显示。

webp

Agents 下面的slave的展示

webp

  • server01

slave容器的创建

vi mesos-slave.sh
#!/bin/bashdocker run -d --net=host --privileged \
  --hostname=192.168.66.101 \
  -e MESOS_PORT=5051 \
  -e MESOS_MASTER=zk://192.168.100.139:2181/mesos \
  -e MESOS_SWITCH_USER=0 \
  -e MESOS_CONTAINERIZERS=docker,mesos \
  -e MESOS_LOG_DIR=/var/log/mesos \
  -e MESOS_WORK_DIR=/var/tmp/mesos \
  -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \
  -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /sys:/sys \
  -v /usr/bin/docker:/usr/local/bin/docker \
  mesosphere/mesos-slave:1.7.0 --no-systemd_enable_support \
  --no-hostname_lookup --ip=192.168.66.101

webp

webp

sh mesos.sh

webp

  • server03

slave容器的创建

vi mesos-slave.sh
#!/bin/bashdocker run -d --net=host --privileged \
  --hostname=192.168.66.103 \
  -e MESOS_PORT=5051 \
  -e MESOS_MASTER=zk://192.168.100.139:2181/mesos \
  -e MESOS_SWITCH_USER=0 \
  -e MESOS_CONTAINERIZERS=docker,mesos \
  -e MESOS_LOG_DIR=/var/log/mesos \
  -e MESOS_WORK_DIR=/var/tmp/mesos \
  -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \
  -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /sys:/sys \
  -v /usr/bin/docker:/usr/local/bin/docker \
  mesosphere/mesos-slave:1.7.0 --no-systemd_enable_support \
  --no-hostname_lookup --ip=192.168.66.103

webp

webp

webp

  • server02 安装marathon镜像

https://hub.docker.com/r/mesosphere/marathon
根据架构图来

 docker pull mesosphere/marathon:v1.5.12

webp

webp

vi marathon
#!/bin/bashdocker run -d --net=host \
  mesosphere/marathon:v1.5.2 \
  --master zk://192.168.100.139:2181/mesos \
  --zk zk://192.168.100.139:2181/marathon

webp

webp

网址:http://192.168.66.102:8080

webp

这个是base路径的问题,不影响。

webp

  • Host安装 marathon-lb

拉取镜像

docker pull mesosphere/marathon-lb:v1.12.3

webp

新建立一个shell 文件

#!/bin/bashdocker stop marathon-lb
docker rm marathon-lb
docker run -d -p 9090:9090 \
  -e PORTS=9090 \
  mesosphere/marathon-lb:v1.12.3 sse \
  --group external \
  --marathon http://192.168.66.102:8080

webp

marathon-lb 访问地址:http://localhost:9090/haproxy?stats

webp

marathon 功能

  • 新建application

while [ true ];do sleep 5;echo 'hello idig8.com';done

webp

  • 自动执行

webp

  • 查看mesos 和 Marathon的对比


    webp

webp

在mesos的Framework里面可以看到Marathon的Framework

webp

PS: 所有的服务已经搭建,完毕,下一步就把之前写的6个微服务部署到我们的Mesos集群里面哈哈!



作者:IT人故事会
链接:https://www.jianshu.com/p/cf0fd595b97f


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP