【VMCloud云平台】拥抱Docker(八)Mesos入门
2016-11-18 16:17
561 查看
我们一直在说Docker是革命性的技术,那到底如何体现出它的革命性?就好像Hyper-V一样,单一的Hyper-V无非就是虚拟机,那如何利用System Center构造一套IaaS私有云就是重头戏了,而Docker,一个最适合作为PaaS的载体,要利用什么来构造它的重头戏呢?
今天开始,将以全新的视角来介绍Docker如何利用Mesos+Marathon来调度Docker,本篇涉及架构如下:
环境介绍:
以下配置全部在Master节点与Slave节点做:
1、 登录四台机子,在Hostname中配置如下信息:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/bff837ef822b1a901b9a4e6875340757.jpg)
2、 安装Docker(可以根据Docker安装篇进行安装)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/3dd96cb97c5a76599b3484d7849788f0.png)
3、 配置Docker:
sudo vi /lib/systemd/system/docker.service
修改ExecStart如下:
ExecStart=/usr/bin/docker daemon -H fd:// -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
4、 启动Docker与配置Docker 用户(Demo环境下使用root),然后进行重新加载:
sudo usermod -aG docker roo
systemctl daemon-reloadt
5、 安装Mesos Marathon Zookeeper;
sudo rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm sudo yum -y install mesos marathon
sudo yum -y install mesosphere-zookeeper
以下配置全部在Master做:
1、 配置Zookeeper:
sudo sh -c 'echo "server.1= MasterIP:2888:3888" >> /etc/zookeeper/conf/zoo.cfg'
sudo systemctl start zookeeper
sudo systemctl enable zookeeper
2、 配置Mesos Master:
sudo sh -c 'echo "zk://MasterIP:2181/mesos" > /etc/mesos/zk'
sudo sh -c 'echo " MasterIP" > /etc/mesos-master/hostname'
sudo systemctl restart mesos-master
sudo systemctl enable mesos-master
3、 配置Marathon:
sudo mkdir -p /etc/marathon/conf
sudo sh -c 'echo "zk:// MasterIP:2181/marathon" > /etc/marathon/conf/zk'
sudo sh -c 'echo "zk:// MasterIP:2181/mesos" > /etc/marathon/conf/master'
sudo sh -c 'echo " MasterIP" > /etc/marathon/conf/hostname'
sudo systemctl restart marathon
sudo systemctl enable marathon
以下配置全部在Slave做:
配置Mesos Slave:
sudo sh -c 'echo "zk://MasterIP:2181/mesos" > /etc/mesos/zk'
sudo sh -c 'echo "docker,mesos" > /etc/mesos-slave/containerizers'
sudo sh -c 'echo "3mins" > /etc/mesos-slave/executor_registration_timeout'
sudo sh -c 'echo "SlaveIP" > /etc/mesos-slave/hostname'
sudo systemctl restart mesos-slave
sudo systemctl enable mesos-slave
验证:
1、 在Slave节点上下载相关的Images(暂时拿consol/tomcat-7.0做实验):
docker pull consol/tomcat-7.0
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/0aa33176d6e64e684c2e9fccc7e25442.jpg)
2、 打开http://MasterIP:5050,检查Slave节点是否激活成功:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/ac5a9af0fc2f5f1f10a5d60ba0a87274.jpg)
3、 打开http://MasterIP:8080,点击Create Group:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/74b0d2953d621530bda9514d23cf63f6.jpg)
4、 进入刚刚创建的Group后,点击Create Application:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/c1a5b9b63c85e8a5f66b23b209aaefab.jpg)
5、 输入标识名称:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/bebafc83300465e67dd10b11818145b4.jpg)
6、 将第一步镜像的名字填入Docker Container:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/8fa9095d16e408e24f35b9e11caefad7.jpg)
7、 将Tomcat的Ports添加到映射的Container里,然后切到JSON Mode检查下配置是否正确:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/3d71a867fcf1c11eaae1c3782c17bdc3.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/55140c4093b51bb0aed3fed550897f4a.jpg)
8、 点击Create Application:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/42066ac80b9935921e6917bf50abe7ec.jpg)
这样就完成了Docker+Mesos+Marathon架构的搭建,最终效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/88950e9491f3264fac703cb3f9cffdd9.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/240d5a7bc7677dd1790cb3c022eb69a8.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/0cc5079ea94d39c5cd0949721e8214b6.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/4d27679c439551228a0ce70dd382d523.png)
今天开始,将以全新的视角来介绍Docker如何利用Mesos+Marathon来调度Docker,本篇涉及架构如下:
环境介绍:
HostName | IP | Role |
CVM01 | *.132 | Master |
CVM02 | *.21 | Docker Slave |
CVM03 | *.118 | Docker Slave |
CVM04 | *.10 | Docker Slave |
1、 登录四台机子,在Hostname中配置如下信息:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/bff837ef822b1a901b9a4e6875340757.jpg)
2、 安装Docker(可以根据Docker安装篇进行安装)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/3dd96cb97c5a76599b3484d7849788f0.png)
3、 配置Docker:
sudo vi /lib/systemd/system/docker.service
修改ExecStart如下:
ExecStart=/usr/bin/docker daemon -H fd:// -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
4、 启动Docker与配置Docker 用户(Demo环境下使用root),然后进行重新加载:
sudo usermod -aG docker roo
systemctl daemon-reloadt
5、 安装Mesos Marathon Zookeeper;
sudo rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm sudo yum -y install mesos marathon
sudo yum -y install mesosphere-zookeeper
以下配置全部在Master做:
1、 配置Zookeeper:
sudo sh -c 'echo "server.1= MasterIP:2888:3888" >> /etc/zookeeper/conf/zoo.cfg'
sudo systemctl start zookeeper
sudo systemctl enable zookeeper
2、 配置Mesos Master:
sudo sh -c 'echo "zk://MasterIP:2181/mesos" > /etc/mesos/zk'
sudo sh -c 'echo " MasterIP" > /etc/mesos-master/hostname'
sudo systemctl restart mesos-master
sudo systemctl enable mesos-master
3、 配置Marathon:
sudo mkdir -p /etc/marathon/conf
sudo sh -c 'echo "zk:// MasterIP:2181/marathon" > /etc/marathon/conf/zk'
sudo sh -c 'echo "zk:// MasterIP:2181/mesos" > /etc/marathon/conf/master'
sudo sh -c 'echo " MasterIP" > /etc/marathon/conf/hostname'
sudo systemctl restart marathon
sudo systemctl enable marathon
以下配置全部在Slave做:
配置Mesos Slave:
sudo sh -c 'echo "zk://MasterIP:2181/mesos" > /etc/mesos/zk'
sudo sh -c 'echo "docker,mesos" > /etc/mesos-slave/containerizers'
sudo sh -c 'echo "3mins" > /etc/mesos-slave/executor_registration_timeout'
sudo sh -c 'echo "SlaveIP" > /etc/mesos-slave/hostname'
sudo systemctl restart mesos-slave
sudo systemctl enable mesos-slave
验证:
1、 在Slave节点上下载相关的Images(暂时拿consol/tomcat-7.0做实验):
docker pull consol/tomcat-7.0
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/0aa33176d6e64e684c2e9fccc7e25442.jpg)
2、 打开http://MasterIP:5050,检查Slave节点是否激活成功:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/ac5a9af0fc2f5f1f10a5d60ba0a87274.jpg)
3、 打开http://MasterIP:8080,点击Create Group:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/74b0d2953d621530bda9514d23cf63f6.jpg)
4、 进入刚刚创建的Group后,点击Create Application:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/c1a5b9b63c85e8a5f66b23b209aaefab.jpg)
5、 输入标识名称:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/bebafc83300465e67dd10b11818145b4.jpg)
6、 将第一步镜像的名字填入Docker Container:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/8fa9095d16e408e24f35b9e11caefad7.jpg)
7、 将Tomcat的Ports添加到映射的Container里,然后切到JSON Mode检查下配置是否正确:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/3d71a867fcf1c11eaae1c3782c17bdc3.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/55140c4093b51bb0aed3fed550897f4a.jpg)
8、 点击Create Application:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/42066ac80b9935921e6917bf50abe7ec.jpg)
这样就完成了Docker+Mesos+Marathon架构的搭建,最终效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/88950e9491f3264fac703cb3f9cffdd9.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/240d5a7bc7677dd1790cb3c022eb69a8.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/0cc5079ea94d39c5cd0949721e8214b6.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/21/4d27679c439551228a0ce70dd382d523.png)
相关文章推荐
- 【VMCloud云平台】拥抱Docker(三)配置多个容器
- 【VMCloud云平台】拥抱Docker(四)定制属于自已的镜像
- 【VMCloud云平台】拥抱Docker(六)关于DockerFile(3)示例
- 【VMCloud云平台】拥抱Docker(五)Volume(2)
- 【VMCloud云平台】拥抱Docker(二)配置第一个容器
- 【VMCloud云平台】拥抱Docker(七)创建属于自已的Docker Registry
- 【VMCloud云平台】拥抱Docker(五)Volume(1)
- 【VMCloud云平台】拥抱Docker(六)关于DockerFile(2)
- 【VMCloud云平台】拥抱Docker(一)安装
- 【亲测】Marathon+Mesos+Zookeeper+Docker的多Master集群平台部署
- 基于Mesos和Docker的分布式计算平台
- 基于Mesos和Docker的分布式计算平台
- Bluemix平台一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群之二
- Mesos, Marathon, Docker 平台部署记录
- apache mesos入门(6)——自定义framework在mesos上运行docker
- Docker+Mesos+Marathon(弹性云平台)基础选型
- 基于Mesos和Docker的分布式计算平台
- 基于Mesos和Docker的分布式计算平台