Клъстерът и оркестърът – как „избухна“ модата Kubernetes

от | юни 3, 2021 | Блог, Тенденции, Хостинг

Преди няколко години, изгубени в морето на хаоса и несигурността, уеб апликациите изведнъж намериха пристан, качиха се на контейнерите. Технологията Docker изведнъж позволи да имаме напълно независима среда, в която да работят различните уеб приложения, без постоянните проблеми от миналото. Появи се мечтаната „лека“ виртуална машина, която да „подкарва“ сайтовете, побеждавайки завинаги проблемите от различните операционни системи, от тежестта и тромавостта на истинските виртуални машини.

После изведнъж контейнерите станаха доста. Някак се получи като с кораба, запушил за дни Суецкия канал, носейки мултимилиардни загуби за световната икономика. Оказа се, че някой трябва да оркестрира работата на контейнерите, да ги мести и спира лесно. Да се превърне в диригент на оркестъра от различни приложения. И, някак съвсем естествено, точно тогава се роди Kubernetes.

 

Ляво на борд!

Споменахме оркестрирането, но в тази област от софтуерните технологии доминират метафорите, свързани с морето, плаването, водния транспорт. Затова и наименованието на тази технология идва от гръцки и значи „рулеви, кормчия“. Това е този морски специалист, който отговаря за посоката на кораба, управлява руля, така че всички на борда да бъдат спокойни, че опитен човек определя посоката. В някакъв смисъл той координира екипа и независимо от работата на членовете му поотделно, се грижи водният съд да се движи накъдето трябва. Точно това прави и платформата Kubernetes.

Създадена от Google, тя е с отворен код и днес се поддържа от специално създадена за целта фондация. Има своя, бързо растяща екосистема, която се е превърнала в стандарт в своя бранш. А браншът е толкова голям, колкото е интернет!

 

Рулевият и гребците

И така, за да обясним какъв е смисълът от оркестрирането, се налага отново да разкажем накратко (а ако има нужда – тук е по-надълго) какво ни донесе Docker. През последните години тази технология стана любима на уеб програмистите, защото позволи всяко отделно софтуерно приложение да работи като независима единица – да стартира независимо от операционната система в единици, наречени контейнери. Тяхната цел е да го направят абсолютно независимо от външната среда, така че на него да може да се разчита при всякакви условия.

Съвременните проекти обаче са все по-комплексни. И затова се налага всеки от отделните им елементи – най-често отделните микросървизи на бекенда, фронтенд проектът, а и много други, да работят заедно, за да осигурят цялостната услуга. Тогава се налага да се „запалят“ многобройни отделни контейнери, които да си взаимодействат постоянно. Това съвсем не е лека задача, ни именно в нея като универсалното решение на проблемите през последните години се наложи Kubernetes. Системата оркестрира работата на отделните единици. Не се меси в това, което „върши“ всяка от тях, а се грижи тя да работи, да се обновява при нужда, да се отделят повече компютърни ресурси, когато са ѝ необходими, и какво ли още не.

 

Нещо за деклариране

Kubernetes е предпочитан от девопс специалистите на проектите, които най-често се грижат за тази част от софтуерното производство, защото е лек, удобен, с отворен код. И, не на последно място, позволява изключително декларативно управление.

Какво ще рече това? Ако прецените, че от даден контейнер например се нуждаете от 5 инстанции, вие задавате това на програмата и тя сама се грижи как да го постигне. Как да организира работата, така че винаги да имате работещи тези 5 инстанции, без да се налага да се притеснявате за подробности. Ако по някаква причина някоя от тях например „забие“, Kubernetes отново ще има грижата да върне баланса, без дори да го усетите. Цялото управление е виртуализирано, не се налага да имате нищо общо с физическите машини. Благодарение на виртуализацията хардуерните ресурси се използват значително по-балансирано и пълноценно.

Нещо повече – системата, особено в комбинация с Docker контейнери, напоследък е истинска стандарт, който доминира драстично пред другите проекти, които обещават подобна услуга.

Kubernetes е безценен и от друга гледна точка – той позволява бърза, безпроблемна и отново декларативно зададена скалируемост. С други думи – ако едно уеб приложение изведнъж стане страшно популярно, за него не е никакъв проблем да увеличи ресурсите в лимите, които сте му задали. А това е направо спасителна услуга, ако неочаквано към проекта ви „избухне“ огромен интерес.

 

Под око

Платформата има много удобен интерфейс за непрестанно мониториране на контейнерите – във всеки момент можете да следите какво се случва с тях и как се справят. Благодарение на Kubernetes можете да правите обновявания на софтуера, без през това време потребителите да изгубят достъп до услугата, защото отделните инстанции се заменят плавно.

Нещо повече – едновременно можете да поддържате повече от една версии на страницата си. Това може да е полезно както ако имате съдържание, съобразено с произхода на потребителя, така и ако искате да експериментирате дали дадени функционалности са успешни, без да се хвърляте в тях отведнъж.

Нашият днешен герой е изцяло съобразен и с нуждите на облака. Макар че няма проблем да взаимодейства и с традиционната инфраструктура, той определено показва пълния си потенциал именно в клауда. А, както вече добре знаете от блога ни, днес това не е мода, а необходимост за всеки бизнес.

 

Довери се на диригента

Въпреки че е масово популярен от вече немалко години, все още не се е чуло някой да се оплаче от пробив в сигурността на платформата. А това е направо изумително, като имаме предвид, че от него се очаква още да управлява и най-чувствителната ни информация – потребителските данни, токени, сертификати.

Важно е да отбележим, че той не е традиционна форма на PaaS (платформата като услуга). Той не е монолитен, а има многобройни отделни елементи, които да можете да ползвате в зависимост от нуждите си.

За да работи ефективно, най-важна е първоначалната настройка. Трябва да разпределите системите си по отделни групи на няколко нива, в които след това „рулевият“ ще разпределя отделните контейнери.

Най-малкото звено в йерархията на Kubernetes са подовете (Pods), първични обекти и основни логически единици. Всеки под има свои отделен IP адрес за по-лесна комуникация с останалите. От своя страна подовете се групират в ноудове, или възли (Notes) – виртуални машини (биха могли да са и физически, но това се случва рядко), на които се „пускат“ отделните контейнери. Съвкупността от ноудовете се нарича клъстер, а още по-големите съвкупности са пространства от имена, или неймспейс (Namespace).

 

Всички обичат K8s

Да, пропуснахме да споменем, че това е начинът, по който най-често ще го видите съкратен, особено в по-техническите форуми. По-старите имена на разработките, от които той произлиза, са Borg и Project Seven.

Както стана дума, днес за поддръжката му отговаря неправителствената организация Cloud Native Computing Foundation (CNCF), от която са част Google, The Linux Foundation и много други водещи технологични корпорации.

Е, остава да им пожелаем да продължат да си вършат работата толкова добре, колкото до момента, за да имаме на разположение тази мощна и доказана система. И за нас да остава само да се грижим за това, което ще показваме на гостите си… А ако още не сте сред собствениците на сайтове, определено е време да опитате напълно безплатно тук!

<a href="https://www.zettahost.bg/author/georgik/" target="_self">Георги Караманев</a>

Георги Караманев

Георги е журналист, писател и Front-end програмист – част от екипа на ZETTAHOST.bg. Има повече от 15 години опит в подготвянето на публикации на технологична тематика за Списание 8, в. „24 часа“ и други медии. През 2019 г. получи наградата в категория „Технологии“ от конкурса на Dir.bg за чиста журналистика Web Report.
Последвайте ни

Най-нови публикации:

Как да „четем“ Google Analytics

Всеки сайт си има своите собствени цели и приоритети, а с тях се съобразяват и технологиите, и допълнителните средства, които ползват създателите му. Но има неща, които са общи и задължителни за абсолютно всички. Като например добрия хостинг, на който може да се...

XSS: да ти подпъхнат код

Cross-site Scripting – със сигурност помните добре това словосъчетание, ако сте станали жертва на такъв тип атака. Но ако не ви говори нищо, определено си струва да научите основните правила по темата. Независимо дали сте потребител, който трябва да знае за какво да...

JavaScript – мразеният обичан цар на интернет

Днес той е навсякъде – дава прекрасна алтернатива при бекенд програмирането, а за фронтенда властва без никаква конкуренция и краят на царуването му не се очертава. JavaScript често е обект на подигравки, при това обикновено именно заради основното си предимство –...

KISS, DRY и YAGNI. Защо ги обичат програмистите?

Е, заглавието е доста подвеждащо. То кой ли не обича целувките (kiss). Този KISS обаче, заедно с другите две думички в списъка, е изписан с главни букви, което логично ще ви накара да си помислите, че е абревиатура. Не, това не са и рокгрупи, поне не за това ще стане...

10 начина да „забързаме“ нашия WordPress сайт

Имате WordPress сайт и искате той да стане по-бърз? И аз съм като вас, амбицирам се да проуча темата, да опитам кои практики работят и кои – не, и да ви споделя изводите си.   Бързай бързо Днес бързината онлайн е жизненоважен показател. Знае го всеки собственик...

Личен сайт безплатно!

Регистрирай се безплатно и си направи сайт още днес.

Безплатната хостинг услуга на ZETTAHOST.bg няма скрити такси и изисквания за ползване.

Безплатен хостинг

Pin It on Pinterest

Share This