You are currently viewing Consul 安裝及設定

Consul 安裝及設定

安裝

Package manager

可以參考以下指令進行安裝

# CentOS 系列
dnf install -y yum-utils
dnf config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
dnf -y install consul

# Debian 系列
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install consul

Binary

hashicorp 官方下載點:https://releases.hashicorp.com/

請自行尋找需要的套件下載並解壓縮到相對應的目錄後,自行撰寫 systemd 啟動檔,啟動 Service。

設定

server

# datacenter name
datacenter         = "primary"
# node_name need be uniq in cluster
node_name          = "primay-node-3"
# cluster's base domain name
domain             = "mc.consul."
data_dir           = "/opt/consul"
# 預設服務 bind 的地址,可以使用 advertise 來改變 lan gossip 廣播的地址以及使用 advertise_addr_wan 來改變 wan gossip 地址
bind_addr          = "0.0.0.0"
# 預設 client 連接的地址
client_addr        = "0.0.0.0"
# 可以使用以下覆蓋給 client access 的 endpoint
# addresses {
#   dns      = "ip"
#   http     = "ip"
#   https    = "ip"
#   grpc     = "ip"
#   grpc_tls = "ip"
# }
server             = true
retry_join         = ["192.168.50.120", "192.168.50.79", "192.168.50.57"]
leave_on_terminate = true
bootstrap_expect   = 3
# serf_wan_allowed_cidrs = "cidr"
log_level               = "warn"
enable_syslog           = true
syslog_facility         = "LOCAL1"
use_streaming_backend   = true
# config 檔案改動後自動 reload service,可以自動 reload 的 service 請參考:https://developer.hashicorp.com/consul/docs/agent/config#reloadable-configuration
auto_reload_config      = true
encrypt                 = "xxxxxxxxxx"
encrypt_verify_incoming = true
encrypt_verify_outgoing = true

node_meta {
  instance_type = "t2.medium"
}

ui_config {
  enabled = true
}

# auto_encrypt {
#   allow_tls = true
# }

performance {
  raft_multiplier = 1
}

telemetry {
  prometheus_retention_time = "60s"
}

rpc {
  enable_streaming = true
}

autopilot {
  cleanup_dead_servers = true
  min_quorum           = 3
}

設定 /etc/rsyslog.d/consul.conf

local1.*                                                /var/log/consul.log

Beck Yeh

熱愛學習於 Linux 與 程式設計 在網站中分享各式各樣學習到的新知識

發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料