Pod tunnel konteynerini ilovadan oldin ishga tushiradi va birinchi so'rovlar muvaffaqiyatli bo'ladi, va aynan shu holat muammoni yashiradi. Tartib bitta poygani tuzatadi va tunnel nosoz bo'lganidan to'rt soat keyin ilova boshlaydigan trafik haqida hech narsa demaydi. Bu ikki alohida qaror. Odatda faqat bittasi loyihalanadi.

Tartib faqat birinchi so'rovni to'sadi

Kubernetes qayta ishga tushiriladigan init konteynerlardan qurilgan yordamchi konteyner hayot siklini qo'llab-quvvatlaydi. Bu modelda ishga tushirish probasi tunnel tayyorligini bildirgunga qadar keyingi ishga tushirish qadamini ushlab turishi mumkin. Bu haqiqiy yaxshilanish va uni kirish nuqtasi skriptiga sleep qo'shish o'rniga ataylab ishlatishga arziydi. Darvoza faqat tekshiradigan shartiga qarab yaxshi bo'ladi.

Bu modeldan tashqarida tartib semantikasi siz ishlatayotgan ishlash muhiti yoki bog'liqlik tizimiga tegishli va ular mos kelishi shart emas. Boshqa platformadan ko'chirilgan joylashtirish tunnelni kutayotgandek ko'rinishi mumkin, chunki ilova tasodifan sekin boshlanadi. Bu bir xil kafolat emas va yuk ostida muvaffaqiyatsiz bo'ladi.

Darvoza nimani kuzatishini ayting: jarayon bor, interfeys bor, handshake tugadi. Ularning har biri «bu podga kerak bo'lgan manzillargacha ma'lumot yo'li ishlaydi» degan da'vodan zaifroq.

Ma'lumot yo'lini taxmin qilish o'rniga majburlang

Proba bir lahzadagi tekshiruv, firewall esa lahzalar orasida amal qiladigan xususiyat. Agar talab ilova trafigi hech qachon tunneldan chiqmasligi bo'lsa, uni umumiy tarmoq nom maydonida qabul-qil-yoki-tashla qoidasi sifatida ifodalash kerak. Konteynerlarni ishga tushirish tartibi bu talabni ko'tara olmaydi. Faqat qoida ko'tara oladi.

Bitta poddagi konteynerlar o'sha nom maydonini bo'lishadi, shuning uchun majburlash nuqtasi nom maydonining o'zi. Nima yozsangiz ham, u tunnelning o'z tashqi ulanishini ochiq qoldirishi kerak, chunki ilovani himoya qilish uchun uni bloklash ilovaga kerak bo'lgan yo'lni kesadi.

Nosozlik siyosatini aniq hal qiling: tunnel sog'lom bo'lmaganda ilova trafigi butunlay to'xtashi kerakmi yoki davom etib, himoyalanmagan deb belgilanishi kerakmi? Ikkisi ham asosli va hech biri konteynerlarni ma'lum tartibda ishga tushirish bilan olinmaydi.

Aytmagan trafikingizni sinab ko'ring

Nazorat qilinadigan tunnel nosozligi paytida yangi so'rov yuboring va u chiqadimi-yo'qmi qarang. So'ngra chiqish manzili testi hech qachon tegmaydigan yo'llar uchun tekshiruvni takrorlang: klaster ichida DNS hal qilish, IPv6 manzillari va ommaviy internet o'rniga klaster ichki manzillari orqali erishiladigan xizmatlar. Tunnel o'lgandan keyin ham jimgina ishlashda davom etadigan yo'llar shular.

Chiqish manzili sahifasi bitta so'rov o'sha lahzada kutgan joyingizga borganini isbotlaydi. U boshqa yo'llarni ro'yxatga olmaydi va siz sinagan narsa bilan pod yeta oladigan narsa orasidagi bo'shliq qiziqarli nosozliklar yashaydigan joy.

Testni faqat toza ishga tushirishdan keyin emas, yordamchi konteyner qayta ishga tushirilgandan keyin ham takrorlang. Qayta ishga tushirilgan tunnel konteyneri nom maydonini marshrutlar va siyosat bilan oraliq holatda qoldirishi mumkin.

Joylashtirish yozuvini yozing

Joylashtirish eslatmalariga uchta fakt kiradi: tayyorlik testi va u nimani kuzatadi, bu test muvaffaqiyatsiz bo'lganda tiklash harakati va chiqishni boshqaradigan majburlash qoidasi. Yordamchi konteynerlar hujjati hayot sikli mexanikasini qamrab oladi va bu siyosat qarorini sizga qoldiradi. Bu bo'linish to'g'ri va siyosat odatda yo'q bo'lishining sababi ham shu.

Himoya deb adashilgan salomatlik tekshiruvi eng qimmat yashil ko'rsatkich turi, chunki u odamlarni savol berishdan to'xtatadi. Uni hujjatlarda aniq nomlash bitta gapga tushadi va buni oldini oladi.

Nihoyat, ilova ishlab turganda tiklash yo'lini bir marta sinab ko'ring. Chiqishni tiklash uchun podni qayta yaratishni talab qiladigan dizayn — bu qaror va u siz qabul qilgan qaror bo'lishi kerak, kashf qilgan narsangiz emas.

O'xshash maqolalar