Ноутбукуңуз образды кыйынчылыксыз тартат, бирок pod ImagePullBackOff абалында калат. Корпоративдик VPN кардарын sidecar катары иштетүү сунушу жардам бербейт, анткени тартуу контейнериңиз пайда боло электе болот: kubelet node-догу container runtime-дан образды алып келүүнү өтүнөт, runtime node-дун тармактык namespace колдонот.

Операциялардын тартиби катмарды аныктайт

Алгач атты чечүү, анан туташуу, аутентификация жана катмарларды жүктөө, ошондон кийин гана контейнер башталат. Pod-дун VPN менен кылганы ушунун баарынан кийин болот, ошондуктан кластерде иштеп жаткан туннель тартууга далил эмес.

Ошондуктан кэштеги образ ушунчалык ишенимдүү жалган: апталар мурун тарткан node аны берүүнү улантат, deployment соо көрүнөт, ал эми ката жаңы node-го replica коюлганда гана чыгат. scale-up же node алмаштыруу себеп эмес, түрткү.

Үч шарт оңдоону аныктайт

Жеткиликтүүлүк маршруттоого, аттарды чечүүгө жана endpoint жыйындысына байланыштуу. Эгер node-дун subnet registry тармагына маршруттай албаса, эч бир credential жардам бербейт. Эгер ат node DNS аркылуу чечилбесе, туташуу башталбайт. Тек manifest жетсе, blob жетпесе, тартуу ортосунда үзүлөт.

ConditionTypical symptomWhere to look
Node subnet has no route to the registry networkTimeout, no connectionEffective routes on the node NIC, gateway transit, return path on-premises
Node resolver cannot see the private zoneName resolution failure in eventsVNet DNS settings and the resolver the node actually uses
Only the manifest endpoint is reachableAuth succeeds, layer download failsEvery hostname the registry hands out during the pull
TLS or identity is wrongCertificate error, 401 or 403Server certificate name and trust, scoped pull identity

Жалгыз VNet peering gateway transit-тин бардык конфигурациясын бербейт, ал эми бир багыттагы маршрут иштеген маршрут эмес. Node-го көздөлгөн VPN gateway аркылуу колдоого алынган жол, registry тарабына node subnet-ине кайтуу маршруту керек.

Чечим тандоодон мурун катаны окуңуз

Pod окуяларынан жана ал түшкөн node-тон баштаңыз, чыныгы аттарыңыз менен: kubectl describe pod app-example -n team-example жана kubectl get pod app-example -n team-example -o wide. Окуя тексти чечилбеген hostname-ди timeout-тон, сертификаттан баш тартууну жок образдан, ал эми авторизация катасын ошолордун баарынан ажыратат.

Аутентификация эң ашыкча бааланган курал. imagePullSecret runtime-га registry credential берет; ал маршрут орнотпойт, resolver-ди өзгөртпөйт жана ишенимсиз сертификатты жарактуу кылбайт. Окуя тартуу уруксатсыз болду десе, инсандын көлөмүн караңыз; байланыш убактысы өттү десе, credential маанисиз.

Kubernetes образдар документтери тартуу жүрүм-турумунун жана жеке registry credential-деринин булагы, жана тармакты өзгөртүүдөн мурун бир жолу окуган жөн, анткени ал аутентификация менен транспорттун ортосундагы чекти тактайт.

Pod-дун астында жол куруңуз

Ушундай тартипте иштеңиз. Адегенде node тармагын маршруттаңыз: subnet-тин registry тармагына колдоого алынган жолу бар экенин ырастаңыз, node-догу нактай маршруттарды, эки четтеги коопсуздук эрежелерин жана registry тарабындагы кайтуу маршрутун текшериңиз.

Анан атты node контекстинен чечиңиз. Node resolver pod DNS конфигурациясы эмес, ал эми pod ичиндеги ийгилик host runtime-га далил эмес. Туруктуу hosts жазуусунун ордуна башкарылуучу жеке DNS колдонуңуз; жазуу node алмаштырылганга чейин турат, анан үнсүз жоголот.

Анан ар бир endpoint-ти далилдеңиз. Registry кардарга өзүнчө аутентификация кызматын жана өзүнчө blob сактагычын бере алат. Manifest-ке жетүү катмарлар жөнүндө дээрлик эч нерсе далилдебейт. Акырында TLS жана авторизацияны бүтүрүңүз: registry атына жарактуу жана колдоого алынган node конфигурациясы менен ишенимдүү сертификат, кошумча ошол репозиторийди окууга чектелген тартуу инсандыгы.

Кол менен оңдолбогон node-до текшериңиз

Маанилүү сыноо — ылайыктуу node-до жаңы тартуу жана бардык катмарларды толук жүктөө, айрыкча scale же алмаштыруу аркылуу жаралган node-до. Бул workload жайгаштыра ала турган бардык pool-ду камтыйт, унутулгандарын да. Бир node-догу кол оңдоо deployment модели эмес, кийинки autoscale окуясы кемчиликти табат.

Кластерди башка VNet-те кайра куруу жолду өзгөртүшү мүмкүн, бирок бул биринчи диагностикалык кадам эмес, акыркы чара. Көчүрүүнү сунуштоодон мурун учурдагы node тармагын керектүү жеке маршрут жана колдоого алынган AKS тармактык көзөмөлдөрү менен салыштырыңыз, ал эми ишке киргизүүдөн кийинки колдонмо байланышын өзүнчө текшерүү катары кармаңыз: pod-дун backend менен сүйлөшүүсү node-дун образ жүктөөсүнөн башка текшерүү.

Тектеш макалалар