consul安装配置,生产环境部署高可用环境
1、建立三个consul节点(一个server+两个client)
具体的过程见http://www.cnblogs.com/java-zhao/p/5375132.html
1)在终端下启动vagrant
vagrant up(Vagrantfile还是建立两个节点,如下)
1 # -*- mode: ruby -*- 2 # vi: set ft=ruby : 3 $script = <<SCRIPT 4 echo Installing dependencies... 5 sudo apt-get update 6 sudo apt-get install -y unzip curl 7 echo Fetching Consul... 8 cd /tmp/ 9 wget https://releases.hashicorp.com/consul/0.6.1/consul_0.6.1_linux_amd64.zip -O consul.zip 10 echo Installing Consul... 11 unzip consul.zip 12 sudo chmod +x consul 13 sudo mv consul /usr/bin/consul 14 sudo mkdir /etc/consul.d 15 sudo chmod a+w /etc/consul.d 16 SCRIPT 17 18 # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! 19 VAGRANTFILE_API_VERSION = "2" 20 21 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 22 config.vm.box = "debian/wheezy64" 23 24 config.vm.provision "shell", inline: $script 25 26 config.vm.define "n110" do |n1| 27 n1.vm.hostname = "n110" 28 n1.vm.network "private_network", ip: "192.168.21.110" 29 end 30 31 config.vm.define "n111" do |n2| 32 n2.vm.hostname = "n111" 33 n2.vm.network "private_network", ip: "192.168.21.111" 34 end 35 end
2)进入n110节点并启动为server模式
2.1)进入n110节点:vagrant ssh n110
2.2)启动consul:
说明:
- -dc:指明数据中心的名字
- -ui:启动UI(为了方便后续的UI访问)
3)进入n111节点并启动为client模式
3.1)进入n111节点:vagrant ssh n111
3.2)启动consul:
3.3)加入集群:
4)将本机节点启动为client模式并打开UI
4.1)启动consul:
说明:本机启动UI
4.2)加入集群:
启动完成后,最好查看一下每一个节点的consul集群成员。
2、在本机浏览器访问UI
访问远程服务端点的UI
说明:在新版本的consul中访问远程服务端点的UI是有问题的,可能需要配置什么。老版本没问题。
解决方法:
-
consul agent -server -bootstrap-expect=1 -data-dir=/tmp/consul -node=server-110 -bind=192.168.21.110 -dc=zjgdc1 -client 0.0.0.0 -ui
说明:-client 0 0 0 0 -ui-->使得客户端可以直接通过url访问服务端的consul ui
访问本机的UI
http://localhost:8500/ui/
- services节点:放置服务
- nodes节点:放置consul节点
- key/value节点:放置一些配置信息
- zjgdc节点:配置数据中心
打开nodes节点,如下: