Как сделать, чтобы внутренний днс консула отдавал только живой ip, на котором работает сервис, ну постгрес например. Сделал так
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
а он, редиска, отдаёт оба
8.8.8.8
127.0.0.1