Tetapan static_host_map dan advertise_addrs kedua-duanya meletakkan alamat di hadapan peer, dan ia menjawab soalan yang berbeza. Satu ialah fail tempatan yang menyenaraikan alamat overlay dan titik hujung underlay untuk didail. Satu lagi ialah hos yang memberitahu rumah apinya titik hujung tambahan mana yang boleh mencapainya. Pemilikan ialah perbezaan sebenar: peta diselenggara oleh semua yang memerlukannya, dan iklan oleh hos itu sendiri.

Putuskan mengikut siapa yang memiliki maklumat

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

Setiap peer yang berubah dalam fail statik setiap peer ialah kerja penyelenggaraan yang tumbuh dengan kuasa dua armada. Itulah sebab praktikal untuk beralih kepada tetapan lain setiap kali hos sendiri tahu jawapannya.

Soalan pemilikan juga meramalkan apa yang berlaku apabila alamat berubah. Dengan peta statik, seseorang perlu mengingati setiap peer yang memegang entri lama. Dengan iklan, hos menerbitkan titik hujung baharu dan rumah apinya menyampaikannya, jadi perubahan kekal setempat pada mesin yang berpindah.

Bootstrap masih memerlukan entri statik

Klien mesti mencapai sekurang-kurangnya satu rumah api sebelum boleh bertanya kepada sesiapa tentang peer lain. Lompatan pertama itu tidak boleh datang daripada penemuan, jadi ia bergantung pada entri statik dalam konfigurasi klien. Betulkan entri yang satu itu dan selebihnya overlay boleh dipelajari.

Entri peta memasangkan alamat Nebula dengan satu atau lebih titik hujung IP atau DNS yang boleh dicapai dan port. Menyimpan rumah api di situ adalah normal; menyimpan setiap peer di situ ialah corak yang menua dengan buruk, kerana setiap peer baharu bermakna menyunting fail pada mesin yang mungkin tidak anda kawal. Pastikan senarai cukup pendek supaya seseorang masih boleh mengesahkannya dengan membacanya.

Iklankan apabila hos tahu titik hujung

Hos di belakang pengusiran port boleh dicapai pada alamat awam yang tidak diberikan kepada mana-mana antara mukanya sendiri. Ia tidak boleh menemui alamat itu dengan melihat dirinya sendiri. advertise_addrs membolehkannya menerbitkan titik hujung melalui rumah apinya supaya peer lain mempelajari laluan yang benar-benar berfungsi. Tetapan ini wujud kerana hos ialah satu-satunya pihak yang tahu pemetaan itu telah dibuat.

Gunakan alamat dan port yang benar-benar boleh dicapai oleh peer lain. Penaakulan yang sama terpakai kepada hos dengan beberapa laluan rangkaian, di mana satu laluan lebih baik untuk peer pada rangkaian tertentu. Iklan ialah kenyataan tentang underlay, bukan permintaan untuk apa-apa. Apabila pemetaan berubah, kemas kini iklan pada hos dan biarkan penemuan membawanya, bukannya menyunting fail statik di seluruh armada.

Iklan bukan kebolehcapaian

Menerbitkan titik hujung tidak mencipta peraturan pengusiran penghala, tidak membuka firewall di hulu dan tidak membuat nama DNS diselesaikan. Itu bahagian kerja yang berasingan, dan iklan yang betul dengan pengusiran port yang hilang menghasilkan tepat kegagalan yang cuba anda baiki. Iklan ialah dakwaan tentang kebolehcapaian, bukan mekanisme yang menetapkannya.

Periksa laluan dari luar sebelum menyalahkan penemuan. Peer yang mempelajari titik hujung tetapi tidak dapat menyelesaikan handshake mempunyai masalah penghalaan atau penapisan pada underlay, dan mengulang alamat yang sama dalam kedua-dua tetapan tidak akan mengubahnya.

Kekalkan alamat overlay berasingan daripada titik hujung

Sijil nod mengenal pasti alamat Nebula-nya. Alamat yang diiklankan tergolong dalam rangkaian asas, dan boleh berubah tanpa menyentuh sijil. Mengeluarkan sijil baharu dengan IP overlay yang berbeza ialah operasi berbeza, dengan akibatnya sendiri bagi setiap hubungan kepercayaan yang menyematkan yang lama. Kekalkan dua perubahan itu berasingan dalam runbook, atau pemindahan titik hujung akan direkodkan sebagai pengeluaran semula.

Apabila triaj terhenti, pisahkan kedua-dua lapisan secara jelas: adakah penemuan mengembalikan titik hujung yang dijangka, dan adakah handshake mencapainya? Jika penemuan betul dan paket gagal, masalahnya di bawah overlay. Jika penemuan salah, masalahnya dalam peta atau iklan, dan pembaikan itu tergolong di situ.

Artikel berkaitan