Sidecar ya VPN inahitaji kanuni ya kuanza na kanuni ya kushindwa
Kuanzisha handaki kabla ya programu hutatua mbio moja. Amua kwa faragha kile ambacho programu inaweza kutuma kabla ya utayari, wakati wa kushindwa kwa handaki na baada ya kuwasha upya.
Pod huanzisha kontena la handaki kabla ya programu na maombi ya kwanza hufanikiwa, na hiyo ndiyo hali inayoficha tatizo. Mpangilio hutatua mbio moja na hausemi chochote kuhusu trafiki ambayo programu huanzisha saa nne baadaye, baada ya handaki kushindwa. Hizi ni maamuzi mawili tofauti. Kwa kawaida moja tu ndilo hupangwa.
Mpangilio huzuia ombi la kwanza tu
Kubernetes inaunga mkono mzunguko wa maisha wa sidecar uliojengwa kwa kontena za init zinazoweza kuwashwa upya. Katika mtindo huo, uchunguzi wa kuanza unaweza kuzuia hatua inayofuata ya uanzishaji hadi handaki iripoti utayari. Hiyo ni uboreshaji wa kweli, na inafaa kutumika kwa makusudi badala ya kuongeza sleep kwenye script ya mahali pa kuingia. Lango ni zuri kama tu hali inayojaribiwa.
Nje ya mtindo huo, semantiki ya mpangilio ni ya runtime au mfumo wa utegemezi unaotumia, na hauhitaji kuendana. Uwekaji ulionakiliwa kutoka jukwaa lingine unaweza kuonekana ukisubiri handaki kwa sababu programu huanza polepole kwa bahati. Hiyo si dhamana hiyo hiyo, na inashindwa chini ya mzigo.
Sema kile lango huzingatia: mchakato upo, interface ipo, handshake imekamilika. Kila moja ya hayo ni dai dhaifu kuliko “njia ya data kuelekea maeneo ambayo pod hii inahitaji inafanya kazi”.
Tekeleza njia ya data badala ya kuifikiria
Uchunguzi ni ukaguzi wa wakati mmoja na firewall ni sifa inayotumika kati ya nyakati. Ikiwa hitaji ni kwamba trafiki ya programu isitoke nje ya handaki kamwe, lazima ielezwe katika nafasi ya jina la mtandao inayoshirikiwa kama kanuni ya kubali-au-tupa. Mpangilio wa kuanza kontena hauwezi kubeba hitaji hilo. Kanuni pekee inaweza.
Kontena katika pod moja hushiriki nafasi hiyo ya jina, kwa hivyo mahali pa utekelezaji ni nafasi ya jina yenyewe. Chochote unachoandika, lazima kiachie muunganisho wa nje wa handaki yenyewe upatikane, kwa sababu kuuzuia ili kulinda programu hukata njia ambayo programu inahitaji.
Amua sera ya kushindwa kwa uwazi: trafiki ya programu inapaswa kusimama kabisa wakati handaki haina afya, au iendelee na iwekwe alama kuwa haijalindwa? Zote mbili zinaweza kuteteleka, na hakuna hata moja ni kile unachopata kwa kuanzisha kontena kwa mpangilio fulani.
Jaribu trafiki ambayo hukuitaja
Chukua ombi jipya wakati wa kushindwa kwa handaki kudhibitiwa na uone kama linatoka. Kisha rudia ukaguzi kwa njia ambazo jaribio la anwani ya kutoka haligusi kamwe: utambuzi wa DNS ndani ya kundi, maeneo ya IPv6, na huduma zinazofikiwa kwa anwani za ndani ya kundi badala ya intaneti ya umma. Hizi ni njia zinazoendelea kufanya kazi kimya baada ya handaki kufa.
Ukurasa wa anwani ya kutoka unathibitisha kwamba ombi moja lilienda mahali ulipokuwa ukitarajia wakati huo. Hawezi kuorodhesha njia zingine, na pengo kati ya kile ulijaribu na kile pod inaweza kufikia ndipo ambapo kushindwa kwa kuvutia kunaishi.
Rudia jaribio baada ya kuwasha upya sidecar na si tu baada ya kuanza safi. Kontena la handaki lililowashwa upya linaweza kuacha nafasi ya jina na njia na sera katika hali ya kati.
Andika rekodi ya uwekaji
Mambo matatu yanamhusu maelezo ya uwekaji: jaribio la utayari na kile linachozingatia, hatua ya kurejesha wakati jaribio hilo linashindwa, na kanuni ya utekelezaji inayosimamia kutoka. Nyaraka za kontena za sidecar zinashughulikia mechanics ya mzunguko wa maisha na huacha uamuzi huo wa sera kwako. Mgawanyo huo ni sahihi, na ndiyo sababu sera hukosekana kwa kawaida.
Ukaguzi wa afya unaochukuliwa kama ulinzi ni aina ghali zaidi ya kiashiria cha kijani, kwa sababu huzuia watu kuuliza maswali. Kuitaja kwa usahihi katika nyaraka kunagharimu sentensi moja na huzuia hilo.
Mwisho, jaribu njia ya kurejesha mara moja wakati programu inafanya kazi. Muundo unaohitaji pod kuundwa upya ili kurejesha kutoka ni uamuzi, na unapaswa kuwa ule uliofanya wewe, si ule uliogundua.