完成10%了,加油~還有9個10%
Consul的檔案可以從官網選擇對應的環境下載: https://www.consul.io/downloads
這系列的文章會使用Linux 64-bit來做為教學,Consul則使用目前最新的版本1.8.3,
下載後會的到一個壓縮檔 consul_1.8.3_linux_amd64.zip 解壓縮後會有一個consul的檔案,已經被包裝成binary檔,可以直接執行。
$ unzip consul_1.8.3_linux_amd64.zip
$ ls -l
-rwxr-xr-x 1 ec2-user ec2-user 113091757 Aug 12 19:05 consul
-rw-rw-r-- 1 ec2-user ec2-user 42054014 Aug 12 21:14 consul_1.8.3_linux_amd64.zip
查看目前的版本資訊:
$ ./consul version
Consul v1.8.3
Revision a9322b9c7
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)
$ cp consul /usr/local/bin
$ consul -autocomplete-install
這個會在~/.bashrc
裡面加入complete -C /usr/local/bin/consul consul
直接編輯vi ~/.bashrc
加入export complete -C /usr/local/bin/consul consul
也可以
最後在source ~/.bashrc
生效。
如果要做簡單的測試可以使用 dev mode,啟動指令如下:
$ consul agent -dev -client="10.168.1.175" -ui
-dev: 使用dev mode來啟動consul agent.
-client: 綁定client連線的IP,預設127.0.0.1,我們想要可以透過HTTP來查看web UI,所以指定IP.
-ui: 啟動web UI介面,若沒有只能用CLI來操作。
使用consul members
可以列出目前consul agent的清單。
$ consul members
Error retrieving members: Get "http://127.0.0.1:8500/v1/agent/members?segment=_all": dial tcp 127.0.0.1:8500: connect: connection refused
但你會發現報錯,因為consul預設還是去127.0.0.1,所以這裡我們要指定http address給它。
$ consul members -http-addr="http://10.168.1.175:8500"
Node Address Status Type Build Protocol DC Segment
consul-server.localdomain 127.0.0.1:8301 alive server 1.8.3 2 dc1 <all>
-http-addr: 可以是IP address 或 DNS address,但是都要加port, 另外也可以是 Unix domain socket.
Status: 有三種狀態"alive", "left" 或 "failed".
Type: 分為server與client.
查看web ui: 在瀏覽器輸入 http://10.168.1.175:8500 看到以下畫面就表示成功了
Service: Consul 會為自己註冊一個service
Node: 目前只有自己一個node.