成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

docker 必備 — marathon 基礎(chǔ)教程

羅志環(huán) / 2499人閱讀

摘要:基本概念采用與相同的機(jī)制,只是運(yùn)行在不同的抽象層次上。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括配置維護(hù)名字服務(wù)分布式同步組服務(wù)等。它是集群的分布式,能夠原樣運(yùn)行任何二進(jìn)制發(fā)布版本,如等等。部署為了部署的方便全部使用部署。

筋斗云    豈安運(yùn)維工程師

愛游泳、愛旅行、愛計(jì)算機(jī)。

前言

目前越來越多的互聯(lián)網(wǎng)企業(yè)開始使用 docker,在這之前,虛擬機(jī)占據(jù)著大部分的企業(yè)市場,但是隨著 docker 部署的增多,也發(fā)現(xiàn)了一些單純使用 docker 的弊端。例如命令行操作比較繁瑣,需要記的參數(shù)較多,在此介紹一個(gè)好用的解決這些弊端的工具—— Marathon。

基本概念

Mesos:Mesos 采用與 Linux Kernel 相同的機(jī)制,只是運(yùn)行在不同的抽象層次上。Mesos Kernel 利用資源管理和調(diào)度的 API 在整個(gè)數(shù)據(jù)中心或云環(huán)境中運(yùn)行和提供引用(例如, Hadoop、 Spark、Kafaka、Elastic Search)。

ZooKeeper:ZooKeeper 是一個(gè)分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是 Google的Chubby 一個(gè)開源的實(shí)現(xiàn),是 Hadoop 和 HBase 的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、名字服務(wù)、分布式同步、組服務(wù)等。

Marathon:Marathon 是一個(gè) Mesos 框架,能夠支持運(yùn)行長服務(wù),比如 Web 應(yīng)用等。它是集群的分布式 Init.d,能夠原樣運(yùn)行任何 Linux 二進(jìn)制發(fā)布版本,如 Tomcat、Play 等等。它也是一種私有的 PaSS,實(shí)現(xiàn)服務(wù)的發(fā)現(xiàn),為部署提供提供 REST API 服務(wù),有授權(quán)和 SSL、配置約束,通過 HAProxy 實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和負(fù)載平衡。

部署

為了部署的方便 全部使用 docker 部署。

master搭建

三臺(tái) mesos master 服務(wù)器
ip地址分別是 10.100.0.21,10.100.0.22,10.100.0.23
需要在master上分別部署 mesos mater , zookeeper , marathon

需要在10.100.0.21 上執(zhí)行下列命令 :

marathon

docker run -d -e MARATHON_HOSTNAME=10.100.0.21 -e MARATHON_HTTPS_ADDRESS=10.100.0.21 -e MARATHON_HTTP_ADDRESS=10.100.0.21 -e MARATHON_MASTER=zk://10.100.0.22:2181,10.100.0.23:2181,10.100.0.21:2
181/mesos -e MARATHON_ZK=zk://10.100.0.22:2181,10.100.0.23:2181,10.100.0.21:2181/marathon --name marathon --net host --restart=always mesoscloud/marathon

mesos-master

HOST_IP=10.100.0.21
 docker run -d --name mesos-master1 --net="host" -p 5050:5050    -e "MESOS_HOSTNAME=${HOST_IP}"   -e "MESOS_IP=${HOST_IP}"   -e "MESOS_ZK=zk://${HOST_IP}:2181/mesos"   -e "MESOS_PORT=5050"   -e
"MESOS_LOG_DIR=/var/log/mesos"   -e "MESOS_QUORUM=1"   -e "MESOS_REGISTRY=in_memory"   -e "MESOS_WORK_DIR=/var/lib/mesos"   mesoscloud/mesos-master

zookeeper

docker run -d -e MYID=1 -e SERVERS=10.100.0.21,10.100.0.22,10.100.0.23 --name zookeeper --restart=always --net=host  mesoscloud/zookeeper

需要在10.100.0.22 上執(zhí)行下列命令

marathon

docker run -d -e MARATHON_HOSTNAME=10.100.0.22 -e MARATHON_HTTPS_ADDRESS=10.100.0.22 -e MARATHON_HTTP_ADDRESS=10.100.0.22 -e MARATHON_MASTER=zk://10.100.0.22:2181,10.100.0.23:2181,10.100.0.21:2
181/mesos -e MARATHON_ZK=zk://10.100.0.22:2181,10.100.0.23:2181,10.100.0.21:2181/marathon --name marathon --net host --restart=always mesoscloud/marathon

mesos-master

 HOST_IP=10.100.0.22
 docker run -d --name mesos-master1 --net="host" -p 5050:5050    -e "MESOS_HOSTNAME=${HOST_IP}"   -e "MESOS_IP=${HOST_IP}"   -e "MESOS_ZK=zk://${HOST_IP}:2181/mesos"   -e "MESOS_PORT=5050"   -e
"MESOS_LOG_DIR=/var/log/mesos"   -e "MESOS_QUORUM=1"   -e "MESOS_REGISTRY=in_memory"   -e "MESOS_WORK_DIR=/var/lib/mesos"   mesoscloud/mesos-master

zookeeper

 docker run -d -e MYID=2 -e SERVERS=10.100.0.21,10.100.0.22,10.100.0.23 --name zookeeper --restart=always --net=host  mesoscloud/zookeeper

需要在10.100.0.23 上執(zhí)行下列命令

marathon

 docker run -d -e MARATHON_HOSTNAME=10.100.0.23 -e MARATHON_HTTPS_ADDRESS=10.100.0.23 -e MARATHON_HTTP_ADDRESS=10.100.0.23 -e MARATHON_MASTER=zk://10.100.0.22:2181,10.100.0.23:2181,10.100.0.21:2
181/mesos -e MARATHON_ZK=zk://10.100.0.22:2181,10.100.0.23:2181,10.100.0.21:2181/marathon --name marathon --net host --restart=always mesoscloud/marathon

mesos-master

HOST_IP=10.100.0.23
 docker run -d --name mesos-master1 --net="host" -p 5050:5050    -e "MESOS_HOSTNAME=${HOST_IP}"   -e "MESOS_IP=${HOST_IP}"   -e "MESOS_ZK=zk://${HOST_IP}:2181/mesos"   -e "MESOS_PORT=5050"   -e
"MESOS_LOG_DIR=/var/log/mesos"   -e "MESOS_QUORUM=1"   -e "MESOS_REGISTRY=in_memory"   -e "MESOS_WORK_DIR=/var/lib/mesos"   mesoscloud/mesos-master

zookeeper

docker run -d -e MYID=3 -e SERVERS=10.100.0.21,10.100.0.22,10.100.0.23 --name zookeeper --restart=always --net=host  mesoscloud/zookeeper

這樣 mesos 的 master 就搭建完成。

slave服務(wù)器搭建

下面是 mesos 的 slave 服務(wù)器 模擬4臺(tái)
ip 地址是10.100.0.24 10.100.0.25 10.100.0.26 10.100.0.28

在10.100.0.24上運(yùn)行下面的命令

docker run -d     --net=host     --pid=host     --privileged=true     --name=ms1     -v /usr/bin/docker:/usr/bin/docker     -v /dev:/dev     -v /var/run/docker.sock:/var/run/docker.sock     -v
/var/log/mesos:/var/log/mesos     -v /tmp/mesos:/tmp/mesos     -e MESOS_HOSTNAME=10.100.0.24     -e MESOS_IP=10.100.0.24     -e MESOS_MASTER=zk://10.100.0.21:2181,10.100.0.22:2181,10.100.0.23:2181/mes
os     -e MESOS_CONTAINERIZERS=docker,mesos     mesoscloud/mesos-slave

在10.100.0.25上運(yùn)行下面的命令

docker run -d     --net=host     --pid=host     --privileged=true     --name=ms1     -v /usr/bin/docker:/usr/bin/docker     -v /dev:/dev     -v /var/run/docker.sock:/var/run/docker.sock     -v
/var/log/mesos:/var/log/mesos     -v /tmp/mesos:/tmp/mesos     -e MESOS_HOSTNAME=10.100.0.25     -e MESOS_IP=10.100.0.25     -e MESOS_MASTER=zk://10.100.0.21:2181,10.100.0.22:2181,10.100.0.23:2181/mes
os     -e MESOS_CONTAINERIZERS=docker,mesos     mesoscloud/mesos-slave

在10.100.0.26上運(yùn)行下面的命令

docker run -d     --net=host     --pid=host     --privileged=true     --name=ms1     -v /usr/bin/docker:/usr/bin/docker     -v /dev:/dev     -v /var/run/docker.sock:/var/run/docker.sock     -v
/var/log/mesos:/var/log/mesos     -v /tmp/mesos:/tmp/mesos     -e MESOS_HOSTNAME=10.100.0.26     -e MESOS_IP=10.100.0.26     -e MESOS_MASTER=zk://10.100.0.21:2181,10.100.0.22:2181,10.100.0.23:2181/mes
os     -e MESOS_CONTAINERIZERS=docker,mesos     mesoscloud/mesos-slave

在10.100.0.28上運(yùn)行下面的命令

docker run -d     --net=host     --pid=host     --privileged=true     --name=ms1     -v /usr/bin/docker:/usr/bin/docker     -v /dev:/dev     -v /var/run/docker.sock:/var/run/docker.sock     -v
/var/log/mesos:/var/log/mesos     -v /tmp/mesos:/tmp/mesos     -e MESOS_HOSTNAME=10.100.0.28     -e MESOS_IP=10.100.0.28     -e MESOS_MASTER=zk://10.100.0.21:2181,10.100.0.22:2181,10.100.0.23:2181/mes
os     -e MESOS_CONTAINERIZERS=docker,mesos     mesoscloud/mesos-slave

以上,搭建完成

查看

可以通過 http://${HOST_IP}:5050 查看 mesos 的服務(wù)器的狀態(tài):

使用 http://{HOST}:8080/ 來訪問 marathon:

需要在 Docker Container 中輸入對應(yīng)的 images:

還需要配置一下端口:

docker 很快就能啟動(dòng)好。目前就啟動(dòng)了一個(gè)實(shí)例:

如果現(xiàn)在需要多個(gè),可以選擇 scale Application 數(shù)值調(diào)整到5:

可以瞬間運(yùn)行多個(gè)容器:

關(guān)于擴(kuò)容

scale Application 數(shù)值調(diào)整雖然能快速擴(kuò)容,但是運(yùn)行服務(wù)器的端口都是隨機(jī)的,如果需要手工添加就會(huì)比較麻煩,好在我們有一個(gè)新的工具來幫助我們,一個(gè)定制化的 haproxy—— marathon-lb。

我們還是使用容器的方式來部署:

docker run -d --privileged -e PORTS=9090 --net=host mesosphere/marathon-lb sse -m http://10.100.0.21:8080 -m http://10.100.0.22:8080 -m http://10.100.0.23:8080 --group external

這樣我們就能通過 9090 端口訪問:
http://${HOST_IP}:9090/haproxy?stats

需要在配置 Environment Variables 變量的時(shí)候,添加2個(gè)變量:
?HAPROXY_0_PORT=80
?HAPROXY_GROUP=external

不管 scale 多少個(gè)容器, 都會(huì)通過 haproxy 的80端口代理 ,水平擴(kuò)容非常的方便。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27191.html

相關(guān)文章

  • docker 必備marathon 基礎(chǔ)教程

    摘要:基本概念采用與相同的機(jī)制,只是運(yùn)行在不同的抽象層次上。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括配置維護(hù)名字服務(wù)分布式同步組服務(wù)等。它是集群的分布式,能夠原樣運(yùn)行任何二進(jìn)制發(fā)布版本,如等等。部署為了部署的方便全部使用部署。 筋斗云 豈安運(yùn)維工程師愛游泳、愛旅行、愛計(jì)算機(jī)。 前言 目前越來越多的互聯(lián)網(wǎng)企業(yè)開始使用 docker,在這之前,虛擬機(jī)占據(jù)著大部分的企業(yè)市場...

    learning 評論0 收藏0
  • 飛馳在Mesos的渦輪引擎上

    摘要:方案二和也運(yùn)行在中。新增刪除節(jié)點(diǎn)變更配置均需要手工介入。公司已有的大多都是容器形式部署在各個(gè)服務(wù)器上。目前我們在每個(gè)節(jié)點(diǎn)上部署了傳統(tǒng)的。在接下來的階段團(tuán)隊(duì)也會(huì)對此做進(jìn)一步的探索。 回想起第一次接觸Mesos, 當(dāng)時(shí)有很多困惑: 這到底是用來做啥的?跟YARN比有什么優(yōu)勢?有哪些大公司在使用么?。 然而現(xiàn)在技術(shù)日新月異地發(fā)展, Mesos這個(gè)生態(tài)圈也開始被越來越多的團(tuán)隊(duì)熟悉關(guān)注, 像k8...

    xorpay 評論0 收藏0
  • 使用 Docker, 7 個(gè)命令部署一個(gè) Mesos 集群

    本文原文是 Deploy a Mesos Cluster with 7 Commands Using Docker 這個(gè)教程將給你展示怎樣使用 Docker 容器提供一個(gè)單節(jié)點(diǎn)的 Mesos 集群(未來的一篇文章將展示怎樣很容易的擴(kuò)展這個(gè)到多個(gè)節(jié)點(diǎn)或者是見底部更新)。這意味著你可以使用 7 個(gè)命令啟動(dòng)整個(gè)集群!不需要安裝任何東西除了一個(gè)正在運(yùn)行的 Docker 服務(wù)器。 將啟動(dòng) 4 個(gè)容器:...

    dadong 評論0 收藏0
  • 智能運(yùn)維 | 如何做好持續(xù)集成——Jenkins on Mesos 實(shí)踐

    摘要:而持續(xù)集成的意義就在于減少風(fēng)險(xiǎn),和重復(fù)的過程,最終提高工作效率。第二級(jí)調(diào)度由被稱作的組件組成。能和不同類型的通信,每種由相應(yīng)的應(yīng)用集群管理。這是的任務(wù)啟動(dòng)過程。數(shù)人云運(yùn)維平臺(tái)持續(xù)集成實(shí)踐這是數(shù)人云運(yùn)維平臺(tái)的持續(xù)集成實(shí)踐。 今天小數(shù)給大家?guī)淼挠质鞘愕母韶洠寒?dāng)運(yùn)維遇到云計(jì)算,當(dāng)Docker遇到Mesos和Jenkins,會(huì)擦出怎樣的火花呢?且看來自數(shù)人云運(yùn)維工程師金燁的演講實(shí)錄分享——...

    lsxiao 評論0 收藏0
  • 容器圈 | 基于 DCOS 的微軟 Azure 容器服務(wù)正式發(fā)布

    摘要:近日,微軟對外發(fā)布了容器服務(wù)公共預(yù)覽版。同時(shí),和微軟在容器服務(wù)方面進(jìn)行了廣泛技術(shù)合作。重點(diǎn)的和兩項(xiàng)開源技術(shù)將微軟的與其他云容器服務(wù)提供商區(qū)分開來。是目前最成熟的容器編排引擎,微軟正是看中了這點(diǎn)才選擇了與合作。 小數(shù)點(diǎn)分享:開源技術(shù) Docker 的輕量化、敏捷性以及可移植性的優(yōu)點(diǎn),使其在全球IT領(lǐng)域廣受矚目,并將在 2016 年迎來全面爆發(fā)。微軟對于 Mesos 的支持,我們期待未來...

    sushi 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<