Как сделать, чтобы внутренний днс консула отдавал только живой ip, на котором работает сервис, ну postgres например. Сделал так
spoilerpostgres.json
consul.d# cat postgres.json
{
"services":[
{
"id":"pg_dbmaster",
"name":"postgres",
"address":"8.8.8.8",
"tags":[
"master"
],
"port":5432
},
{
"id":"pg_dbread",
"name":"postgres",
"address":"127.0.0.1",
"tags":[
"slave"
],
"port":5432,
"check":{
"name":"pg_dbread_check",
"tcp":"localhost:5432",
"interval":"10s",
"timeout":"1s"
}
}
]
}
на 127.0.0.1 ПГ специально дохлый, по идее на запрос должен отдавать только 8.8.8.8
dig @127.0.0.1 -p 8600 postgres.service.consul A +short
8.8.8.8
а он, редиска, отдаёт оба
dig @127.0.0.1 -p 8600 postgres.service.consul A +short
8.8.8.8
127.0.0.1