https://www.zhihu.com/question/53751176
单独的 mesos 本身是无法独立进行使用的,通常需要使用任务调度器来使用,比如现在流行的 marathon。 又因为 marathon 提供了容器任务的管理能力
https://github.com/mesosphere-backup/docker-containers/tree/master/mesos
docker 安装mesos 安装mesos-master docker pull mesosphere/mesos-master:1.7.0网络模式推荐host:Host networking (--net=host) is recommended
启动zookeeper:Launch Exhibitor (Zookeeper)
docker run -d --net=host netflixoss/exhibitor:1.5.2开发环境可以运行同一机器,生产环境需运行不同机器上。
https://www.docker.org.cn/thread/10166.html
Mesos-Master
docker 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.102MESOS_QUORUM:master节点数,(n/2)+1
ip+5050可以访问mesos的图形界面。
安装mesos-slave docker pull mesosphere/mesos-slave:1.7.0Mesos-Slave (1)
docker 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.101Mesos-Slave (2)
docker run -d --net=host --privileged --hostname=192.168.66.101 -e MESOS_PORT=5052 -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.101marathon
docker pull mesosphere/marathon:v1.5.2 docker run -d --net=host mesosphere/marathon:v1.5.2 --master zk://192.168.100.139:2181/mesos --zk zk://192.168.100.139:2181/marathonip+8080可以访问图形界面
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:8080ip+9090可以访问图形界面
application里label的HAPROXY_GROUP设置value为external,marathon-lb才能发现管理应用。