Како повезати Кубернетес кластере у различитим центрима података
Добродошли у нашу серију Кубернетес Куицк Старт. Ово је редовна рубрика са најзанимљивијим питањима која добијамо онлајн и на нашим тренинзима. Одговори стручњака за Кубернетес.
Данашњи стручњак је Данијел Поленчик (Даниеле Поленчић). Данијел ради као инструктор и програмер софтвера у Леарнк8с.
Често се инфраструктура реплицира и дистрибуира у различитим регионима, посебно у контролисаним окружењима.
Ако је један регион недоступан, саобраћај се преусмерава на други како би се избегли прекиди.
Са Кубернетес-ом можете користити сличну стратегију и дистрибуирати радна оптерећења у различитим регионима.
Можете имати један или више кластера по тиму, региону, окружењу или комбинацију ових елемената.
Ваши кластери могу бити хостовани у различитим облацима и на локалном нивоу.
Али како планирате инфраструктуру за такво географско ширење?
Да ли треба да креирате један велики кластер за неколико окружења у облаку преко једне мреже?
Или имате много малих кластера и пронађите начин да их контролишете и синхронизујете?
Један кластер лидера
Стварање једног кластера преко једне мреже није тако лако.
Замислите да имате несрећу, веза између сегмената кластера је изгубљена.
Ако имате један главни сервер, половина ресурса неће моћи да прима нове команде јер неће моћи да контактира мастер.
И у исто време имате старе табеле рутирања (kube-proxy не може да преузме нове) и нема додатних подова (кубелет не може да захтева ажурирања).
Да ствар буде гора, ако Кубернетес не види чвор, означава га као сироче и дистрибуира модуле који недостају постојећим чворовима.
Као резултат, имате двоструко више махуна.
Ако направите један главни сервер за сваки регион, биће проблема са алгоритмом консензуса у етцд бази података. (прибл. ед. — У ствари, етцд база података не мора нужно да се налази на главним серверима. Може се покренути на посебној групи сервера у истом региону. Истина, у исто време добијање тачке неуспеха кластера. Али брзо.)
етцд користи рафт алгоритамда преговарате о вредности пре него што је запишете на диск.
То јест, већина случајева мора постићи консензус пре него што се држава може писати итд.
Ако се кашњење између етцд инстанци драматично повећа, као што је случај са три етцд инстанце у различитим регионима, потребно је много времена да се договори вредност и запише на диск.
Ово се огледа у Кубернетес контролерима.
Менаџер контролора треба више времена да сазна о промени и напише одговор у базу података.
А пошто не постоји један контролор, већ неколико, долази до ланчане реакције и цео кластер почиње да ради веома споро.
Тренутно нема добрих примера велике мреже за један кластер.
У суштини, заједница програмера и група СИГ-кластера покушавају да схвате како да оркестрирају кластере на исти начин на који Кубернетес оркестрира контејнере.
По први пут смо покушали да управљамо колекцијом кластера као једним објектом користећи алатку за федерацију кубе.
Почетак је био добар, али на крају кубе федерација никада није постала популарна јер није подржавала све ресурсе.
Подржавао је федералне испоруке и услуге, али не и СтатефулСетс, на пример.
Такође, конфигурација федерације је преношена у облику напомена и није била флексибилна.
Замислите како бисте могли да опишете партиционисање реплике за сваки кластер у федерацији користећи само напомене.
Испоставило се да је то био потпуни неред.
СИГ-кластер је урадио доста посла након кубефед в1 и одлучио је да приступи проблему из другог угла.
Уместо напомена, одлучили су да издају контролер који је инсталиран на кластерима. Може се прилагодити коришћењем прилагођених дефиниција ресурса (ЦРД).
За сваки ресурс који ће бити део федерације, имате прилагођену ЦРД дефиницију са три одељка:
стандардна дефиниција ресурса, на пример распоређивање;
одељак placement, где дефинишете како ће се ресурс дистрибуирати у федерацији;
одељак override, где за одређени ресурс можете заменити тежину и параметре од постављања.
Ево примера комбиноване испоруке са одељцима за постављање и замена.
Опција 2: комбиновање кластера у стилу Боокинг.цом
Програмери Боокинг.цом-а нису радили на кубефед в2, али су смислили Схиппер - оператера за испоруку на неколико кластера, у неколико региона и у неколико облака.
Али уместо да смисли нови начин за интеракцију са кластером и умотавање ресурса у прилагођене дефиниције, мулти-цлустер-сцхедулер је уграђен у стандардни животни циклус Кубернетес-а и пресреће све позиве који креирају подове.
Оригинална група пролази кроз још један циклус планирања где се, након анкетирања целе федерације, доноси одлука о пласману.
Коначно, махуна се испоручује у циљни кластер.
Као резултат, имате додатну капсулу која не ради ништа, само заузима простор.
Предност је што нисте морали да пишете нове ресурсе да бисте комбиновали залихе.
Сваки ресурс који креира под је аутоматски спреман за спајање.
Ово је занимљиво, јер одједном имате залихе распоређене у неколико региона, а нисте ни приметили. Међутим, ово је прилично ризично, јер овде све почива на магији.
Али док Схиппер покушава углавном да ублажи утицај испорука, планер са више кластера се бави општијим задацима и можда је боље прилагођен за групне послове.
Нема напредни механизам постепеног испоруке.
Више о мулти-цлустер-сцхедулеру можете пронаћи на званична страница репозиторијума.
Ако желите да читате о мулти-кластер-планеру у акцији, Адмиралитет има занимљив случај употребе са Аргом — токови посла, догађаји, ЦИ и ЦД Кубернетес.
Други алати и решења
Повезивање и управљање више кластера је сложен задатак и не постоји универзално решење.
Ако желите даље да истражите ову тему, ево неких ресурса:
Субмаринер од Ранчера је алатка која повезује преклапајуће мреже различитих Кубернетес кластера.
Цилиум, додатак за мрежни интерфејс контејнера, нуди функција мреже кластера, што вам омогућава да комбинујете неколико кластера
То је све за данас
Хвала што сте прочитали до краја!
Ако знате како да ефикасније повежете више кластера, реците нам.
Ваш метод ћемо додати на линкове.
Посебно хвала Крису Несбит-Смиту (Цхрис Несбитт-Смитх) и Винцент де Сме (Винцент Де Смет) (инжењер поузданости у сватмобиле.ио) за читање чланка и дељење корисних информација о томе како федерација функционише.