Сіз кеңсе VPN-інің жалпыға ашық мекенжайын AKS API серверінің рұқсат тізіміне қосасыз, және kubectl жұмыс істейді. Бір аптадан кейін node pool-ды масштабтау сәтсіз аяқталады, CI тапсырмасы кластерге жете алмайды, ал портал IP ауқымдары туралы ештеңе айтпайтын қатені көрсетеді. Рұқсат тізімін ешкім өзгерткен жоқ. Сіз қосқан бақылау — API серверінің алдындағы жалпыға ашық IP сүзгісі, ол кім қоңырау шалып жатқанын білмейді, тек қоңыраудың қай мекенжайдан келгенін біледі. VPN кластерге қажет бірнеше мекенжайдың бірі ғана, және бірінші бұзылатын сол болуы сирек.

Рұқсат тізімі мекенжайға сәйкес келеді, адамға емес

--api-server-authorized-ip-ranges CIDR блоктарын қабылдайды, пайдаланушыларды немесе топтарды емес. Әзірлеушінің сұранысы VPN серверінен Azure-ға шыққанда, API серверіндегі бастапқы мекенжай — VPN серверінің жалпыға ашық шығуы. Сондықтан сол VPN-дегі әр адам бір жазбаны бөліседі, ал VPN-нен тыс кез келген адам аутентификация басталмай тұрып қабылданбайды.

Бұл жазбаның сіз ойлағаннан көбірек адамды кіргізетінін де білдіреді. VPN рұқсаты бар мердігер, сол концентратордағы жеке ноутбук және бұзылған тіркелгі — бәрі бір мекенжайдан келеді. Кластер авторизациясы өзгерген жоқ, сондықтан рөлге негізделген қатынауды басқару қоңырау шалушының не істей алатынын әлі шешеді, бірақ рұқсат тізімі сәйкестендіру бақылауы емес және олай сипатталмауы керек.

Бірінші бұзылатын нәрсе әдетте kubectl емес

Рұқсат тізімі API серверінің жалпыға ашық соңғы нүктесіне қолданылады, сондықтан тізімдегі мекенжайлардан тыс барлық нәрсе бірден жұмысын тоқтатады. Айқын зардап шегушілер — VPN маршруты жоқ екінші кеңсе, хостингтік құбырдағы CI runner және қосылуды ұмытқан ноутбук. Оларды тану оңай, өйткені адам күтіп тұр.

Аз айқын жағдай — Azure немесе өз құралдарыңыз басқаратын автоматтандыру. Платформа бастаған кейбір операциялар API серверіне VPN-іңіз емес мекенжайлардан жетеді, және олардың біреуі тізім қатайтылғаннан кейін бірден сәтсіз бола бастаса, уақыт — белгі. Интерактивті қатынас жұмыс істейді деп тізім толық деп ойламаңыз; кластер бұзылды деген қорытындыға келмес бұрын мүмкіндіктің аймағыңыз бен жазылымдарыңыз үшін не талап ететінін тексеріңіз.

Сәтсіздік белгісі көмектеседі. Егер сұраныс ешқашан аутентификацияға жетпесе, бұл сүзгі. Егер ол аутентификациядан өтіп, содан кейін рұқсат қатесін алса, сүзгі өз жұмысын жасады, ал мәселе рұқсат тізімі ешқашан қозғамайтын рөлге негізделген қатынауды басқаруда.

Бүкіл тізімді бір командамен құрыңыз

Жаңарту параметрі жазба қосудың орнына бүкіл тізімді алмастырады, сондықтан тек VPN мекенжайын алып жүретін команда онда болған қалғанның бәрін үнсіз тастап кетеді. Алдымен ағымдағы мәнді оқыңыз, оны сақтаңыз және біріктіруді жіберіңіз:

az aks show -g rg-app -n aks-prod \
  --query apiServerAccessProfile.authorizedIpRanges -o tsv

az aks update -g rg-app -n aks-prod \
  --api-server-authorized-ip-ranges 203.0.113.10/32,198.51.100.0/24

Бұған сүйенбес бұрын VPN сервері үшін резервтелген жалпыға ашық IP пайдаланыңыз. Динамикалық мекенжай қайта қосылғанда өзгереді, және әрбір өзгеріс әлі рұқсат етілген желіден біреу тізімді жаңартпайынша команданы кластерден үнсіз шығарып тастайды. Артықтық үшін екі VPN шығу нүктесі болса, екеуін де тізімдеңіз, өйткені сүзгіде артық көрілетін жол ұғымы жоқ.

Бірінші рұқсат етілген әрекет те сынақ болатындай етіп өзгерісті реттеңіз. Жаңа тізімді жариялаңыз, қолданыңыз және бірден VPN-нен қосылыңыз; кері тәртіппен жасау CIDR блогындағы қатені түзету үшін ешкім API серверіне жете алмайтын терезе қалдырады.

Рұқсат тізімі ешқашан нені қамтымады

Ол API серверін жеке етпейді. Жеке кластер жеке соңғы нүктені және жеке DNS пайдаланады, ал рұқсат етілген ауқымдар тізімі оны алмастыратын бақылау емес. Ол сондай-ақ рұқсат етілген қоңырау шалушының не істей алатынын өзгертпейді, сондықтан ағып кеткен әкімші kubeconfig кез келген рұқсат етілген мекенжайдан әлі жұмыс істейді. Тіркелгі деректерін қауіпсіздік шекарасы, ал тізімді желілік ыңғайлылық деп қараңыз.

Оның жұмыс жүктемелеріне ешқандай қатысы жоқ. Тізім қосылған күйде де Pods мен Services жұмысын жалғастырады, және VPN арқылы қолданбаға жету — бөлек мәселе: тек кластер IP-сі бар Service ноутбук оны аша алуы үшін әлі де ішкі жүктеме теңгерушісін, ingress немесе port-forward қажет етеді. Осы екі дизайнды араластыру әзірлеушілерді шектейді деп мәлімдейтін, бірақ қолданбаларға қатысты ештеңені шектемейтін өзгеріс билетін тудырады.

Екі жақтан да тексеріңіз, содан кейін бір нақты операция орындаңыз

VPN-дегі жаңа клиентпен және оның сыртындағы клиентпен сынаңыз. Сыртқы әрекет атауды шешуде емес, API серверінде қабылданбауы керек; егер атау шешілмесе, сіз DNS сынап жатырсыз және сүзгі туралы ештеңе үйренбедіңіз. Содан кейін интерактивті kubectl шақыруы емес операцияны орындаңыз, мысалы node pool масштабтау немесе жаңартуды тексеру, және болады деп болжаудың орнына аяқталғанын растаңыз.

Өзгерістің қасында алдыңғы тізім мәнін жазып қойыңыз және терілген командаға сенудің орнына жаңартудан кейін тиімді мәнді қайта оқыңыз. AKS-тің рұқсат етілген IP ауқымдары туралы құжаттамасы қолдау көрсетілетін параметрлерді және сол тізімге жататын платформа талаптарын тізімдейді, көптеген билет сипаттамалары дәл осы бөлікті қалдырып кетеді.

Қатысты мақалалар