今天用单机试验配置了 Mesos + Marathon + Deimos + Docker 容器集群环境,目的是为以后的搭建轻量级别 PaaS 平台
先科普 Mesos,是 Apache 下的开源分布式资源管理框架,它被称为是分布式系统的内核。Mesos 最初是由加州大学伯克利分校的 AMPLab 开发的,后在 Twitter 得到广泛使用。 Marathon,是一个 mesos 框架,能够支持运行长服务,比如 web 应用等。是集群的分布式 Init.d,能够原样运行任何 Linux 二进制发布版本。 Deimos, 是一个为 Mesos 准备的 Docker 插件。使用 Docker 接口可以让 Mesos 批量管理 Docker 容器 Docker,是一个重新定义了程序开发测试、交付和部署过程的开放平台。Docker 也是容器技术的一种,它运行于 Linux 宿主机之上,每个运行的容器都是相互隔离的,也被称为轻量级虚拟技术或容器型虚拟技术。
搭建环境 Ubuntu 14.04 LTS (内核:Linux Kernel 3.15.8)
搭建步骤 1.APT-GET 更新
sudo apt-get update
2. 安装 Python 环境,包含 PIP,这里可以选择变更 PIP 的镜像,参考修改 PIP 的镜像地址 https://www.lidaren.com/archives/886
sudo apt-get install -y curl python-setuptools python-pip python-dev python-protobuf
3. 安装 Zookeeper
sudo apt-get install -y zookeeperd
// 配置 zookeeper 的 id
echo 1 | sudo dd of=/var/lib/zookeeper/myid
4. 安装 Docker Engine,需要注意一下的是,安装之前需要配置一下 Docker 官方镜像源 方法一, 参考https://docs.docker.com/engine/installation/linux/ubuntulinux/
sudo apt-get install -y docker.io
sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
方法二,推荐国内用户参考这个 http://get.daocloud.io/#install-docker
5. 安装 MESOS
curl -fL http://downloads.mesosphere.io/master/ubuntu/14.04/mesos\_0.19.0~ubuntu14.04%2B1\_amd64.deb -o /tmp/mesos.deb
sudo dpkg -i /tmp/mesos.deb
sudo mkdir -p /etc/mesos-master
echo in_memory | sudo dd of=/etc/mesos-master/registry
curl -fL http://downloads.mesosphere.io/master/ubuntu/14.04/mesos-0.19.0\_rc2-py2.7-linux-x86\_64.egg -o /tmp/mesos.egg
sudo easy_install /tmp/mesos.egg
MESPHERE 官方也提供了简单的安装方法 https://dcos.io/get-started/#marathon+centos
6. 安装 Marathon
curl -fL http://downloads.mesosphere.io/marathon/marathon\_0.5.0-xcon2\_noarch.deb -o /tmp/marathon.deb
sudo dpkg -i /tmp/marathon.deb
MESPHERE 官方安装参考上一步
7. 启动和初始化服务
sudo initctl reload-configuration
sudo start docker.io || sudo restart docker.io
sudo start zookeeper || sudo restart zookeeper
sudo start mesos-master || sudo restart mesos-master
sudo start mesos-slave || sudo restart mesos-slave
8. 安装和配置 Deimos,注意这里可能需要更换 PIP 安装源
sudo pip install deimos
9. 容器化 deimos
sudo mkdir -p /etc/mesos-slave
echo /usr/local/bin/deimos | sudo dd of=/etc/mesos-slave/containerizer_path
echo external | sudo dd of=/etc/mesos-slave/isolation
10. 重启 Marthon
sudo restart marathon
自此 Mesos + Marathon + Deimos + Docker 容器集群安装完成。