剛開始建置PRD環境時,總會怕漏設定了甚麼,一段時間的經驗累積後,總算有個樣子了,紀錄讓想使用的人參考。
server = true
bootstrap_expect = 3
ui = true
ui_config {
enable = true
dir = "/consul/data/ui/"
base_url "aaa.bbb.com"
}
acl {
enabled = true
default_policy = "deny"
enable_token_persistence = true
policy_ttl = 30s
role_ttl = 30s
token_ttl = 30s
tokens {
default = "xxx-xxx-xxx-xxx"
agent = "xxx-xxx-xxx-xxx"
}
}
datacenter = "east-aws"
data_dir = "/consul/data"
disable_update_check = true
node_name = "consul01"
client_addr = "10.x.x.x"
bind_addr = "10.x.x.x"
advertise_addr = "10.x.x.x"
verify_incoming = true
verify_outgoing = true
verify_incoming_https = true
verify_server_hostname = true
ca_file = "/consul/ssl/ca.cer"
cert_file = "/consul/ssl/cert.cer"
key_file = "/consul/ssl/key.key"
auto_encrypt{
allow_tls = true
}
connect {
enabled = true
}
limits {
http_max_conns_per_client = 600
https_handshake_timeout = 6s
rpc_handshake_timeout = 6s
rpc_max_conns_per_client = 100
}
addresses {
dns = "10.x.x.x"
http = "10.x.x.x"
https = "10.x.x.x"
grpc = "10.x.x.x"
}
ports {
dns = 53
http = 8500
https = 8501
grpc = 8502
}
audit {
enabled = true
sink "consul sink" {
type = "file"
format = "json"
path = "/consul/data/audit/audit.json"
delivery_guarantee = "best-effort"
rotate_duration = "1h"
rotate_max_files = 48
}
}
http_config {
use_cache = true
allow_write_http_from = ["127.0.0.1/8"]
block_endpoints = ["/v1/acl/create","/v1/acl/update"]
allow_write_http_from = ["127.0.0.0/8","10.x.x.x/16"]
}
domain = "aaa.bbb.com"
retry_join = ["10.x.x.x","10.x.x.x","10.x.x.x"]
retry_interval = "20s"
log_level = "DEBUG"
log_file = "/consul/logs/consul.log"
log_rotate_duration = "24h"
log_rotate_max_files = 14
performance {
raft_multiplier = 1
}
telemetry {
prometheus_retention_time = "10s"
disable_hostname = false
}
enable_local_script_checks = true