Correctly resolve Mimir IP address
Problem
Automatyczne rozwiązywanie domeny Mimira na adres IP na podstawie DNS-a w trakcie deploymentu nie działa w tej chwili poprawnie (ref: #210 (closed)).
(Opis przeklejony z komentarza).
Mamy dwa adresy monitoringu:
- dla usług w sieci wewnętrznej:
metrics.apl.task.gda.pl
/ 153.19.251.145, - dla usług w sieci zewnętrznej:
ext-metrics.apl.task.gda.pl
/ 153.19.238.4.
Spodziewałem się, że ten "wewnętrzny" adres będzie osiągalny tylko z sieci wewnętrznej, a ten "zewnętrzny" - z każdej. Tymczasem wg moich testów jest odwrotnie:
adres monitoringu | maszyna w sieci corporate
|
maszyna w sieci ext-net
|
---|---|---|
wewnętrzny - metrics.apl.task.gda.pl
|
działa poprawnie | curl przechodzi poprawnie (zawsze), ale ginie połowa próbek |
zewnętrzny - ext-metrics.apl.task.gda.pl
|
brak połączenia | działa poprawnie |
Testowane takim poleceniem, gdyby ktoś chciał potestować u siebie:
PREFIX="ext-"; \
DOMAIN="metrics.apl.task.gda.pl"; \
RESOLVED_IP="$(getent hosts "${PREFIX}${DOMAIN}" | awk '{ print $1 }')"; \
curl \
--connect-timeout 5 \
--head \
--resolve "${DOMAIN}:443:${RESOLVED_IP}" \
"https://${DOMAIN}/engine/api/v1/push"
Jeśli jest połączenie, zwraca 401, jeśli nie ma - leci timeout.
Rozwiązanie
Wniosek jest taki, że adres zewnętrzny (ext-
) musi być preferowany względem wewnętrznego
Edited by Tomasz Ziółkowski