101
¶
- server config exmple
/ # more consul/config/server.json
{
"datacenter": "dc1",
"bind_addr": "0.0.0.0",
"client_addr": "0.0.0.0",
"data_dir": "/consul/data",
"log_level": "INFO",
"node_name": "ConsulServer0",
"server": true,
"ui": true,
"bootstrap_expect": 3,
"leave_on_terminate": false,
"skip_leave_on_interrupt": true,
"rejoin_after_leave": true,
"retry_join": [
"consul-server-0:8301",
"consul-server-1:8301",
"consul-server-2:8301"
]
}
- client agent config example
{
"datacenter": "dc1",
"server": false,
"bind_addr": "0.0.0.0",
"client_addr": "0.0.0.0",
"data_dir": "/consul/data",
"log_level": "INFO",
"node_name": "App",
"ui": true,
"retry_join": [
"consul-server-0:8301",
"consul-server-1:8301",
"consul-server-2:8301"
]
}
- sidecar for noobies
server
{
"service": {
"name": "wordpress",
"tags": [
"wordpress",
"production"
],
"port": 80,
"connect": {"sidecar_service": {} },
"check": {
"id": "wordpress",
"name": "wordpress TCP on port 80",
"tcp": "localhost:80",
"interval": "10s",
"timeout": "1s"
}
}
}
client
{
"service": {
"name": "wordpress",
"tags": [
"wordpress",
"production"
],
"port": 80,
"connect": {
"sidecar_service": {
"proxy": {
"upstreams": [
{
"destination_name": "mysql",
"local_bind_port": 3306
}
]
}
}
},
"check": {
"id": "wordpress",
"name": "wordpress TCP on port 80",
"tcp": "localhost:80",
"interval": "10s",
"timeout": "1s"
}
}
}
¶
consul operator raft list-peersgives the list of active servers
API tips and tricks¶
Logs:
curl -s http://127.0.0.1:8500/v1/agent/monitor (CTRL-C to escape)
List Members:
curl -s http://127.0.0.1:8500/v1/agent/members | jq
Get Consul Leader:
curl -s http://127.0.0.1:8500/v1/status/leader | jq
Agent Info:
curl -s http://127.0.0.1:8500/v1/agent/self | jq
/usr/local/bin/consul agent -config-dir /consul/config
envoy admin API: curl localhost:19000/listeners