Kubernetes和Mesos有啥区别:
https://www.zhihu.com/question/53751176
单独的 mesos 本身是无法独立进行使用的,通常需要使用任务调度器来使用,比如现在流行的 marathon。 又因为 marathon 提供了容器任务的管理能力
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.102
MESOS_QUORUM:master节点数,(n/2)+1
ip+5050可以访问mesos的图形界面。
安装mesos-slave
docker pull mesosphere/mesos-slave:1.7.0
Mesos-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.101
Mesos-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.101
marathon
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/marathon
ip+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:8080
ip+9090可以访问图形界面
application里label的HAPROXY_GROUP设置value为external,marathon-lb才能发现管理应用。