GKE podlari 1.14 dan keyin VPN kirishni yo'qotdi: manbani tuzatishning ikki yo'li
1.14 dan keyin podlar VPN ga o'z manzillari bilan yetib boradi, shuning uchun tengdoshlar javoblarni tashlab yuboradi. Manba shartnomasini tanlang, keyin nonMasqueradeCIDRs ni unga moslang.
Yangilanish keladi va tunnelning narigi tomonidagi tizimlar o'tgan hafta ishlagan pod trafigini rad eta boshlaydi. Tunnel ko'tarilgan, xavfsizlik devori qoidalari tegilmagan va hech kim tengdosh siyosatini tahrirlamagan. O'zgargan narsa klaster jurnallarida ko'rinmaydi: o'sha tizimlar endi ko'rayotgan manba manzili. Bu tafovut tarmoq uzilishiga o'xshab ko'rinadigan va ruxsat muammosi kabi tutadigan nosozlikni tushuntiradi.
Ikki to'g'ri javob bor va ular sizni turli joylarga olib boradi. ConfigMap ni tahrirlashdan oldin manba shartnomasini tanlang.
O'rnatilishi to'xtatilgan standart qoida
GKE ning oldingi versiyalari masquerade qoidasini o'rnatardi, u manzil 10.0.0.0/8 dan tashqarida bo'lganda pod manbalarini tugun manzili bilan almashtirardi. Shu diapazon ichidagi VPN darvozasi pod manzilini ko'rardi, undan uzoqroq narsa esa tugundan kelgandek ko'rinardi. Tengdoshlar tugun manzillari atrofida ruxsat ro'yxatlari va qaytish yo'llarini qurdilar, chunki ular shuni kuzatgan.
Keyingi versiyalar bu standart qoidani o'rnatishni to'xtatdi. Pod trafigi endi manzil nima bo'lishidan qat'i nazar pod manzillari bilan darvozaga yetib boradi. Faqat tugun manzillarini yo'naltiruvchi tengdosh javoblarni tashlab yuboradi va hech bir tomon foydali jurnal yozuvi yozmaydi. So'rov uzoq uchida hatto muvaffaqiyatli bo'lishi mumkin, va bu nosozlikni kuzatishni chalkashtiradi.
O'lik komponent ma'nosida hech narsa buzilmagan. Ikki tomon shunchaki qaysi manba qonuniy ekani borasida kelisha olmayapti.
Tengdosh ko'rishi kerak bo'lgan manbani tanlang
Pod manzillarini saqlash aniqroq shartnoma. Uzoq tomon trafikni yaratgan ish yukini ko'radi, jurnallar halol qoladi va har bir pod uchun siyosat mumkin bo'ladi. Narxi shundaki, tengdosh pod prefiksini olib yurishi kerak.
Tugun manzillarini saqlash arzonroq shartnoma. Shu manzil uchun masquerade ni qayta yoqing, tengdosh o'zi ishonadigan manzilni ko'rishda davom etadi.
Bir savol ular orasida hal qiladi: tengdosh manba bilan nima qiladi? Agar jurnal yozsa, manba bo'yicha siyosat qo'llasa yoki tor qaytish yo'naltirishini talab qilsa, pod manzillari qo'shimcha konfiguratsiyani oqlaydi. Agar faqat javob yuborish kerak bo'lsa, masquerade arzonroq va narigi tomondan hech narsa talab qilmaydi. Ikkala jamoa yozib qo'ysa, har qanday tanlov himoya qilinadi.
Uchinchi variant odatda xato: hammasini masquerade qilish va trafikni bog'lash qobiliyatini yo'qotish. Tengdosh haqiqatan ham tugun manzillaridan boshqa hech narsani yo'naltira olmasa, undan saqlaning.
nonMasqueradeCIDRs ni haqiqiy diapazonlarga yo'naltiring
GKE kube-system da ip-masq-agent ni ishga tushiradi va uning ConfigMap masquerade dan o'tadigan manzillarni sanab beradi. Pod manbalarini tunnel tomon saqlash uchun pod diapazoni, tugun quyi tarmog'i va mahalliy prefiks barchasi shu ro'yxatga kiradi.
Namuna qiymatlarni o'z klasteringiz diapazonlari bilan almashtiring. Ro'yxatni talabdan kengroq qilmang, chunki har bir qo'shimcha yozuv boshqa manzil nima ko'rishini o'zgartiradi. Quyidagi uch yozuv pod tarmog'i, tugun quyi tarmog'i va tunnel orqasidagi prefiksni ifodalaydi:
nonMasqueradeCIDRs:
- 10.12.0.0/14
- 10.100.0.0/16
- 172.16.0.0/12
masqLinkLocal: false
resyncInterval: 60s0.0.0.0/0 yozuvi barcha manzillar uchun masquerade ni o'chiradi, bu aloqasiz ish yuklarining tashqi xizmatlarga qanday ko'rinishini o'zgartiradi va kamdan-kam ataylab qilinadi. Agent konfiguratsiyasini resyncInterval da qayta o'qiydi, shuning uchun qayta ishga tushirish odatda kerak emas. Agent podi ishlayotganini tekshiring, keyin uning ichidagi o'rnatilgan faylni oching. Aynan shu faylni o'qish o'zgarish yetib kelganini isbotlaydi.
Javob yo'li ikkinchi yarmidir
Masquerade faqat so'rov manbasini o'zgartiradi va boshqa hech narsani. Tengdosh qaysi manbani olsa ham, unga qaytish yo'li hali ham kerak, klasterga esa tengdosh tomon yo'l hali ham kerak.
VPN darvozasidagi ushlash ikki nosozlikni tez ajratadi. Pod manzillari bilan kelib hech qachon javob olmaydigan paketlar tengdoshda pod prefiksi uchun yo'l yo'qligini bildiradi. Darvozada ko'rinib klasterga hech qachon yetib bormaydigan javob mahalliy yo'l yo'qligini bildiradi. Qanday bo'lsa ham shartnomani tikketga yozing: tengdosh qaysi manbani ko'radi va javobni qaysi prefiksga qaytaradi.
Har bir yangilanishdan keyin qayta tekshiring
Masquerade ning standart xatti-harakati allaqachon bir marta o'zgargan, tugunlar hovlisini almashtirish klaster tarmog'ini qayta sozlashi mumkin. Manba shartnomasiga taxmin qilinadigan emas, tekshiriladigan narsa sifatida qarang.
Yangilanishdan keyin bitta poddan mahalliy xizmatga bitta so'rov yuboring va tengdosh jurnalga yozadigan manbani o'qing. Aynan shu bitta kuzatuv tunnel holati sahifasi xursandchilik bilan sog'lom deb xabar beradigan regressiyani ushlaydi. Uni takrorlash bir daqiqa oladi va keyingi odamning bir oqshomini tejaydi.