溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

『高級篇』docker之Mesos微服務(wù)部署(26)

發(fā)布時(shí)間:2020-07-20 20:35:35 來源:網(wǎng)絡(luò) 閱讀:175 作者:IT人故事 欄目:云計(jì)算

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請注明:轉(zhuǎn)載自IT人故事會,謝謝!
原文鏈接地址:『高級篇』docker之Mesos微服務(wù)部署(26)

因本人的mac本才8g,無法同時(shí)啟動4個虛擬機(jī)來完成,3個server,1個harbor。所以鏡像直接用hub.docker.com的。mac就啟動3個虛擬機(jī)。代碼里都增加dockerhub的方式。源碼:https://github.com/limingios/msA-docker mesos分支

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

HOST運(yùn)行服務(wù)

  • 啟動zookeeper

    通過提供的源碼shell腳本直接運(yùn)行。

sh start.sh
sh start.sh
sh start.sh

『高級篇』docker之Mesos微服務(wù)部署(26)

  • 啟動marathon-lb
sh start.sh

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

server01

編寫的shell 腳本

#!/bin/bash
docker run -d --net=host --privileged \
  --hostname=192.168.66.101 \
  -e MESOS_PORT=5051 \
  -e MESOS_MASTER=zk://192.168.1.130:2181/mesos \
  -e MESOS_SWITCH_USER=0 \
  -e MESOS_CONTAINERIZERS=docker,mesos \
  -e MESOS_LOG_DIR=/var/log/mesos \
  -e MESOS_WORK_DIR=/var/tmp/mesos \
  -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \
  -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /sys:/sys \
  -v /usr/bin/docker:/usr/local/bin/docker \
  mesosphere/mesos-slave:1.7.0 --no-systemd_enable_support \
  --no-hostname_lookup --ip=192.168.66.101
sh mesos-slave.sh

『高級篇』docker之Mesos微服務(wù)部署(26)

server02

編寫的shell 腳本 mesos.sh

!/bin/bash
docker run -d --net=host \
--hostname=192.168.66.102 \
-e MESOS_PORT=5050 \
-e MESOS_ZK=zk://192.168.1.130:2181/mesos \
-e MESOS_QUORUM=1 \
-e MESOS_REGISTRY=in_memory \
-e MESOS_LOG_DIR=/var/log/mesos \
-e MESOS_WORK_DIR=/var/tmp/mesos \
-v "$(pwd)/mesos/log/mesos:/var/log/mesos" \
-v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \
mesosphere/mesos-master:1.7.0 --no-hostname_lookup --ip=192.168.66.102

編寫的shell 腳本 marathon.sh

#!/bin/bash
docker run -d --net=host \
  mesosphere/marathon:v1.5.12 \
  --master zk://192.168.1.130:2181/mesos \
  --zk zk://192.168.1.130:2181/marathon
sh mesos.sh
sh marathon.sh

『高級篇』docker之Mesos微服務(wù)部署(26)

server03

編寫的shell 腳本 marathon.sh

#!/bin/bash
docker run -d --net=host --privileged \
  --hostname=192.168.66.103 \
  -e MESOS_PORT=5051 \
  -e MESOS_MASTER=zk://192.168.1.130:2181/mesos \
  -e MESOS_SWITCH_USER=0 \
  -e MESOS_CONTAINERIZERS=docker,mesos \
  -e MESOS_LOG_DIR=/var/log/mesos \
  -e MESOS_WORK_DIR=/var/tmp/mesos \
  -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \
  -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /sys:/sys \
  -v /usr/bin/docker:/usr/local/bin/docker \
  mesosphere/mesos-slave:1.7.0 --no-systemd_enable_support \
  --no-hostname_lookup --ip=192.168.66.103
sh mesos-slave.sh

『高級篇』docker之Mesos微服務(wù)部署(26)

memsos配置微服務(wù)

我部署下,看我分配的內(nèi)存和cpu就知道為什么叫微服務(wù)了

  • message-thrift-python-service 部署

0.1cpu和128Mb內(nèi)存足夠了。

『高級篇』docker之Mesos微服務(wù)部署(26)

連接是hub.docker.com,上邊說了內(nèi)存太低了沒辦法啟動那邊多鏡像。

『高級篇』docker之Mesos微服務(wù)部署(26)

點(diǎn)擊json mode 修改,其實(shí)就是修改json文件

『高級篇』docker之Mesos微服務(wù)部署(26)

修改成畫紅色部分的內(nèi)容,containerPort是應(yīng)用內(nèi)的端口,servicePort是marathon控制的端口(上一節(jié)統(tǒng)計(jì)過外部端口的數(shù)字)。

『高級篇』docker之Mesos微服務(wù)部署(26)

  • user-thrift-service 部署

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

  • user-edge-service 部署

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

跟上邊一樣修改端口

『高級篇』docker之Mesos微服務(wù)部署(26)

  • course-dubbo-service 部署

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

它不需要端口的映射,直接刪除portMappings就可以了

『高級篇』docker之Mesos微服務(wù)部署(26)

  • zhugeaming/course-edge-service 部署

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

  • gataway-zuul 部署

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

上邊六個服務(wù)都需要增加一個labels

key:HAPROXY_GROUP
value:external

external 跟原來marathon-lb里面的分組名稱一致

『高級篇』docker之Mesos微服務(wù)部署(26)

『高級篇』docker之Mesos微服務(wù)部署(26)

部署完成,因?yàn)橛玫膁ockerhub的倉庫,真心慢

本身就是掩飾,家里的筆記本壞了,不好制作局域網(wǎng)的docker倉庫,所以比較麻煩。 不過大概就是這么操作的。如果照著我做的老鐵,因?yàn)槲抑芭芷饋頉]問題了,建議找個內(nèi)存大的至少16g的老玩我說的配置。

『高級篇』docker之Mesos微服務(wù)部署(26)

marathon 健康檢查的類型

3種類型

  1. http
  2. command
  3. tcp
  • 如果是查看端口的話,需要使用tcp的形式

『高級篇』docker之Mesos微服務(wù)部署(26)

  • command類型,也就是shell腳本的形式,可以隨意發(fā)揮

    判斷是否成功是看命令退出的返回值是不是0

『高級篇』docker之Mesos微服務(wù)部署(26)

  • http類型,也就是直接返回某個網(wǎng)址看看是否返回code=200

    項(xiàng)目的根路徑開始的

『高級篇』docker之Mesos微服務(wù)部署(26)

環(huán)境變量的配置

『高級篇』docker之Mesos微服務(wù)部署(26)

容器的掛載

『高級篇』docker之Mesos微服務(wù)部署(26)

那些服務(wù)適合那些主機(jī)標(biāo)簽和權(quán)限都在optional里面

『高級篇』docker之Mesos微服務(wù)部署(26)

PS:基本的mesos和marathon講述完成了,因?yàn)橹鳈C(jī)內(nèi)存后面的結(jié)果沒有演示但是基本的命令和鏡像有了后面基本是,基本操作啦!下次一起學(xué)學(xué)docker swarm!

『高級篇』docker之Mesos微服務(wù)部署(26)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI