日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
手動部署dockerswarm集群

前言

創(chuàng)新互聯(lián)公司從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元呈貢做網(wǎng)站,已為上家服務(wù),為呈貢各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575

Docker Swarm是一個Dockerized化的分布式應(yīng)用程序的本地集群,支持用戶創(chuàng)建可運行Docker Daemon的主機資源池,然后在資源池中運行Docker容器。它是官方的Docker集群管理工具,提供和docker基本一致的api,把多個主機虛擬化成一個獨立的主機,相對于marathon/mesos以及k8s,它更易于部署,并且由于和docker api一致,更容易上手。接下來本文將基于官方文檔,搭建一個docker swarm測試環(huán)境。

系統(tǒng)環(huán)境

本文測試時使用兩臺虛擬機A、B,配置如下:

  • 操作系統(tǒng):ubuntu 14.04
  • docker server/client版本: 1.11.1
  • docker API版本: 1.23
  • 網(wǎng)卡信息: A: 192.168.56.4 B: 192.168.56.5
  • docker配置: /etc/default/docker,內(nèi)容如下:
 
 
 
  1. DOCKER_OPTS="--registry-mirror=http://houchaohann.m.alauda.cn -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" 

注意:如果先在其中一個虛擬機中部署Docker并配置好,然后通過克隆的方法復(fù)制第二個節(jié)點,會造成docker節(jié)點ID相同,此時需要手動刪除/etc/docker/key.json文件,再重啟docker服務(wù)即可。務(wù)必在此之前檢查docker節(jié)點的ID是否存在沖突:

 
 
 
  1. root@ubuntu-5:/etc/docker# docker info | grep ID  
  2. ID: L2SK:T2RD:RQH2:YC2O:NJKA:EQH2:Q35Z:C26T:J75Y:RPDK:M5OX:FW6S 

以上所有節(jié)點的ID不能出現(xiàn)重復(fù)!

安裝服務(wù)發(fā)現(xiàn)組件

docker swarm依賴于服務(wù)發(fā)現(xiàn)組件,支持的后端包括etcd、zookeeper、consul等,本文將使用consul作為服務(wù)發(fā)現(xiàn)后端:

為了簡化部署,本文不考慮服務(wù)發(fā)現(xiàn)組件的高可用,因此只有單節(jié)點,部署在A機器上:

 
 
 
  1. #!/bin/bash  
  2. NAME=consul  
  3. docker rm -f $NAME 2>/dev/null  
  4. docker run -d --restart=always -p 8500:8500 --name=$NAME --hostname $NAME progrium/consul -server -bootstrap 

配置Swarm集群

首先我們需要部署swarm manager節(jié)點,為了避免單點故障,我們部署兩個swarm master節(jié)點來保證高可用,在A機器中執(zhí)行:

 
 
 
  1. #!/bin/bash 
  2. MY_IP=192.168.56.4 
  3. CONSUL_IP=192.168.56.4 
  4. NAME=swarm-master-1 
  5. docker rm -f $NAME &>/dev/null 
  6. docker run -d -p 4000:4000 --restart=always --name $NAME --hostname $NAME swarm manage -H :4000 --replication --advertise $MY_IP:4000 consul://$CONSUL_IP:8500 

在B機器上執(zhí)行:

 
 
 
  1. #!/bin/bash 
  2. MY_IP=192.168.56.5 
  3. CONSUL_IP=192.168.56.4 
  4. NAME=swarm-master-2 
  5. docker rm -f $NAME &>/dev/null 
  6. docker run -d -p 4000:4000 --name $NAME --hostname $NAME --restart=always swarm manage -H :4000 --replication --advertise $MY_IP:4000 consul://$CONSUL_IP:8500 

部署好swarm manager節(jié)點后,就可以增加我們的計算節(jié)點了,由于我們的節(jié)點有限,計算節(jié)點同樣部署在A、B機器上:

在A節(jié)點運行:

 
 
 
  1. #!/bin/bash 
  2. CONSUL_IP=192.168.56.4 
  3. MY_IP=192.168.56.4 
  4. NAME=swarm-node-1 
  5. docker rm -f $NAME &>/dev/null 
  6. docker run -d --name $NAME --hostname $NAME --restart=always  swarm join --advertise=$MY_IP:2375 consul://$CONSUL_IP:8500 

在B節(jié)點上運行:

 
 
 
  1. #!/bin/bash 
  2. CONSUL_IP=192.168.56.4 
  3. MY_IP=192.168.56.5 
  4. NAME=swarm-node-2 
  5. docker rm -f $NAME &>/dev/null 
  6. docker run -d --name $NAME --hostname $NAME --restart=always  swarm join --advertise=$MY_IP:2375 consul://$CONSUL_IP:8500 

檢查集群

以上工作均完成以后,就可以手動測試是否工作了:

 
 
 
  1. docker -H :4000 info 

輸出:

 
 
 
  1. Containers: 6 
  2.  Running: 5 
  3.  Paused: 0 
  4.  Stopped: 1 
  5. Images: 8 
  6. Server Version: swarm/1.2.2 
  7. Role: primary 
  8. Strategy: spread 
  9. Filters: health, port, containerslots, dependency, affinity, constraint 
  10. Nodes: 2 
  11.  ubuntu-4: 172.16.1.24:2375 
  12.   └ ID: N2NA:VXFI:KKUR:FEJL:NG72:B5YN:HEP3:WENB:V6AZ:EGGK:RAC3:KXKH 
  13.   └ Status: Healthy 
  14.   └ Containers: 4 
  15.   └ Reserved CPUs: 0 / 1 
  16.   └ Reserved Memory: 0 B / 1.018 GiB 
  17.   └ Labels: executiondriver=, kernelversion=4.2.0-36-generic, operatingsystem=Ubuntu 14.04.4 LTS, storagedriver=aufs 
  18.   └ Error: (none) 
  19.   └ UpdatedAt: 2016-05-10T17:13:30Z 
  20.   └ ServerVersion: 1.11.1 
  21.  ubuntu-5: 172.16.1.178:2375 
  22.   └ ID: L2SK:T2RD:RQH2:YC2O:NJKA:EQH2:Q35Z:C26T:J75Y:RPDK:M5OX:FW6S 
  23.   └ Status: Healthy 
  24.   └ Containers: 2 
  25.   └ Reserved CPUs: 0 / 1 
  26.   └ Reserved Memory: 0 B / 1.018 GiB 
  27.   └ Labels: executiondriver=, kernelversion=4.2.0-36-generic, operatingsystem=Ubuntu 14.04.4 LTS, storagedriver=aufs 
  28.   └ Error: (none) 
  29.   └ UpdatedAt: 2016-05-10T17:13:31Z 
  30.   └ ServerVersion: 1.11.1 
  31. Plugins: 
  32.  Volume: 
  33.  Network: 
  34. Kernel Version: 4.2.0-36-generic 
  35. Operating System: linux 
  36. Architecture: amd64 
  37. CPUs: 2 
  38. Total Memory: 2.036 GiB 
  39. Name: swarm-master 
  40. Docker Root Dir: 
  41. Debug mode (client): false 
  42. Debug mode (server): false 

從結(jié)果中我們發(fā)現(xiàn),我們一共有兩個節(jié)點,務(wù)必檢查每個節(jié)點的Status為Healthy。

【本文是專欄作者“付廣平”的原創(chuàng)文章,如需轉(zhuǎn)載請通過獲得聯(lián)系】


網(wǎng)頁題目:手動部署dockerswarm集群
鏈接地址:http://m.5511xx.com/article/cohjejs.html