AKS VPN orqasidagi xususiy registry-dan image torta olmaydi
kubelet image-ni pod VPN-i orqali emas, node tarmog@APOS@i orqali tortadi. Node marshrutlari, node DNS, tortish tegadigan har bir endpoint, keyin TLS va identifikatsiya bo@APOS@yicha qaror qiling.
Noutbukingiz image-ni muammosiz tortadi, lekin pod ImagePullBackOff holatida qoladi. Korporativ VPN klientini sidecar sifatida ishga tushirish taklifi yordam bermaydi, chunki tortish sizning konteyneringiz paydo bo’lishidan oldin sodir bo’ladi: kubelet node-dagi container runtime-dan image-ni olib kelishni so’raydi, runtime esa node tarmoq namespace-dan foydalanadi.
Amallar tartibi qatlamni belgilaydi
Avval nomni aniqlash, keyin ulanish, autentifikatsiya, qatlamlarni yuklab olish va shundan keyingina konteyner ishga tushadi. Pod VPN bilan qiladigan hamma narsa shundan keyin sodir bo’ladi, shuning uchun klasterda ishlayotgan tunnel tortishga dalil emas.
Shuning uchun keshdagi image shunday ishonarli yolg’on: haftalar oldin image tortgan node uni beraveradi, deployment sog’lom ko’rinadi va xato faqat yangi node-ga replica qo’yilganda ko’rinadi. scale-up yoki node almashtirish sabab emas, turtki.
Uch shart tuzatishni belgilaydi
Kirish imkoniyati marshrutlash, nomlarni aniqlash va endpoint to’plamiga bog’liq. Agar node subnet-i registry tarmog’iga marshrut bera olmasa, hech qanday credential yordam bermaydi. Nom node DNS orqali aniqlanmasa, ulanish boshlanmaydi. Faqat manifest yetib, blob yetmasa, tortish o’rtasida uziladi.
| Condition | Typical symptom | Where to look |
|---|---|---|
| Node subnet has no route to the registry network | Timeout, no connection | Effective routes on the node NIC, gateway transit, return path on-premises |
| Node resolver cannot see the private zone | Name resolution failure in events | VNet DNS settings and the resolver the node actually uses |
| Only the manifest endpoint is reachable | Auth succeeds, layer download fails | Every hostname the registry hands out during the pull |
| TLS or identity is wrong | Certificate error, 401 or 403 | Server certificate name and trust, scoped pull identity |
Faqat VNet peering barcha gateway transit sozlamalarini bermaydi, bir yo’nalishli marshrut ishlaydigan marshrut emas. Node-ga VPN gateway orqali qo’llab-quvvatlanadigan yo’l, registry tomoniga esa node subnet-iga qaytish marshruti kerak.
Tuzatishni tanlashdan oldin xatoni o’qing
Pod hodisalari va u tushgan node-dan boshlang, haqiqiy nomlaringiz bilan: kubectl describe pod app-example -n team-example va kubectl get pod app-example -n team-example -o wide. Hodisa matni aniqlanmagan hostname-ni timeout-dan, certificate rad etilishini yo’q image-dan va ruxsat xatosini ularning hammasidan ajratadi.
Autentifikatsiya eng ko’p oshirib baholangan vosita. imagePullSecret runtime-ga registry credential-larini beradi; u marshrut o’rnatmaydi, node resolver-ini o’zgartirmaydi va ishonchsiz certificate-ni haqiqiy qilmaydi. Hodisa tortish ruxsat etilmagan desa, identifikatsiya doirasiga qarang; ulanish timeout bo’ldi desa, credential ahamiyatsiz.
Kubernetes image hujjati tortish xatti-harakati va xususiy registry credential-lari uchun manba bo’lib, tarmoqni o’zgartirishdan oldin bir marta o’qishga arziydi, chunki u autentifikatsiya va transport o’rtasidagi chegarani aniq ko’rsatadi.
Pod ostida yo’l quring
Shu tartibda ishlang. Avval node tarmog’ini marshrutlang: subnet-ning registry tarmog’iga qo’llab-quvvatlanadigan yo’li borligini tasdiqlang, node-dagi amaldagi marshrutlar, ikki tomondagi xavfsizlik qoidalari va registry tomonidagi qaytish marshrutini tekshiring.
Keyin nomni node kontekstidan aniqlang. Node resolver-i pod DNS sozlamasi emas va pod ichidagi muvaffaqiyat host runtime uchun dalil emas. Doimiy hosts yozuvi o’rniga boshqariladigan xususiy DNS dan foydalaning; yozuv node almashtirilgunga qadar yashaydi, keyin jimgina yo’qoladi.
Keyin har bir endpoint-ni isbotlang. Registry mijozga alohida autentifikatsiya xizmati va alohida blob saqlash joyi berishi mumkin. Manifest-ga yetish qatlamlar haqida deyarli hech narsani isbotlamaydi. Oxirida TLS va ruxsatni tugating: registry nomiga mos va qo’llab-quvvatlanadigan node konfiguratsiyasi orqali ishonchli certificate, hamda shu repozitoriyni o’qish bilan cheklangan tortish identifikatsiyasi.
Qo’lda tuzatmagan node-da tekshiring
Muhim sinov mos node-da yangi tortish va barcha qatlamlarni to’liq yuklab olish, afzali scale yoki almashtirish orqali yaratilgan node-da. Bu workload joylashtirishi mumkin bo’lgan barcha pool-larni, unutilganlarini ham qamrab oladi. Bitta node-dagi qo’lda tuzatish deployment modeli emas va keyingi autoscale hodisasi bo’shliqni topadi.
Klasteri boshqa VNet da qayta qurish yo’lni o’zgartirishi mumkin, lekin bu birinchi diagnostika qadami emas, oxirgi chora. Migratsiya taklif qilishdan oldin mavjud node tarmog’ini kerakli xususiy marshrut va qo’llab-quvvatlanadigan AKS tarmoq boshqaruvi bilan solishtiring, ishga tushgandan keyingi ilova ulanishini alohida tekshiruv sifatida saqlang: pod-ning backend bilan gaplashishi node-ning image yuklashidan boshqa tekshiruv.