星期三, 8月 19, 2015

consul server 的啟動方式

要使用 consul 這個軟體必須要有 server,server 啟動的方式有三種:
  1. 先有 bootstrap server,然後其他 server 再加入,這同時也是 0.4 版以前的作法。所以在啟動 consul 時,必須要指定 -bootstrap 與 -server 參數,或是在設定檔裡指定 {"bootstrap": true, "server": true };接著在每個 server 的設定檔裡指定 {"server": true, "start_join": ["your_bootstrap_server_ip"] }
  2. 先 啟動數個 server,然後手動用 consul join 加入,這是 0.4 版以後提供的方式。官方是建議最好使用 3~5 台的 server,這幾台 server 會在 join 之後,自行投票選出誰當 leader 。啟動 consul 時,要指定 -bootstrap-expect expected_server_number 與 -server,或是在設定檔裡指定 {"bootstrap_expect": expected_server_number, "server": true },等到啟動之後,再用 consul join server_1_ip server_2_ip server_3_ip 來加入 cluster。
  3. 用 Hashicorp 提供的 atlas 服務,啟動 server 以後,會透過 atlas 服務,自動做 join 的動作。要使用 atlas,必須先到 atlas 註冊,取得 token。啟動 consul 時,要指定 -server, -atlas, -atlas-token 與 -atlas-join ,或是在設定檔裡指定 {"server": true, "atlas_infrastructure": "xxx/yyy", "atlas_join": true, "atlas_token": "your_atlas_token" }
這裏面當然是用 atlas 最方便,除了有提供 Web UI 可以做監控之外,還可以使用 vagrantup 跟 terraform 等來做管理,只是使用這項服務是有代價的,超過 10 個 node 每個月收費 40 美金。
參考資料:

沒有留言: