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

 

posted @ 2020-12-17 11:38  屌丝大叔的笔记  阅读(888)  评论(0编辑  收藏  举报