Consul高可用集群搭建


操作系統

操作系統:Centos7.6

Consul集群地址:

IP

Node

192.168.3.151

server1

192.168.3.152

server2

192.168.3.153

server3

關閉防火牆

三台都要關閉

 

#關閉防火牆

[root@localhost consul.d]# systemctl stop firewalld.service

 

#關閉開機啟動

[root@localhost consul.d]# systemctl disable firewalld.service

 

#查看防火牆狀態

[root@localhost consul.d]# firewall-cmd --state

 

安裝Docker

三台都要安裝

 

#yum安裝Docker

[root@localhost ~]# yum install -y docker

 

#修改docker鏡像加速器

[root@localhost ~]# vi /etc/docker/daemon.json

使用下面內容替換原先內容,保存並退出“ggdG”命令全選內容並刪除

{

"registry-mirrors": ["https://njrds9qc.mirror.aliyuncs.com"]

}

 

#刷新daemon

[root@localhost ~]# systemctl daemon-reload

 

#設置開機啟動

[root@localhost ~]# systemctl enable docker

 

#重啟docker

[root@localhost ~]# systemctl restart docker

 

安裝Consul集群

添加docker掛載卷

三台都要操作

 

#創建consul的數據目錄卷

[root@localhost ~]# mkdir /app/consul/data -p

 

#創建consul的配置目錄卷

[root@localhost ~]# mkdir /app/consul/conf -p

安裝Consul集群

#192.168.3.151執行:

[root@localhost ~]# docker run --network=host -d -p 8500:8500 --restart=always -v /app/consul/data:/consul/data -v /app/consul/conf:/consul/config --privileged=true --name=server1 consul \

agent -server -bootstrap-expect=3 -ui -node=server1 -client='0.0.0.0' -bind=0.0.0.0 -data-dir /consul/data -config-dir /consul/config -datacenter=dc1 -advertise=192.168.3.151

 

#192.168.3.152執行:

[root@localhost ~]# docker run --network=host -d -p 8500:8500 --restart=always -v /app/consul/data:/consul/data -v /app/consul/conf:/consul/config --privileged=true --name=server2 consul \

agent -server    -ui -node=server2 -client='0.0.0.0' -bind=0.0.0.0 -data-dir /consul/data -config-dir /consul/config  -datacenter=dc1 -advertise=192.168.3.152 -join=192.168.3.151

 

#192.168.3.153執行:

[root@localhost ~]# docker run --network=host -d -p 8500:8500 --restart=always -v /app/consul/data:/consul/data -v /app/consul/conf:/consul/config --privileged=true --name=server3 consul \

agent -server    -ui -node=server3 -client='0.0.0.0' -bind=0.0.0.0 -data-dir /consul/data -config-dir /consul/config  -datacenter=dc1 -advertise=192.168.3.153 -join=192.168.3.151

查看集群狀態

#server1對應192.168.3.151,所以需要在這台下面執行

[root@localhost ~]# docker exec server1 consul operator raft list-peers

其它知識點

#有時候進入容器時,沒有/bin/bash命令,而是/bin/sh命令,這點需要注意下。

[root@localhost ~]# docker exec -it cd36a653e8ff /bin/sh

 

#docker無法啟動容器,狀態一直為restarting,可使用以下命令查看docker運行日志

[root@localhost ~]# docker container logs [容器ID]

 

#查看集群狀態

[root@localhost ~]# docker exec server1 consul operator raft list-peers

[root@localhost ~]# docker exec [容器ID] consul operator raft list-peers

參考網址

https://www.cnblogs.com/edisonchou/p/consul_cluster_based_on_docker_introduction.html

https://github.com/hashicorp/docker-consul/issues/23

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM