阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Mesos+Marathon管理Docker集群

239次阅读
没有评论

共计 5388 个字符,预计需要花费 14 分钟才能阅读完成。

服务器架构

主机名

IP

安装服务

mesos-master

192.168.56.7

 dockermesos-mastermesos-slavemarathonzookeeper

mesos-slave

192.168.56.8

dockermesos-slavezookeeper

系统环境

# uname -r

3.10.0-229.el7.x86_64

# cat  /etc/RedHat-release

CentOS Linuxrelease 7.1.1503 (Core)

配置hosts

# vim /etc/hosts

192.168.56.7 mesos-master

192.168.56.8 mesos-slave

安装docker

mesos-master

安装docker

[root@mesos-master~]# yum install -y docker

[root@mesos-master~]# systemctl enable docker

[root@mesos-master~]# systemctl start docker

创建 nginx 镜像

[root@mesos-master~]# docker pull nginx

mesos-slave

安装docker

[root@mesos-slave~]# yum install -y docker

[root@mesos-slave~]# systemctl enable docker

[root@mesos-slave~]# systemctl start docker

创建 nginx 镜像

[root@mesos-master~]# docker pull nginx

部署zookeeper

mesos-master

安装依赖

[root@mesos-master~]# yum install -y java-1.8.0-openjdk-devel java-1.8.0-openjdk

下载zookeeper

[root@mesos-master~]# mkdir /application

root@mesos-master~]# cd /application/

[root@mesos-masterapplication]# curl -O http://apache.fayea.com/zookeeper/stable/zookeeper-3.4.6.tar.gz

[root@mesos-masterapplication]# tar xf zookeeper-3.4.6.tar.gz

[root@mesos-masterapplication]# ln -s /application/zookeeper-3.4.6 /application/zookeeper

配置zookeeper

[root@mesos-masterapplication]# cd zookeeper/conf/

[root@mesos-masterconf]# grep -v “#” zoo_sample.cfg >zoo.cfg

[root@mesos-masterconf]# vim zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/application/zookeeper/data

clientPort=2181

server.1=192.168.56.7:2333:3222

server.2=192.168.56.8:2333:3222

[root@mesos-masterconf]# mkdir ../data

[root@mesos-masterconf]# echo 1 >../data/myid

[root@mesos-masterconf]# cd

启动zookeeper

[root@mesos-master~]# /application/zookeeper/bin/zkServer.sh start

JMX enabled bydefault

Using config:/application/zookeeper/bin/../conf/zoo.cfg

Startingzookeeper … STARTED

[root@mesos-master~]# /application/zookeeper/bin/zkServer.sh status

JMX enabled bydefault

Using config:/application/zookeeper/bin/../conf/zoo.cfg

Error contactingservice. It is probably not running.

**出现 Error 主要是由于 mesos-slave 没有启动

mesos-slave

安装依赖

[root@mesos-slave~]# yum install -y java-1.8.0-openjdk-devel java-1.8.0-openjdk

下载zookeeper

[root@mesos-slave~]# mkdir /application

[root@mesos-slave~]# cd /application/

[root@mesos-slaveapplication]# curl -O http://apache.fayea.com/zookeeper/stable/zookeeper-3.4.6.tar.gz

[root@mesos-slaveapplication]# tar xf zookeeper-3.4.6.tar.gz

[root@mesos-slaveapplication]# ln -s /application/zookeeper-3.4.6 /application/zookeeper

配置zookeeper

[root@mesos-slaveapplication]# cd zookeeper/conf/

[root@mesos-slaveconf]# grep -v “#” zoo_sample.cfg >zoo.cfg

[root@mesos-slaveconf]# vim zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/application/zookeeper/data

clientPort=2181

server.1=192.168.56.7:2333:3222

server.2=192.168.56.8:2333:3222

[root@mesos-slaveconf]# mkdir ../data

[root@mesos-slaveconf]# echo 2 >../data/myid

[root@mesos-slaveconf]# cd

启动zookeeper

[root@mesos-slave~]# /application/zookeeper/bin/zkServer.sh start

部署mesosmarathon

mesos-master

下载 mesosphere 仓库

[root@mesos-master~]# rpm -ivh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm

安装mesos marathon

[root@mesos-master~]# yum install -y mesos marathon

配置 marathon 使用 mesos 调用docker

[root@mesos-master~]# echo ‘docker,mesos’ >/etc/mesos-slave/containerizers

启动mesosmarathon

[root@mesos-master~]# systemctl enable mesos-master mesos-slave marathon

[root@mesos-master~]# systemctl start mesos-master mesos-slave marathon

mesos-slave

下载 mesosphere 仓库

[root@mesos-slave~]# rpm -ivh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm

安装mesos

[root@mesos-slave~]# yum install -y mesos

添加 zookeeper 配置

[root@mesos-slave~]# vim /etc/mesos/zk

zk://192.168.56.7:2181,192.168.56.8:2181/mesos

配置 marathon 使用 mesos 调用docker

[root@mesos-slave~]# echo ‘docker,mesos’ > /etc/mesos-slave/containerizers

启动mesos

[root@mesos-slave~]# systemctl enable mesos-slave

[root@mesos-slave ~]# systemctl startmesos-slave

检查 mesosmarathon

在浏览器中输入 http://192.168.56.7:5050 看到如下图,表示 mesos 安装成功

Mesos+Marathon 管理 Docker 集群

Mesos+Marathon 管理 Docker 集群

在浏览器中输入 http://192.168.56.7:8080 看到如下图,表示 marathon 安装成功

Mesos+Marathon 管理 Docker 集群

使用 marathon 调度 mesos 创建 docker 容器

编辑 json 文件

[root@mesos-master~]# vim nginx.json

{

  “id”:”nginx”,

  “cpus”:0.1,

  “mem”:10,

  “instances”: 1,

  “constraints”:[[“hostname”, “UNIQUE”,””]],

  “container”: {

    “type”:”DOCKER”,

    “docker”: {

    “image”: “nginx”,

    “network”: “BRIDGE”,

    “portMappings”: [

        {“containerPort”: 80,”hostPort”: 0,”servicePort”: 0, “protocol”:”tcp”}

      ]

    }

  }

}

调用json

[root@mesos-master ~]# curl -X POSThttp://192.168.56.7:8080/v2/apps-d @nginx.json -H “Content-type:application/json”

查看mesos

Mesos+Marathon 管理 Docker 集群

查看marathon

Mesos+Marathon 管理 Docker 集群

使用 docker 查看 

[root@mesos-slave~]# docker ps

CONTAINERID        IMAGE              COMMAND                  CREATED            STATUS              PORTS                            NAMES

5df80cefaee8        nginx              “nginx -g ‘daemonoff”  6 minutes ago      Up 6 minutes        443/tcp, 0.0.0.0:31125->80/tcp  mesos-8a9358e1-275d-46ec-ba5c-e57e0578f354-S1.071c4b7a-55d0-41f6-9259-077373fb8e18

如何利用 Mesos 与 Marathon 最大程度发掘 AWS 公有云潜能  http://www.linuxidc.com/Linux/2015-11/125406.htm

CentOS 7 测试 Marathon 启动 Docker 容器 http://www.linuxidc.com/Linux/2015-11/125032.htm

更多 Docker 相关教程见以下内容

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

Ubuntu 14.04 安装 Docker  http://www.linuxidc.com/linux/2014-08/105656.htm 

Ubuntu 使用 VNC 运行基于 Docker 的桌面系统  http://www.linuxidc.com/Linux/2015-08/121170.htm

阿里云 CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm 

Ubuntu 15.04 下安装 Docker  http://www.linuxidc.com/Linux/2015-07/120444.htm 

在 Ubuntu Trusty 14.04 (LTS) (64-bit)安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm 

在 Ubuntu 15.04 上如何安装 Docker 及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-02/128571.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5388字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中