Тарҳрезии кластерҳои Kubernetes: онҳо бояд чанд бошад?

Шарҳ. тарҷума.: ин мавод аз лоиҳаи таълимӣ гирифта шудааст Learnk8s ҷавоб ба саволи маъмул ҳангоми тарҳрезии инфрасохтори Кубернетес мебошад. Мо умедворем, ки тавсифи хеле муфассали мусбат ва манфии ҳар як вариант ба шумо дар интихоби беҳтарин барои лоиҳаи шумо кӯмак хоҳад кард.

Тарҳрезии кластерҳои Kubernetes: онҳо бояд чанд бошад?

ХИБ; DR: як маҷмӯи сарбории корро дар якчанд кластерҳои калон (ҳар як кластер миқдори зиёди сарбории корӣ дорад) ё дар бисёр кластерҳои хурд (бо миқдори ками сарбории корӣ дар ҳар як кластер) иҷро кардан мумкин аст.

Дар зер ҷадвале оварда шудааст, ки тарафҳои мусбӣ ва манфии ҳар як равишро арзёбӣ мекунад:

Тарҳрезии кластерҳои Kubernetes: онҳо бояд чанд бошад?

Ҳангоми истифодаи Kubernetes ҳамчун платформа барои иҷро кардани барномаҳо, аксар вақт якчанд саволҳои асосӣ дар бораи мураккабии ташкили кластерҳо ба миён меоянд:

  • Ман бояд чанд кластерро истифода барам?
  • Ман бояд онҳоро чӣ қадар калон кунам?
  • Ҳар як кластер бояд чиро дар бар гирад?

Дар ин мақола, ман кӯшиш мекунам, ки ба ҳамаи ин саволҳо тавассути таҳлили мусбат ва манфии ҳар як равиш ҷавоб диҳам.

Изҳороти савол

Ҳамчун як таҳиягари нармафзор, шумо эҳтимолан дар як вақт бисёр барномаҳоро таҳия ва идора мекунед.

Илова бар ин, бисёре аз ин барномаҳо эҳтимолан дар муҳитҳои гуногун кор кунанд - масалан, инҳо метавонанд д, озмоиш и маҳсулот.

Натиҷа матритсаи пурраи барномаҳо ва муҳитҳост:

Тарҳрезии кластерҳои Kubernetes: онҳо бояд чанд бошад?
Барномаҳо ва муҳити зист

Мисоли дар боло овардашуда 3 барнома ва 3 муҳитро ифода мекунад, ки дар натиҷа 9 варианти имконпазирро ташкил медиҳад.

Ҳар як мисоли барнома як воҳиди ҷойгиркунии мустақил аст, ки бо он новобаста аз дигарон кор кардан мумкин аст.

дар назар гиред, ки мисоли ариза метавонад аз бисёр иборат бошад ҷузъҳо, ба монанди frontend, backend, базаи маълумотҳо ва ғайра. Дар мавриди замимаи хидматрасонии хурд, ин мисол ҳама хидматҳои хурдро дар бар мегирад.

Дар натиҷа, корбарони Kubernetes якчанд савол доранд:

  • Оё ҳамаи мисолҳои барнома бояд дар як кластер ҷойгир карда шаванд?
  • Оё меарзад, ки кластери алоҳида барои ҳар як мисоли барнома дошта бошад?
  • Ё шояд маҷмӯи равишҳои дар боло зикршударо истифода бурдан лозим аст?

Ҳамаи ин вариантҳо хеле қобили ҳаётанд, зеро Kubernetes як системаи фасеҳ аст, ки қобилиятҳои корбарро маҳдуд намекунад.

Инҳоянд баъзе аз роҳҳои имконпазир:

  • як кластери калони умумӣ;
  • бисёр кластерҳои хурди хеле махсусгардонидашуда;
  • як кластер барои як барнома;
  • як кластер барои як муҳити зист.

Тавре ки дар зер нишон дода шудааст, ду равиши аввал дар канори муқобили миқёси вариантҳо ҷойгиранд:

Тарҳрезии кластерҳои Kubernetes: онҳо бояд чанд бошад?
Аз якчанд кластерҳои калон (аз чап) то бисёр кластерҳои хурд (рост)

Умуман, як кластер нисбат ба дигараш "калонтар" ҳисобида мешавад, агар он миқдори зиёди гиреҳҳо ва гурдаҳо дошта бошад. Масалан, кластери дорои 10 гиреҳ ва 100 қуттӣ аз кластери дорои 1 гиреҳ ва 10 қут калонтар аст.

Хуб, биёед оғоз кунем!

1. Як кластери калони умумӣ

Варианти аввал ин ҷойгир кардани тамоми сарбории корӣ дар як кластер аст:

Тарҳрезии кластерҳои Kubernetes: онҳо бояд чанд бошад?
Як кластери калон

Дар доираи ин равиш, кластер ҳамчун универсалӣ истифода мешавад платформаи инфрасохторӣ - шумо танҳо ҳама чизеро, ки ба шумо лозим аст, дар кластери мавҷудаи Kubernetes ҷойгир мекунед.

Фазои номҳо Кубернетес имкон медиҳад, ки қисмҳои кластер аз ҳамдигар мантиқӣ ҷудо карда шаванд, то ҳар як мисоли барнома фазои номи худро дошта бошад.

Биёед ба мусбат ва манфии ин равиш назар андозем.

+ Истифодаи самараноки захираҳо

Бо як кластери ягона ба шумо танҳо як нусхаи ҳамаи захираҳое лозим аст, ки барои идора ва идоракунии кластери Kubernetes лозиманд.

Масалан, ин барои гиреҳҳои асосӣ дуруст аст. Одатан, ҳар як кластери Kubernetes 3 гиреҳи асосӣ дорад, аз ин рӯ барои як кластери ягона шумораи онҳо ҳамин тавр боқӣ мемонад (барои муқоиса, ба 10 кластер 30 гиреҳи асосӣ лозим аст).

Нозукиҳои дар боло зикршуда инчунин ба хидматҳои дигаре, ки дар тамоми кластер амал мекунанд, ба монанди тавозуни сарборӣ, контроллерҳои воридшавӣ, аутентификатсия, сабти сабт ва мониторинг низ дахл дорад.

Дар як кластер, ҳамаи ин хидматҳоро якбора барои ҳама сарбории корӣ истифода бурдан мумкин аст (ба эҷод кардани нусхаҳои онҳо, ба монанди кластерҳои сершумор зарурат нест).

+ Арзон

Дар натиҷаи гуфтаҳои боло, кластерҳои камтар одатан арзонтаранд, зеро хароҷоти изофӣ вуҷуд надорад.

Ин махсусан барои гиреҳҳои устод дахл дорад, ки новобаста аз он ки чӣ тавр ҷойгир карда мешаванд (дар дохили бино ё дар абр) метавонанд маблағи назаррасро талаб кунанд.

Баъзе хидматҳои Kubernetes идора карда мешаванд, ба монанди Google Kubernetes Engine (GKE) ё Хадамоти Azure Kubernetes (AKS), қабати идоракуниро ройгон таъмин кунед. Дар ин ҳолат, масъалаи хароҷот камтар тезутунд аст.

Инчунин хидматҳои идорашаванда мавҷуданд, ки барои кори ҳар як кластери Kubernetes ҳаққи собит ситонида мешаванд (масалан, Хадамоти Amazon Elastic Kubernetes, EKS).

+ Идоракунии самаранок

Идоракунии як кластер аз идоракунии якчанд кластер осонтар аст.

Маъмурият метавонад вазифаҳои зеринро дар бар гирад:

  • Навсозии версияи Kubernetes;
  • ташкили лӯлаи CI/CD;
  • насби плагини CNI;
  • ташкили системаи аутентификатсияи корбарон;
  • насби контролери дастрасӣ;

ва бисёр дигарон…

Дар ҳолати як кластер, шумо бояд ҳамаи инро танҳо як маротиба иҷро кунед.

Барои бисёре аз кластерҳо, амалиётҳо бояд чандин маротиба такрор карда шаванд, ки эҳтимолан автоматикунонии равандҳо ва асбобҳоро барои таъмини пайвастагӣ ва мувофиқат дар раванд талаб мекунад.

Ва ҳоло чанд сухан дар бораи манфии.

− як нуқтаи нокомӣ

Дар сурати рад кардан ягона кластер фавран корро бас мекунад ҳама сарбории кор!

Роҳҳои зиёде мавҷуданд, ки корҳо метавонанд хато кунанд:

  • навсозии Kubernetes боиси оқибатҳои ногаҳонӣ мегардад;
  • Ҷузъи кластерӣ (масалан, плагини CNI) тавре ки интизор мерафт, кор намекунад;
  • яке аз ҷузъҳои кластер дуруст танзим карда нашудааст;
  • нокомӣ дар инфрасохтори асосӣ.

Яке аз чунин ҳодисаҳо метавонад ба ҳама сарбориҳои корӣ, ки дар кластери муштарак ҷойгиранд, зарари ҷиддӣ расонад.

− Изолятсияи сахт надорад

Кор дар кластери муштарак маънои онро дорад, ки барномаҳо сахтафзор, имкониятҳои шабакавӣ ва системаи амалиётиро дар гиреҳҳои кластер мубодила мекунанд.

Ба маъное, ду контейнер бо ду барномаи гуногун, ки дар як гиреҳ кор мекунанд, ба ду раванде монанданд, ки дар як мошини як ядрои ОС кор мекунанд.

Контейнерҳои Linux як намуди изолятсияро таъмин мекунанд, аммо он на он қадар қавӣ аст, ки масалан, мошинҳои виртуалӣ таъмин мекунанд. Аслан, раванд дар контейнер ҳамон равандест, ки дар системаи оператсионии ҳост кор мекунад.

Ин метавонад як масъалаи амният бошад: ин созиш аз ҷиҳати назариявӣ имкон медиҳад, ки замимаҳои ба ҳам алоқаманд бо ҳамдигар муошират кунанд (ё дидаву дониста ё тасодуфан).

Илова бар ин, ҳама сарбории корӣ дар кластери Kubernetes баъзе хидматҳои кластериро мубодила мекунанд, ба монанди DNS - ин ба барномаҳо имкон медиҳад, ки хидматҳои барномаҳои дигарро дар кластер пайдо кунанд.

Ҳама нуктаҳои дар боло зикршуда вобаста ба талаботи амнияти барнома метавонанд маъноҳои гуногун дошта бошанд.

Kubernetes воситаҳои гуногунро барои пешгирии масъалаҳои амниятӣ таъмин мекунад, ба монанди PodSecurityPolicies и Сиёсати шабакавӣ. Бо вуҷуди ин, дуруст насб кардани онҳо таҷрибаи муайянро талаб мекунад; Илова бар ин, онҳо наметавонанд комилан ҳама сӯрохиҳои бехатариро пӯшанд.

Ҳамеша дар хотир доштан муҳим аст, ки Kubernetes дар ибтидо барои тарҳрезӣ шудааст мубодила, на барои изоляция ва бехатарӣ.

− набудани иљораи сахти бисёрњараён

Бо назардошти фаровонии захираҳои муштарак дар кластери Kubernetes, роҳҳои зиёде мавҷуданд, ки замимаҳои гуногун метавонанд ба ангуштони якдигар қадам зананд.

Масалан, барнома метавонад як манбаи муштаракро монополия кунад (масалан, CPU ё хотира) ва дигар замимаҳоеро, ки дар як гиреҳ кор мекунанд, ба он дастрас накунад.

Кубернетес механизмҳои гуногуни назорати ин рафторро таъмин мекунад, масалан дархост ва маҳдудиятҳои захираҳо (инчунин ба мақолаи " Маҳдудияти CPU ва фишори хашмгин дар Kubernetes " - тақрибан. тарҷума.), Квотаҳои захиравӣ и Маҳдудиятҳо. Аммо, чунон ки дар мавриди амният, конфигуратсияи онҳо хеле ночиз аст ва онҳо наметавонанд комилан ҳама оқибатҳои номатлуби номатлубро пешгирӣ кунанд.

− шумораи зиёди истифодабарандагон

Дар мавриди як кластери ягона, шумо бояд дастрасиро ба он барои бисёр одамон кушоед. Ва шумораи онҳо ҳар қадар зиёдтар бошад, ҳамон қадар хавфи «шикандан» чизе зиёд мешавад.

Дар дохили кластер шумо метавонед назорат кунед, ки кӣ бо истифода аз он чӣ кор карда метавонад Назорати дастрасӣ ба нақш (RBAC) (ниг. мақолаи " Истифодабарандагон ва авторизатсияи RBAC дар Kubernetes " - тақрибан. тарҷума.). Аммо, он ба корбарон монеъ намешавад, ки чизеро дар доираи масъулияташон "шикананд".

− Кластерҳо ба таври номуайян афзоиш ёфта наметавонанд

Кластере, ки барои ҳама сарбориҳои корӣ истифода мешавад, эҳтимолан хеле калон хоҳад буд (аз рӯи шумораи гиреҳҳо ва подкҳо).

Аммо дар ин ҷо як мушкили дигар ба миён меояд: кластерҳо дар Кубернетес наметавонанд ба таври номуайян афзоиш ёбанд.

Дар бораи андозаи кластер маҳдудияти назариявӣ вуҷуд дорад. Дар Кубернетес он тақрибан аст 5000 узел, 150 хазор дона ва 300 хазор контейнер.

Аммо, дар ҳаёти воқеӣ, мушкилот метавонад хеле пештар оғоз шавад - масалан, танҳо бо 500 гиреҳ.

Гап дар он аст, ки кластерҳои калон ба қабати назоратии Kubernetes бори баланд медиҳанд. Ба ибораи дигар, нигоҳ доштани кластер ва самаранок кор кардан танзими бодиққатро талаб мекунад.

Ин масъала дар мақолаи марбута дар блоги аслӣ бо номи "" омӯхта шудааст.Меъмории кластерҳои Kubernetes - интихоби андозаи гиреҳи коргар".

Аммо биёед муносибати муқобилро баррасӣ кунем: бисёр кластерҳои хурд.

2. Бисёр кластерҳои хурди махсусгардонидашуда

Бо ин равиш, шумо барои ҳар як унсури ҷойгиркардаатон кластери алоҳида истифода мекунед:

Тарҳрезии кластерҳои Kubernetes: онҳо бояд чанд бошад?
Бисёр кластерҳои хурд

Барои маќсадњои ин модда, дар зери унсури ҷойгиршаванда ба мисоли барнома ишора мекунад - масалан, версияи таҳияи барномаи алоҳида.

Ин стратегия Kubernetes-ро ҳамчун махсус истифода мебарад вақти иҷро барои мисолҳои инфиродӣ ариза.

Биёед ба мусбат ва манфии ин равиш назар андозем.

+ "Радиуси таркиш" -и маҳдуд

Вақте ки кластер ноком мешавад, оқибатҳои манфӣ танҳо ба он сарбории корӣ, ки дар он кластер ҷойгир карда шудаанд, маҳдуд мешаванд. Хамаи дигар корхо бетаъсир мемонанд.

+ Изолятсия

Сарбории корӣ, ки дар кластерҳои инфиродӣ ҷойгир шудаанд, захираҳоро ба монанди протсессор, хотира, системаи амалиётӣ, шабака ё хидматҳои дигар мубодила намекунанд.

Натиҷа ҷудоии қатъии байни замимаҳои ба ҳам алоқаманд аст, ки метавонад барои амнияти онҳо муфид бошад.

+ Шумораи ками корбарон

Бо назардошти он, ки ҳар як кластер танҳо маҷмӯи маҳдуди сарбории корро дар бар мегирад, шумораи корбарони дастрасӣ ба он кам мешавад.

Чӣ қадаре ки шумораи ками одамон ба кластер дастрасӣ дошта бошанд, ҳамон қадар хавфи «шикандани» чизе кам мешавад.

Биёед манфии онро бубинем.

− истифодаи бесамари захирањо

Тавре ки қаблан зикр гардид, ҳар як кластери Kubernetes маҷмӯи махсуси захираҳои идоракуниро талаб мекунад: гиреҳҳои асосӣ, ҷузъҳои қабати идоракунӣ, ҳалли мониторинг ва сабти ном.

Дар мавриди шумораи зиёди кластерҳои хурд, ҳиссаи бештари захираҳо бояд ба идоракунӣ ҷудо карда шаванд.

− гарон

Истифодаи бесамари захираҳо ба таври худкор хароҷоти зиёдро ба бор меорад.

Масалан, нигоҳ доштани 30 гиреҳи асосӣ ба ҷои се бо як қудрати ҳисоббарорӣ ҳатман ба хароҷот таъсир мерасонад.

− Мушкилот дар идоракунӣ

Идоракунии кластерҳои сершумори Kubernetes назар ба идоракунии як кас хеле мушкилтар аст.

Масалан, шумо бояд аутентификатсия ва иҷозатро барои ҳар як кластер танзим кунед. Версияи Kubernetes низ бояд якчанд маротиба нав карда шавад.

Эҳтимол шумо бояд автоматизатсияро истифода баред, то ҳамаи ин вазифаҳоро самараноктар кунед.

Акнун биёед ба сенарияҳои камтари шадид назар кунем.

3. Як кластер барои як барнома

Дар ин равиш, шумо барои ҳама мисолҳои як барномаи мушаххас кластери алоҳида эҷод мекунед:

Тарҳрезии кластерҳои Kubernetes: онҳо бояд чанд бошад?
Кластер барои як барнома

Ин роҳро метавон ҳамчун умумгардонии принсипи «кластери алоҳида барои ҳар як даста”, зеро одатан як гурӯҳи муҳандисон як ё якчанд барномаро таҳия мекунанд.

Биёед ба мусбат ва манфии ин равиш назар андозем.

+ Кластерро ба барнома танзим кардан мумкин аст

Агар барнома эҳтиёҷоти махсус дошта бошад, онҳо метавонанд дар кластер бидуни таъсир ба кластерҳои дигар амалӣ карда шаванд.

Чунин эҳтиёҷот метавонанд кормандони GPU, плагинҳои муайяни CNI, шабакаи хидматрасонӣ ё ягон хидмати дигарро дар бар гиранд.

Ҳар як кластер метавонад ба барномае, ки дар он кор мекунад, мутобиқ карда шавад, то он танҳо он чизеро дар бар гирад.

− муҳитҳои гуногун дар як кластер

Камбудии ин равиш дар он аст, ки мисолҳои барнома аз муҳитҳои гуногун дар як кластер якҷоя зиндагӣ мекунанд.

Масалан, версияи истеҳсолии барнома дар ҳамон кластер бо версияи dev кор мекунад. Ин инчунин маънои онро дорад, ки таҳиягарон дар ҳамон кластер кор мекунанд, ки дар он версияи истеҳсолии барнома кор мекунад.

Агар бо сабаби амали таҳиягарон ё хатогиҳо дар версияи таҳиякунанда нокомӣ дар кластер рух диҳад, он гоҳ версияи истеҳсолӣ низ метавонад азият кашад - камбудии бузурги ин равиш.

Ва ниҳоят, сенарияи охирин дар рӯйхати мо.

4. Як кластер барои як муҳит

Ин сенария ҷудо кардани кластери алоҳида барои ҳар як муҳитро дар бар мегирад:

Тарҳрезии кластерҳои Kubernetes: онҳо бояд чанд бошад?
Як кластер барои як муҳити зист

Масалан, шумо метавонед кластерҳо дошта бошед д, озмоиш и маҳсулот, ки дар он шумо ҳамаи мисолҳои барномаро, ки ба муҳити мушаххас бахшида шудааст, иҷро хоҳед кард.

Инҳоянд тарафҳои мусбат ва манфии ин равиш.

+ Ҷудо кардани муҳити истеҳсолот

Дар доираи ин равиш, ҳама муҳитҳо аз ҳамдигар ҷудо карда шудаанд. Аммо, дар амал ин дар муҳити истеҳсолӣ махсусан муҳим аст.

Версияҳои истеҳсолии барнома ҳоло аз он чизе, ки дар кластерҳо ва муҳитҳои дигар рух медиҳанд, мустақил нестанд.

Ҳамин тавр, агар ногаҳон дар кластери таҳиякунанда мушкилот ба миён ояд, версияҳои истеҳсолии барномаҳо кор мекунанд, ки гӯё ҳеҷ чиз рӯй надода бошад.

+ Кластерро ба муҳит мутобиқ кардан мумкин аст

Ҳар як кластер метавонад ба муҳити худ мутобиқ карда шавад. Масалан, шумо метавонед:

  • насб кардани асбобҳо барои таҳия ва ислоҳ дар кластери dev;
  • чорчӯбаи санҷишӣ ва асбобҳоро дар кластер насб кунед озмоиш;
  • дар кластер сахтафзор ва каналҳои шабакавии пурқувваттарро истифода баред маҳсулот.

Ин ба шумо имкон медиҳад, ки ҳам самаранокии таҳияи барномаҳо ва ҳам корбарӣ зиёд карда шавад.

+ Маҳдуд кардани дастрасӣ ба кластери истеҳсолӣ

Зарурати кор кардан бо кластери маҳсулот хеле кам ба миён меояд, бинобар ин шумо метавонед доираи одамонеро, ки ба он дастрасӣ доранд, ба таври назаррас маҳдуд кунед.

Шумо метавонед боз ҳам бештартар равед ва дастрасии одамонро ба ин кластер комилан рад кунед ва бо истифода аз абзори худкори CI/CD ҳама ҷойгиркуниро иҷро кунед. Чунин равиш хатари хатогиҳои инсониро маҳз дар ҳамон ҷое, ки аз ҳама мувофиқ аст, кам мекунад.

Ва ҳоло чанд сухан дар бораи манфии.

− Дар байни барномаҳо ҷудокунӣ вуҷуд надорад

Камбудии асосии равиш ин набудани сахтафзор ва ҷудокунии захираҳо байни барномаҳо мебошад.

Барномаҳои ба ҳам алоқаманд захираҳои кластерро мубодила мекунанд: асосии система, протсессор, хотира ва баъзе хидматҳои дигар.

Тавре ки зикр гардид, ин метавонад хатарнок бошад.

− Набудани локализатсияи вобастагии барнома

Агар барнома дорои талаботи махсус бошад, онҳо бояд дар тамоми кластерҳо қонеъ карда шаванд.

Масалан, агар барнома GPU-ро талаб кунад, пас ҳар як кластер бояд ҳадди аққал як коргари дорои GPU дошта бошад (ҳатто агар он танҳо аз ҷониби он барнома истифода шавад).

Дар натича мо хавфи зиёд шудани харочот ва истифодаи бесамари ресурсхоро ба миён мегузорем.

хулоса

Агар шумо маҷмӯи мушаххаси барномаҳо дошта бошед, онҳо метавонанд дар якчанд кластерҳои калон ё бисёр кластерҳои хурд ҷойгир карда шаванд.

Дар мақола бартарӣ ва манфии равишҳои гуногун, аз як кластери глобалӣ то якчанд кластери хурд ва махсусгардонидашуда баррасӣ мешавад:

  • як кластери калони умумӣ;
  • бисёр кластерҳои хурди хеле махсусгардонидашуда;
  • як кластер барои як барнома;
  • як кластер барои як муҳити зист.

Пас шумо бояд кадом равишро пеш гиред?

Чун ҳамеша, ҷавоб аз ҳолати истифода вобаста аст: ба шумо лозим аст, ки тарафҳои мусбӣ ва манфии равишҳои гуногунро баррасӣ кунед ва варианти беҳтаринро интихоб кунед.

Аммо, интихоб танҳо бо мисолҳои дар боло овардашуда маҳдуд намешавад - шумо метавонед ҳама гуна комбинатсияи онҳоро истифода баред!

Масалан, шумо метавонед барои ҳар як даста якчанд кластер ташкил кунед: кластери рушд (дар он муҳитҳо мавҷуданд д и озмоиш) ва кластер барои истеҳсолот (дар он ҷо муҳити истеҳсолӣ ҷойгир хоҳад шуд).

Дар асоси маълумоти дар ин мақола овардашуда, шумо метавонед мувофиқи як сенарияи мушаххас мусбат ва манфиро оптимизатсия кунед. Барори кор!

PS

Инчунин дар блоги мо хонед:

Манбаъ: will.com

Илова Эзоҳ