1. 程式人生 > >Consul服務發現

Consul服務發現

     在上一篇文章已經演示過如何安裝Consul,consul安裝完畢後,agent就可以啟動了,agent啟動有兩種方式,一種是以server方式,另一種是以client方式,每個資料中心至少有一個agent執行在server模式,一般建議是3或者5個server。現在有3臺虛機分別為:192.168.56.11   192.168.56.12   192.168.56.13  這三臺agent,下面演示過程中讓“192.168.56.11”的agent以server方式啟動,“192.168.56.12   192.168.56.13”這兩個以client方式啟動。

step1:為了實現三臺虛機之間無障礙互動,首先應關閉三臺機子的防火牆,執行命令"

sudo ufw disable",需要在三臺機子上都執行該命令(注:我安裝的是Ubuntu14.04 版本的系統,以下的所有操作都是在該系統上執行的)


step2:在192.168.56.11這臺機子上以server方式啟動agent,執行命令"consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -node=Docker-1 -bind=192.168.56.11" ,"Docker-1" 是節點的名字


執行完如上圖所示,之後就不要在上圖的命令框中執行命令了。注意:當agent啟動後就不要在當前命令框中輸命令,重新開啟一個,如下圖所示:我將每臺虛機都開啟了兩個,標註了"

1"的都只能用來執行agent啟動命令,其他的操作都在標註了"2"的虛機上執行


step3:在192.168.56.11的第二臺機子上執行命令"consul members",檢查agent是否已經啟動,結果如下圖所示,顯示了agent的狀態為"alive" 型別為"server"


step4:以Client方式啟動192.168.56.12的agent,輸入命令"consul agent -data-dir /tmp/consul -node=Docker-2 -bind=192.168.56.12" 節點命名為"Docker-2"


step5:在192.168.56.12的第二臺機子上查詢agent是否已經啟動,執行命令"

consul members",之前解釋過第一臺機子只能用來執行啟動agent的命令


step6:在192.168.56.13上以Client方式啟動agent,執行命令"consul agent -data-dir /tmp/consul -node=Docker-3 -bind=192.168.56.13",節點命名為"Docker-3"


step7:檢查agent是否啟動,同192.168.56.12一樣在第二臺虛機上輸入命令"consul members"如下圖所示


step8:將兩個以Client方式啟動的192.168.56.12和192.168.56.13加入到192.168.56.11的server中去,該命令要在192.168.56.11的第二臺虛機中執行,執行命令"consul join 192.168.56.12"和"consul join 192.168.56.13"就可將兩個client 加入到Server中去,每執行一次操作,可查詢一下節點是否成功新增