Nastavenia static_host_map a advertise_addrs obe stavajú adresu pred peer a odpovedajú na rôzne otázky. Jedno je miestny súbor so zoznamom overlay adresy a koncového bodu underlay, na ktorý sa pripojiť. Druhé je hostiteľ, ktorý svojim majákom hovorí, ktoré ďalšie koncové body sa k nemu môžu dostať. Skutočný rozdiel je vlastníctvo: mapu udržiava každý, kto ju potrebuje, a inzerát sám hostiteľ.

Rozhodujte sa podľa toho, kto informáciu vlastní

SettingWhere it livesBest for
static_host_mapEvery peer that needs the entryBootstrap endpoints, deliberately fixed paths
advertise_addrsThe host's own configEndpoints the host cannot otherwise discover

Každý meniaci sa peer v statickom súbore každého peera je údržbová práca, ktorá rastie s druhou mocninou flotily. To je praktický dôvod siahnuť po druhom nastavení, keď hostiteľ sám pozná odpoveď.

Otázka vlastníctva tiež predpovedá, čo sa stane, keď sa adresa zmení. So statickou mapou si niekto musí pamätať každého peera, ktorý drží starý záznam. S inzerátom hostiteľ zverejní nový koncový bod a jeho majáky ho odovzdajú ďalej, takže zmena zostane lokálna na stroji, ktorý sa presťahoval.

Bootstrap stále potrebuje statické záznamy

Klient musí dosiahnuť aspoň jeden maják, než sa môže niekoho opýtať na iných peerov. Ten prvý skok nemôže prísť z objavovania, takže prichádza z statického záznamu v konfigurácii klienta. Urobte ten jeden záznam správnym a zvyšok overlay sa dá naučiť.

Záznam mapy spája Nebula adresu s jedným alebo viacerými dostupnými koncovými bodmi IP alebo DNS a portmi. Držať tam majáky je normálne; držať tam každého peera je vzor, ktorý zle starne, pretože každý nový peer znamená úpravu súborov na strojoch, ktoré možno neovládate. Držte zoznam dosť krátky, aby ho človek ešte mohol overiť prečítaním.

Inzerujte, keď hostiteľ pozná koncový bod

Hostiteľ za presmerovaním portov je dostupný na verejnej adrese, ktorá nie je priradená žiadnemu z jeho vlastných rozhraní. Nemôže túto adresu objaviť tým, že sa pozrie na seba. advertise_addrs mu umožňuje zverejniť koncový bod cez jeho majáky, aby sa ostatní peeri naučili cestu, ktorá skutočne funguje. Nastavenie existuje práve preto, že hostiteľ je jediná strana, ktorá vie, že mapovanie bolo vykonané.

Použite adresu a port, na ktoré sa ostatní peeri skutočne dostanú. Rovnaká úvaha platí pre hostiteľa s niekoľkými sieťovými cestami, kde je jedna cesta vhodnejšia pre peerov v určitej sieti. Inzerát je tvrdenie o underlay, nie žiadosť o čokoľvek. Keď sa mapovanie zmení, aktualizujte inzerát na hostiteľovi a nechajte objavovanie, aby ho nieslo, namiesto úpravy statických súborov v celej flotile.

Inzerát nie je dostupnosť

Zverejnenie koncového bodu nevytvára pravidlo presmerovania routera, neotvára firewall vyššie v ceste a nespôsobuje, že sa DNS meno vyrieši. To sú oddelené kusy práce a správny inzerát s chýbajúcim presmerovaním portu vytvára presne tú poruchu, ktorú ste sa snažili opraviť. Inzerát je tvrdenie o dostupnosti, nie mechanizmus, ktorý ju ustanovuje.

Pred obvinením objavovania skontrolujte cestu zvonku. Peer, ktorý sa naučí koncový bod, ale nedokáže dokončiť handshake, má problém so smerovaním alebo filtrovaním na underlay a opakovanie rovnakej adresy v oboch nastaveniach to nezmení.

Držte overlay adresu oddelene od koncového bodu

Certifikát uzla identifikuje jeho Nebula adresu. Inzerované adresy patria podkladovej sieti a smú sa meniť bez zásahu do certifikátu. Vydanie nového certifikátu s inou overlay IP je iná operácia s vlastnými dôsledkami pre každý vzťah dôvery, ktorý pripol tú starú. Držte obe zmeny oddelene v runbooku, inak bude presun koncového bodu zaznamenaný ako opätovné vydanie.

Keď triage uviazne, výslovne oddeľte obe vrstvy: vracia objavovanie očakávaný koncový bod a dostane sa k nemu handshake? Ak je objavovanie správne a pakety zlyhávajú, problém je pod overlay. Ak je objavovanie nesprávne, problém je v mape alebo v inzeráte a oprava patrí tam.

Súvisiace články