Table of Contents
安裝
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