consul安裝

一、環境

操作系統版本:centos7.2
操作系統內核:4.8.4
系統工具:yum
數據分區(200G容量以上):/data
啓用端口:8300、8301、8302、8500、8600

二、下載安裝文件

下載安裝文件:wget https://releases.hashicorp.com/consul/0.9.2/consul_0.9.2_linux_amd64.zip

三、解壓安裝文件

unzip consul_0.9.2_linux_amd64.zip -d /usr/bin

四、創建啓動文件

編輯文件: vim /lib/systemd/system/consul.service
#####以下爲文件內容######
[Unit]
Description=consul
[Service]
ExecStart=/usr/bin/consul agent -config-dir /etc/consul
KillSignal=SIGINT

五、創建配置文件

創建文件存放路徑: mkdir /etc/consul/
編輯文件: vim /etc/consul/server.json
#####以下爲server端文件內容,請注意中文說明部分需要修改######
{
  "datacenter": "數據中心名稱",
  "data_dir": "/tmp/consul",
  "log_level": "INFO",
  "node_name": "主機名",
  "server": true,
  "acl_enforce_version_8":false,
  "bootstrap_expect": 3,
  "client_addr": "0.0.0.0",
  "advertise_addr": "主機IP地址",
  "advertise_addr_wan": "主機外網IP地址",
  "domain":"consul",
  "ports":{
      "dns": 53
    },
  "telemetry": {
      "statsd_address": "127.0.0.1:8125"
  },
  "acl_datacenter": "數據中心名稱",
  "acl_agent_token": "請自行創建訪問token(字符串即可)",
  "acl_master_token": "請自行創建訪問token(字符串即可)",
  "acl_default_policy": "deny"
}

#####以下爲clent端配置文件############
{
  "datacenter": "數據中心名稱",
  "data_dir": "/tmp/consul",
  "log_level": "INFO",
  "node_name": "主機名",
  "acl_enforce_version_8":false,
  "acl_datacenter": "數據中心名稱",
  "bind_addr":"主機IP地址",
  "domain":"consul",
  "telemetry": {
      "statsd_address": "127.0.0.1:8125"
  },
  "rejoin_after_leave":true,
  "enable_script_checks":true,
  "acl_agent_token": "server端配置的token",
  "acl_master_token": "server端配置的token",
  "acl_default_policy": "deny"
}

六、啓動服務

systemctl start consul

七、查看日誌

 journalctl -fu consul

八、服務測試

curl -X PUT -d 'myvalue' localhost:8500/v1/kv/mykey
curl localhost:8500/v1/kv/mykey # will show you the key

curl localhost:8500/v1/kv/mykey # nothing is returned
curl localhost:8500/v1/kv/mykey?dc=[id_other_datacenter] # will again show you the key

九、集羣節點添加

consul join 集羣主機IP

十、多數據中心添加

consul join -wan [public_ip_address_other_server]

十一、使用技巧

日誌配置
rm -rf /etc/rsyslog.d/consul.conf
rm -rf /etc/logrotate.d/consul
echo ':programname, isequal, "consul" /var/log/consul.log' >> /etc/rsyslog.d/consul.conf
echo '& ~' >> /etc/rsyslog.d/consul.conf
echo '/var/log/consul.log' >> /etc/logrotate.d/consul
echo '{' >> /etc/logrotate.d/consul
echo '    daily' >> /etc/logrotate.d/consul
echo '    rotate 7' >> /etc/logrotate.d/consul
echo '    missingok' >> /etc/logrotate.d/consul
echo '    dateext' >> /etc/logrotate.d/consul
echo '    copytruncate' >> /etc/logrotate.d/consul
echo '    compress' >> /etc/logrotate.d/consul
echo '}' >> /etc/logrotate.d/consul

重啓服務
/bin/systemctl restart consul
配置開機啓動
echo "/bin/systemctl start consul" >> /etc/rc.local
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章