linux centos 7.2
docker
參見:consul入門
參見:consul的安裝路徑是在我們使用docker安裝
建立docker安裝指令碼dockerfile,放置在目錄/usr/docker/consul下
from alpine
maintainer peter "[email protected]"
#配置環境變數consul版本
env consul_version=1.4.3
env hashicorp_releases=
#安裝consul
run apk upgrade && \
apk add net-tools && \
apk add wget && \
apk add unzip && \
wget $/consul/$/consul_$_linux_amd64.zip && \
unzip consul_$_linux_amd64.zip && \
rm -rf consul_$_linux_amd64.zip && \
mv consul /usr/local/bin
volume /consul/data
#預開放埠
expose 8300
expose 8301 8301/udp 8302 8302/udp
expose 8500 8600 8600/udp
指令碼中使用aipine,這個比較小的作業系統安裝在容器中,比較節省空間。
執行docker指令碼,生成容器映象
cd /usr/docker/consul
docker build -t counsl .
安裝成功後,截圖如上,生成了名為consul的映象
建立自定義網路
docker network create --subnet=192.167.1.0/16 swoftnetwork
網路節點規劃
容器名稱
容器ip位址
對映埠號
宿主機ip位址
服務執行模式
consul-server1
192.167.1.10
8501 -> 8500
172.27.0.8
server master
consul-server2
192.167.1.11
8502 -> 8500
172.27.0.8
server
consul-server3
192.167.1.12
8503 -> 8500
172.27.0.8
server
consul-client1
192.167.1.13
8504 -> 8500
172.27.0.8
client
構建容器
docker run -itd --name consul_server1 -p 8501:8500 --network swoftnetwork --ip 192.167.1.10 consul
docker run -itd --name consul_server2 -p 8502:8500 --network swoftnetwork --ip 192.167.1.11 consul
docker run -itd --name consul_server3 -p 8503:8500 --network swoftnetwork --ip 192.167.1.12 consul
docker run -itd --name consul_client -p 8504:8500 --network swoftnetwork --ip 192.167.1.13 consul
構建成功如上圖。
進入節點伺服器,啟動consul
docker exec -it consul_server1 sh
consul agent -server -ui -node=consul_server1 -bootstrap-expect=1 -bind=192.167.1.10 -data-dir /consul/data -join=192.167.1.10 -client 0.0.0.0
注意第乙個的agent引數有些不同,所有的agent都加入到192.167.1.10,同時192.167.1.10提供對外ui訪問。引數含義:
agent **模式
-server 表示啟動的是乙個服務
-client 啟動客戶端
-bootstrap-expect 1 表示等待多少個節點再啟動,這裡1個,就是自己乙個就啟動了
-node=ali_1 就是給consul服務起個別名為ali_1
-bind=192.167.1.10 繫結內網ip
-data-dir /opt/data1 資料儲存目錄為/opt/data1
-ui 啟動預設ui介面
-client consul繫結在哪個client位址上,這個位址提供http、dns、rpc等服務,預設是127.0.0.1,可指定允許客戶端使用什麼ip去訪問
如上圖 ,節點伺服器啟動consul成功。
另外2臺consul節點伺服器可按上述方法啟動。
docker exec -it consul_server2 sh
consul agent -server -ui -node=consul_server2 -bootstrap-expect=3 -bind=192.167.1.11 -data-dir /consul/data -join=192.167.1.10 -client 0.0.0.0
docker exec -it consul_server3 sh
consul agent -server -ui -node=consul_server3 -bootstrap-expect=3 -bind=192.167.1.12 -data-dir /consul/data -join=192.167.1.10 -client 0.0.0.0
啟動3個consul伺服器,加入leader節點192.167.1.10,這樣就組成了consul伺服器集群。
加入consul客戶端
docker exec -it consul_client sh
consul agent -client -ui -node=consul_client1 -bind=192.167.1.13 -data-dir=/consul/data -join=192.167.1.10 -client 0.0.0.0
進入consul客戶端節點,啟動consul
docker exec -it consul_client sh
consul agent -client -node=client1 -bind=192.167.1.13 -data-dir=/consul/data -join=192.167.1.10 -client 0.0.0.0
建立集群
使用192.167.1.10作為主機,將其他節點加入它,建立集群
#docker exec -it consul_server1 sh
#consul join 192.167.1.11
#consul join 192.167.1.12
成功後,即可將此3個節點組成consul集群環境。
進入consul控制台,檢視節點情況
瀏覽器訪問:http://ip:8501/ui/
啟動成功,檢視節點執行正常。
持續完善,待續...
搭建consul 集群
上圖是官網提供的乙個事例系統圖,圖中的server是consul服務端高可用集群,client是consul客戶端。consul客戶端不儲存資料,客戶端將接收到的請求 給響應的server端。server之間通過區域網或廣域網通訊實現資料一致性。每個server或client都是乙個consul a...
搭建Consul集群
wget unzip consul 1.6.3 linux amd64.zip解壓後,只有乙個consul可執行的檔案,將其拷貝到想要安裝的目錄中 mv consul opt 完成consul的安裝後,必須執行agent。agent可以執行為server或client模式。每個資料中心至少必須擁有一...
搭建consul 集群
consul 安裝 1 離線安裝 a 上傳consul檔案到 usr local bin 目錄 d 訪問ip 8080 e 訪問ip 8080 3 consul集群搭建 進入 192.168.1.9的機器 a cd usr local bin b consul agent server ui boo...