今天用單機試驗配置了 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 容器集群安裝完成。