Кубернетес

Кубернетес Ингресс

Кубернетес Ингресс
Кубернетес има пуно покретних делова. Ово се може очекивати од било ког модела намењеног дистрибуираном рачунању. Да бисмо истражили шта нам Кубернетес Ингресс помаже да постигнемо, хајде да сажето представимо неколико релевантних детаља о типичном Кубернетес кластеру:

  1. Апликација распоређена на Кубернетес кластеру ради као махуне за прикупљање.
  2. Махуне су у основи контејнери који су распоређени на више чворова.
  3. Чворови могу бити физички сервери или ВМ-ови које нуди ваш провајдер хостинга. Очигледно је да Кубернетес можете и на локалном серверу, ако тако желите.
  4. Свака мапа има јединствену ИП адресу.
  5. Ваша апликација је подељена на многе поткомпоненте, које се често називају микросервисима.
  6. За сваку микросервису ваше апликације постоји одговарајућа услуга у Кубернетесу.
  7. У контексту Кубернетеса, а Услуга излаже колекцију махуна остатку кластера као једну апстракцију. Једна виртуелна ИП адреса.
  8. Ово помаже да једна услуга ваше апликације комуницира са другом услугом. То је апстракција која вам омогућава да се обратите колекцији махуна, уместо да наведете ИП адресу махуне, сваки пут када желите да разговарате са њом.
  9. Кубернетес услуга такође делује као уравнотеживач оптерећења за све махуне које представља. Саобраћај се равномерно распоређује на све чворове.

Засада је добро. Свака служба може разговарати са другом службом. Ова комуникација је могућа у целом кластеру Кубернетес

Излагање услуга

Ако дрво падне у шуми, а нико није у близини да га чује, да ли ће то произвести звук?

Слично томе, ако ваша апликација нема сврху изван кластера Кубернетес, да ли је заиста важно да ли је ваш кластер добро изграђен или не? Вероватно не.

Да бисмо вам дали конкретан пример, рецимо да имамо класичну веб апликацију која се састоји од фронтенда написаног на Нодејс-у и позадине написане на Питхону која користи МиСКЛ базу података. На свом Кубернетес кластеру распоредите две одговарајуће услуге.

Направите Доцкерфиле који наводи како да спакујете интерфејс софтвер у контејнер, а слично томе пакујете и своју позадину. Следеће у вашем Кубернетес кластеру, распоредит ћете по двије услуге, а свака ће покретати скуп подслова иза себе. Веб услуга може разговарати са кластером базе података и обрнуто.

Међутим, Кубернетес не излаже ниједну од ових услуга (које су кључне ХТТП крајње тачке) остатку света. Као што је наведено у званичним документима:

Претпоставља се да услуге имају виртуелне ИП адресе које се могу рутирати само у мрежи кластера

Ово је са становишта безбедности сасвим разумно, ваше услуге могу међусобно да разговарају, али кластер неће дозволити спољним ентитетима да директно разговарају са услугама. На пример, само ваш веб интерфејс може да разговара са услугом базе података, а нико други не може ни да шаље захтеве услузи базе података.

Проблем настаје када погледамо случај употребе фронтенд сервиса. Треба да буде изложен остатку јавности како би крајњи корисници могли да користе вашу апликацију. Такве услуге излажемо користећи Кубернетес Ингресс.

Кубернетес Ингресс

Ингресс излаже ХТТП и ХТТПС руте изван кластера услугама унутар кластера. Можете контролирати правила усмјеравања дефинирањем ресурса Кубернетес Ингресс. Али чини много више од тога. Излагање једне услуге може се постићи употребом разних других алтернатива попут НодеПорт-а или Лоад Баланцера, али ови објекти немају функције које су довољно софистициране за модерну веб-апликацију.

Функције попут излагања више апликација на једној ИП адреси, дефинисања рута итд.

Дакле, хајде да разумемо ове карактеристике за преостали део чланка:

Улаз за једну службу

Ово је најједноставнија верзија излагања једне услуге попут веб интерфејса са ИП-ом (или именом домена) и подразумеваним ХТТП и ХТТПС портовима (и.е, 80 и 443).

Сингле Фаноут

Ово је подешавање улаза које вам омогућава да дозволите долазни саобраћај на једну ИП адресу и усмерите га на више услуга.

Састоји се од:

Један одлаз је случај када се један ИП користи за више услуга. Услуге могу бити на различитим путевима у УРИ-у попут фоо.бар.цом / админ може бити услуга за администраторе и фоо.бар.цом / хоме може бити услуга која генерише почетну страницу сваког корисника.

Улазни порт ће увек бити 80 или 443, али порт на којем се извршавају услуге (унутар кластера) може се прилично разликовати.

Овакав улазак нам помаже да минимизирамо број уравнотеживача оптерећења у кластеру, јер он у суштини делује као један.

Виртуелни хостинг заснован на имену

Јавне ИП адресе су ограничене. Такође су прилично скупе. Идеја виртуелног хостинга заснованог на именима старија је од Кубернетес-а. Суштина је у томе што ви усмеравате ДНС записе за различите веб локације попут вв1.пример.цом и вв2.пример.цом на исту ИП адресу. Сервер који ради на тој ИП адреси видеће долазни захтев и ако је име хоста поменуто у захтеву за вв1.пример.цом онда вам служи ту веб страницу, а ако вв2.пример.цом затражи, онда се то сервира.

У контексту Кубернетес-а, можемо покренути две услуге које раде на, рецимо, порту 80 и изложити их на једној ИП адреси користећи улаз и порта 80. На улазној тачки саобраћај вв1.пример.цом ће се одвојити од саобраћаја за вв2.пример.цом. Отуда и термин виртуелни хостинг заснован на имену.

Закључак

Улазак у Кубернетес је прилично софистициран да би био покривен у једном посту. Постоје разни случајеви употребе за то, и разни Ингресс контролери који ће додати Ингресс функционалност вашем кластеру. Препоручио бих да започнете са Нгинк Ингресс Цонтроллер-ом.

За даље детаље и спецификације такође можете пратити званичну документацију.

Најбољи Линук Дистрос за игре у 2021
Линук оперативни систем далеко је превалио свој изворни, једноставни изглед заснован на серверима. Овај ОС се изузетно побољшао последњих година и сад...
Како снимити и стримовати своју играћу сесију на Линук-у
У прошлости се играње игара сматрало само хобијем, али с временом је играчка индустрија забележила огроман раст у погледу технологије и броја играча. ...
Најбоље игре за ручно праћење
Оцулус Куест је недавно представио сјајну идеју ручног праћења без контролера. Са све већим бројем игара и активности које извршавају подршку формално...