Docker ушул дарек мейкиндигинде pool башкасы менен капталып калды деген билдирүү менен тармак түзүүдөн баш тартат, ал эми бирөө VPN маршруту себеп болушу керек деп чечет. Андай болушу мүмкүн эмес. Бул ката pool бөлүштүрүлүп жатканда, бир да пакет жок кезинде пайда болот, ал эми кол менен жасалган ядро маршрутунун ага эч кандай таасири жок. VPN бир кадам кийин маанилүү болот, башкача айтканда дареги бар контейнер маршрут пайда болгондон кийин жеткиликсиз болгондо. Эки маселе, эки далилдер топтому, жана аларды аралаштыруу экөөнү тең оңдобогон өзгөртүүнү жаратат.

Окшош көрүнгөн эки ката

Бөлүштүрүү катасы арифметикалык. Docker сиз сураган ички тармакты өзү башкарып жаткан ички тармактар менен салыштырат, кесилиш табат жана баш тартат. Азырынча эч нерсе иштебейт, ошондуктан маршрут да, контейнер да, текшериле турган трафик да жок.

Иштөө учурундагы симптом — жеткиликтүүлүк суроосу. Кечээ жооп берген контейнер азыр жооп бербейт, ал эми хосттун маршруттоо таблицасында бир нерсе өзгөрдү. Контейнер өз дарегин дагы эле кармап турат; суроо ошол дарек кайсы жолду аларында.

Экөө тең дарек планынын маселелери. Алардын бирөө гана Docker маселеси.

Адегенде бөлүштүрүлгөн pool'дорду окуңуз

Тармактарды тизмектеп, кесилиши мүмкүн болгондорду текшериңиз. Ички тармак IPAM конфигурациясында жашайт, ал эми туташтырылган контейнерлер өзүнчө тизмеленет:

docker network ls
docker network inspect EXISTING_NETWORK

Ошол ички тармакты жаңы тармак сурап жаткан pool менен салыштырыңыз жана Compose ар бир долбоор үчүн өзүнүн демейки тармагын түзөрүн унутпаңыз. Унутулган долбоор менен кагылышуу демон менен кагылышууга так окшош.

Кызматтагы статикалык ipv4_address — бир контейнердин дареги, pool аныктамасы эмес. Аны өзгөртүү капталышты жок кылбайт, анткени капталыш контейнерлердин ортосунда эмес, тармактардын ички тармактарынын ортосунда. Docker'дин network-create колдонмосу кадимки көпүрөлүү бөлүштүрүү үчүн капталбаган ички тармактарды талап кылат жана бирөөнү ачык тандоону документтештирет.

VPN'ден өтүүчү префикс тандаңыз

Дароо болгон кагылышуу менен келечектеги маршрут бир тандоо менен чечилет, ошондуктан аны бир жолу жасаңыз. Кандидат диапазонду LAN, хост жете алган ар бир VPN багыты жана колдонулуп жаткан башка overlay менен салыштырыңыз.

Docker'ди канааттандырып, алыскы тармак менен кагылышкан префикс сизге таза иштей баштаган жана туннель көтөрүлгөн учурда жеткиликсиз болуп калган контейнер берет. Бул ушул макаладагы экинчи ката, жана аны кийин диагностикалоо азыр андан качууга караганда алда канча кыйын.

Тандалган диапазондорду кийинки долбоор окуй алган жерге жазыңыз. Бөлүштүрүлгөн префикстердин бир саптуу реестри түшүндүрүлбөгөн таймауттардын бир жумасынан арзан.

Тармактан атайын баш тартыңыз же өзгөртүңүз

Жаңы Compose тармагы үчүн тармактын IPAM конфигурациясында колдонулбаган префиксти коюңуз. Бар долбоор үчүн кайра номерлөөнү пландаңыз: туруктуу даректер, көз каранды кызматтар жана тармакты кайра түзүү кадамы — баары эске алынышы керек, анткени YAML'ды оңдоо иштеп жаткан тармакты кайра номерлебейт.

Эгер эски тармак кагылышкан бөлүштүрүүгө ээ болсо, аны жок кылардан мурун ким туташканын текшериңиз. docker network rm активдүү endpoint'тер бар кезде баш тартат, ал эми docker stop тармактын аталышын эмес, контейнер аталыштарын же ID'лерин алат. Контейнерди токтотуу pool'ду кармап турган тармак аныктамасын да жок кылбайт.

Кенен prune диагностикалык курал эмес. Ал байланышы жок долбоорлорго жетет жана сиз чогултканга жаткан далилдерди жок кылат.

Демейки pool'дор кийинки бөлүштүрүүгө гана жардам берет

Демондун демейки дарек pool параметри келечектеги автоматтык бөлүштүрүүлөрдү сиз резервдеген диапазондордон тышкары кармоо менен жакшыртат. Ал мурунтан бар тармактарды кайтарым күч менен кайра даректебейт, жана башка ачык ички тармак менен капталган ачык ички тармакты чечпейт.

Бул параметрди өзүнүн кайра жүктөлүшү бар өзүнчө, пландалган өзгөртүү катары караңыз, бир долбоорду оңдоонун бөлүгү катары эмес. Экөөнү аралаштыруу демондун кайра жүктөлүшү байланышы жок иликтөөнүн ортосуна түшөт дегенди билдирет. Аны өз терезесинде пландаңыз. Андан кийин бир жаңы автоматтык бөлүштүрүү чындап эле резервдеген диапазондордон тышкары түшөрүн ырастаңыз.

Түзүү ийгиликтүү болгондон кийин, иш жүзүндө иштеп жаткан ички тармакты текшериңиз, анан VPN'ди анын көздөгөн абалында кармап, бир чыныгы колдонмо сурамын аткарыңыз. Эгер pool жарактуу болуп, кирүү дагы эле ийгиликсиз болсо, калган иш — маршрут тандоо, чыпкалоо жана кайтуу жолу. Бул аткаруу учурундагы иликтөө, жана ал бөлүштүрүү катасын кайтарым күч менен маанисиз кылбайт.

Иш тартиби: бөлүштүрүлгөн pool'дорду окуңуз, Docker менен VPN багыттарынан да качкан префикс тандаңыз, тармакты атайын кайра түзүңүз, анан туннель көтөрүлгөн абалда бир сурамды сынап көрүңүз.

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