GKE подтары 1.14-тен кейін VPN қатынасын жоғалтты: көзді түзетудің екі жолы
1.14-тен кейін подтар VPN-ге өз мекенжайларымен жетеді, сондықтан әріптестер жауаптарды тастайды. Көз келісімін таңдап, nonMasqueradeCIDRs-ті соған сәйкес қойыңыз.
Жаңарту келеді, және туннельдің арғы жағындағы жүйелер өткен аптада жұмыс істеген под трафигін қабылдамай бастайды. Туннель көтерілген, firewall ережелеріне қол тимеген және ешкім әріптес саясатын өңдемеген. Өзгерген нәрсе кластер журналдарында көрінбейді: сол жүйелер қазір көретін көз мекенжайы. Бұл алшақтық желі үзілісіне ұқсайтын және рұқсат мәселесі сияқты әрекет ететін ақауды түсіндіреді.
Екі дұрыс жауап бар және олар сізді түрлі жерлерге апарады. ConfigMap-ты өңдеуден бұрын көз келісімін таңдаңыз.
Орнатылуы тоқтаған әдепкі ереже
GKE-нің бұрынғы шығарылымдары masquerade ережесін орнататын, ол барар жер 10.0.0.0/8-ден тыс болғанда под көздерін түйін мекенжайымен алмастыратын. Сол ауқымның ішіндегі VPN қақпасы под мекенжайын көретін, ал одан әрідегінің бәрі түйіннен келген сияқты көрінетін. Әріптестер рұқсат тізімдері мен қайтару маршруттарын түйін мекенжайларының айналасында құрды, өйткені өздері байқағаны сол еді.
Кейінгі шығарылымдар бұл әдепкі ережені орнатуды тоқтатты. Под трафигі енді барар жер қандай болса да, под мекенжайларымен қақпаға жетеді. Тек түйін мекенжайларын маршруттайтын әріптес жауаптарды тастайды, және екі жақ та пайдалы журнал жазбасын жазбайды. Сұраныс тіпті алыс жақта сәтті болуы мүмкін, және бұл ақауды қууны шатастырады.
Өлі компонент мағынасында ештеңе сынбаған. Екі жақ қай көздің заңды екені туралы жай ғана келіспейді.
Әріптес көруі тиіс көзді таңдаңыз
Под мекенжайларын сақтау дәлірек келісім. Алыс жақ трафикті тудырған жүктемені көреді, журналдар адал болып қалады және әр под үшін саясат мүмкін болады. Бағасы — әріптес под префиксін алып жүруі керек.
Түйін мекенжайларын сақтау арзанырақ келісім. Сол барар жер үшін masquerade-ті қайта қосыңыз, сонда әріптес өзі сенетін мекенжайды көруді жалғастырады.
Бір сұрақ олардың арасында шешеді: әріптес көзбен не істейді? Егер ол журнал жазса, көз бойынша саясат қолданса немесе тар қайтару маршрутын талап етсе, под мекенжайлары қосымша конфигурацияны ақтайды. Егер оған тек жауап жіберу керек болса, masquerade арзанырақ және арғы жақтан ештеңе талап етпейді. Екі топ та жазып қойса, кез келген таңдау қорғануға болады.
Үшінші нұсқа әдетте қате: бәрін masquerade етіп, трафикті телу мүмкіндігінен айырылу. Егер әріптес шынымен түйін мекенжайларынан басқа ештеңені маршруттай алмаса, одан аулақ болыңыз.
nonMasqueradeCIDRs-ті нақты ауқымдарға бағыттаңыз
GKE kube-system ішінде ip-masq-agent-ті жүргізеді, және оның ConfigMap-ы masquerade-тен өтетін барар жерлерді тізіп береді. Под көздерін туннельге қарай сақтау үшін под ауқымы, түйін ішкі желісі және жергілікті префикс — бәрі сол тізімге кіреді.
Үлгі мәндерді өз кластеріңіздің ауқымдарымен алмастырыңыз. Тізімді талаптан кеңірек етпеңіз, өйткені әрбір қосымша жазба басқа барар жердің не көретінін өзгертеді. Төмендегі үш жазба под желісін, түйін ішкі желісін және туннельдің артындағы префиксті білдіреді:
nonMasqueradeCIDRs:
- 10.12.0.0/14
- 10.100.0.0/16
- 172.16.0.0/12
masqLinkLocal: false
resyncInterval: 60s0.0.0.0/0 жазбасы барлық барар жер үшін masquerade-ті өшіреді, бұл байланыссыз жүктемелердің сыртқы қызметтерге қалай көрінетінін өзгертеді және сирек әдейі жасалады. Агент конфигурациясын resyncInterval-те қайта оқиды, сондықтан қайта іске қосу әдетте қажет емес. Агент подының жұмыс істеп тұрғанын тексеріңіз, содан кейін оның ішіндегі тіркелген файлды ашыңыз. Дәл сол файлды оқу өзгерістің жеткенін дәлелдейді.
Жауап жолы — екінші жартысы
Masquerade сұраныс көзін өзгертеді және басқа ештеңені. Әріптес қандай көз алса да, оған қайта оралатын маршрут әлі де қажет, ал кластерге әріптеске қарай маршрут әлі де қажет.
VPN қақпасындағы түсірілім екі ақауды тез ажыратады. Под мекенжайларымен келіп, ешқашан жауап алмайтын пакеттер әріптесте под префиксіне маршрут жоқ екенін білдіреді. Қақпада пайда болып, кластерге ешқашан жетпейтін жауап жергілікті маршруттың жетіспейтінін білдіреді. Қалай болса да келісімді тикетке жазыңыз: әріптес қай көзді көреді және жауапты қай префикске қайтарады.
Әрбір жаңартудан кейін қайта тексеріңіз
Masquerade-тің әдепкі әрекеті бір рет өзгерді, ал түйіндер пулын ауыстыру кластер желісін қалпына келтіруі мүмкін. Көз келісіміне болжам ретінде емес, тексерілетін нәрсе ретінде қараңыз.
Жаңартудан кейін подтан жергілікті қызметке бір сұраныс жіберіп, әріптес жазатын көзді оқыңыз. Сол бір бақылау туннель күйі беті қуана сау деп хабарлайтын регрессияны ұстайды. Оны қайталау бір минут алады және келесі адамның бір кешін сақтайды.