Сделана связка Spotinst + Route53 Integration. Идея простая - изменился состав или количество Backend Spot EG, это отразилось в записи Route53, например prod-event.prod-us.local.
Теперь надо сделать для Haproxy DNS resolve для бэков:
Новая секция в haproxy.cfg:
resolvers aws
parse-resolv-conf
resolve_retries 3
timeout resolve 1s
timeout retry 1s
hold timeout 10s
hold valid 10s
hold obsolete 10s
Для Nginx - кусок из конфига с опциями по теме:
server {
resolver 127.0.0.1 valid=10s;
location ~* /(event|callback|rejection) {
set $backend_servers prod-event.prod-us.local;
proxy_pass http://$backend_servers:80;
}
Теперь надо сделать для Haproxy DNS resolve для бэков:
Новая секция в haproxy.cfg:
resolvers aws
parse-resolv-conf
resolve_retries 3
timeout resolve 1s
timeout retry 1s
hold timeout 10s
hold valid 10s
hold obsolete 10s
Очень важно добавить в секцию default:
default-server init-addr last,libc,none
Иначе при старте ничего не отрезолвится и будет всегда висеть 0 Backends
И секция для бэков такая например:
backend events
server-template event 1-3 prod-event.prod-us.local:80 check resolvers aws
ну и hatop покажет список из 3-х серверов, те что живы будут UP.
Для Nginx - кусок из конфига с опциями по теме:
server {
resolver 127.0.0.1 valid=10s;
location ~* /(event|callback|rejection) {
set $backend_servers prod-event.prod-us.local;
proxy_pass http://$backend_servers:80;
}
Комментариев нет:
Отправить комментарий