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

『高级篇』docker之Mesos微服务部署(26)

青春有我
关注TA
已关注
手记 1206
粉丝 205
获赞 1008

dockerhub的方式。源码:https://github.com/limingios/msA-docker mesos分支

webp

webp

HOST运行服务

  • 启动zookeeper

通过提供的源码shell脚本直接运行。

sh start.sh
  • 启动redis

sh start.sh
  • 启动mysql

sh start.sh

webp

  • 启动marathon-lb

sh start.sh

webp

webp

server01

编写的shell 脚本

#!/bin/bashdocker run -d --net=host --privileged \
  --hostname=192.168.66.101 \
  -e MESOS_PORT=5051 \
  -e MESOS_MASTER=zk://192.168.1.130: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
sh mesos-slave.sh

webp

server02

编写的shell 脚本 mesos.sh

!/bin/bash
docker run -d --net=host \
  --hostname=192.168.66.102 \
  -e MESOS_PORT=5050 \
  -e MESOS_ZK=zk://192.168.1.130: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

编写的shell 脚本 marathon.sh

#!/bin/bashdocker run -d --net=host \
  mesosphere/marathon:v1.5.12 \
  --master zk://192.168.1.130:2181/mesos \
  --zk zk://192.168.1.130:2181/marathon
sh mesos.sh
sh marathon.sh

webp

server03

编写的shell 脚本 marathon.sh

#!/bin/bashdocker run -d --net=host --privileged \
  --hostname=192.168.66.103 \
  -e MESOS_PORT=5051 \
  -e MESOS_MASTER=zk://192.168.1.130: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
sh mesos-slave.sh

webp

memsos配置微服务

我部署下,看我分配的内存和cpu就知道为什么叫微服务了

  • message-thrift-python-service 部署

0.1cpu和128Mb内存足够了。

webp

连接是hub.docker.com,上边说了内存太低了没办法启动那边多镜像。

webp

点击json mode 修改,其实就是修改json文件

webp

修改成画红色部分的内容,containerPort是应用内的端口,servicePort是marathon控制的端口(上一节统计过外部端口的数字)。

webp

  • user-thrift-service 部署

webp

webp

webp

  • user-edge-service 部署

webp

webp

跟上边一样修改端口


webp

  • course-dubbo-service 部署

webp

webp

webp

它不需要端口的映射,直接删除portMappings就可以了

webp

  • zhugeaming/course-edge-service 部署

webp



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


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