Kubernetes Pod ішіндегі VPN sidecar жақсырақ мінез-құлықпен хост деңгейіндегі VPN-ге ұқсайды, және ұқсастық аттар кеңістігінің шекарасында аяқталады. Бір Pod ішіндегі контейнерлер мекенжай мен порт кеңістігін қоса алғанда желілік аттар кеңістігін бөліседі, сондықтан маршруттар мен саясат орнататын sidecar қолданба пакеттерінің қайда кететінін шынымен өзгертеді. Түйіндегі басқа Pod-тар үшін ештеңе өзгертпейді және түйіннің өз стегіне тимейді, егер оны солай конфигурацияламасаңыз. Бұл шекараны дұрыс түсіну нені орналастыра алатыныңызды және нені тексеру керектігін анықтайды. Төмендегі бөлімдер мұны аттар кеңістігінен тысқары қарай бақылайды.

Ортақ аттар кеңістігі, ортақ салдар

Pod ішіндегі екі контейнер loopback арқылы сөйлеседі және бірдей интерфейстерді көреді, sidecar үлгісінің жалпы жұмыс істеуінің себебі осы: қолданбаға туннель бар екенін білудің қажеті жоқ, өйткені ол шешетін маршрут ол пайдаланатын аттар кеңістігінде орнатылған. Сол қасиет sidecar қателері қолданбаның қателері екенін білдіреді. Тым көп ұстайтын маршрут немесе туннель ішіндегі шешушіге сілтейтін DNS өзгерісі сол Pod-тағы әрбір процеске бірден қолданылады. Ортақ аттар кеңістігінде контейнер бойынша маршруттау жоқ, сондықтан sidecar-ды бір процеспен шектеу мүмкін емес.

Бұл шолу кезінде есте ұстайтын механизм: әсер радиусы — Pod, түйін емес және кластер емес.

Sidecar жетпейтін жер

Басқа Pod-тар өз аттар кеңістіктері мен өз маршруттауын сақтайды, сондықтан сол шығысты қажет ететін жүктемеге сол sidecar немесе оның орнына түйін деңгейіндегі дизайн қажет. Түйіннің трафигі де Pod аттар кеңістігінен тыс, ал хост желісі бар Pod-тар бұл оқшаулаудан әдейі толық бас тартады. Ыңғайлы нәрсеге жету үшін sidecar-ды хост желісімен іске қоссаңыз, ауқымды бір Pod-тан бүкіл түйінге кеңейттіңіз және мұны дауыстап айту керек.

Кластер қызметтеріне трафик — тағы бір жиі таңқаларлық жағдай. Pod ішіндегі кең әдепкі маршрут API серверіне немесе ClusterIP қызметіне арналған сұрауларды ұстап қалуы мүмкін, содан кейін олар туннель бұзылғандай көрінетін түрде сәтсіз аяқталады.

Маршрут жоспары: Pod, қызмет, түйін және VPN ауқымдары

Төрт ауқымды жазып алыңыз және бірдеңе орналастырмас бұрын оларды қабаттасуға тексеріңіз: Pod CIDR, қызмет CIDR, түйін мекенжайлары және VPN артындағы межелер. VPN-нің жеке ауқымдары мен кластердің өз кеңістігі арасындағы қабаттасу сирек емес, және әдепкі маршрут ол үшін дұрыс шешім емес. Маршрут жоспары манифестпен бір репозиторийде болуы керек, өйткені келесі кластер мүлде басқа Pod және қызмет ауқымдарын беруі мүмкін.

DNS жоспардың бөлігі, жеке алаңдаушылық емес. Шешуші конфигурациясын қайта жазатын sidecar кластер ішіндегі қызметтерді табуды бұзуы мүмкін, ал сыртқы сұраулар керемет жұмыс істейді.

Іске қосу мен сәтсіздік — айқын күйлер

Жұмыс істеп тұрған sidecar процесі шығыс саясаты емес. Туннель дайын болғанға дейін қандай трафик ағуы мүмкін екенін және кейін өлсе не болатынын шешіңіз, содан кейін сол шешімді жүзеге асырыңыз: қолданба контейнерін қақпалайтын зонд, әдепкі бойынша бас тартатын желілік саясат немесе екеуі де. Олардың бірі болмаса, қолданба іске қосылады, аттарды шешеді және туннель әлі қосылып жатқанда трафикті түйіннің әдеттегі жолынан тыс жібереді.

Бұл алшақтық сау кластерде қысқа, бұзылған кластерде тұрақты, және шабуылдаушы немесе кездейсоқ деректер ағып кетуі дәл осы қасиетті қалайды.

Ретті сәтсіздік тестімен ұштастырыңыз. Sidecar-ды өлтіріңіз және қолданба үнсіз артқа шегінудің орнына өзінің көзделген шығысын жоғалтатынын растаңыз.

Мүмкіндіктер, саясаттар және қолданба контейнерінен тестілеу

Интерфейстер жасау және маршруттарды өзгерту үшін қажет мүмкіндіктерді беру — артықшылық туралы шешім, және оқшауланған Pod үшін қолайлы артықшылық түйін стегінде автоматты түрде қолайлы бола бермейді. Кластер қолдайтын желілік және қауіпсіздік саясатының механизмдерін пайдаланыңыз және әрбір CNI немесе саясат іске асырылымы VPN интерфейсіне бірдей қарайды деп ойламаңыз; айырмашылықтар дәл сізді толғандыратын сәтсіздік жағдайларында көрінеді.

Нақты қолданба контейнерінен тексеріңіз, жеке межеге, кластер қызметіне және ашық интернетке жаңа сұраулармен. Sidecar-дан жасалған тест туннельдің жұмыс істейтінін дәлелдейді, қолданбаның қажет нәрсеге жететінін емес.

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

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