Можда вам неће требати Кубернетес

Можда вам неће требати Кубернетес
Девојка на скутеру. Илустрација фреепик, Номад лого из ХасхиЦорп

Кубернетес је горила од 300 фунти у оркестрацији контејнера. Ради у неким од највећих контејнерских система на свету, али је скуп.

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

Шта хоћеш

Наш тим подржава бројне уобичајене услуге праћења и анализе перформанси: АПИ крајње тачке за метрику написану у Го, извоз Прометхеус, парсере дневника као што су Логстасх и Голлум, као и базе података као што су ИнфлукДБ или Еластицсеарцх. Свака од ових услуга ради у свом контејнеру. Потребан нам је једноставан систем да све функционише.

Почели смо са листом захтева за оркестрацију контејнера:

  • Покретање скупа услуга на многим машинама.
  • Преглед активних услуга.
  • Везе између услуга.
  • Аутоматско рестартовање ако услуга нестане.
  • Одржавање инфраструктуре од стране малог тима.

Поред тога, следеће ствари ће бити лепе, али не и обавезне додатке:

  • Машине за означавање на основу њихових могућности (на пример, машине за означавање брзим дисковима за тешке И/О услуге).
  • Способност покретања услуга независно од оркестратора (на пример, током развоја).
  • Заједничко место за дељење конфигурација и тајни.
  • Крајња тачка за метрику и евиденцију.

Зашто Кубернетес није прави за нас

Док смо правили прототип помоћу Кубернетеса, приметили смо да додајемо све сложеније слојеве логике на које смо се у великој мери ослањали.

На пример, Кубернетес подржава уграђене конфигурације услуга преко ЦонфигМапс. Можете се брзо збунити, посебно када спајате више конфигурационих датотека или додајете додатне услуге у под. Кубернетес (или кормило у овом случају) вам омогућава да динамички имплементирате екстерне конфигурације за одвајање брига. Али ово резултира уском, скривеном спрегом између вашег пројекта и Кубернетес-а. Међутим, Хелм и ЦонфигМапс су додатне опције, тако да не морате да их користите. Можете једноставно копирати конфигурацију у Доцкер слику. Међутим, примамљиво је кренути овим путем и изградити непотребне апстракције због којих ћете касније пожалити.

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

Када користити Кубернетес

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

Кубернетес долази са невероватне карактеристике, што чини оркестрацију контејнера у скали лакшом за управљање:

Питање је да ли су вам заиста потребне све ове карактеристике. Не можете се ослањати само на апстракције; мораћете да сазнате шта се дешава испод хаубе.

Наш тим пружа већину услуга на даљину (због блиске везе са главном инфраструктуром), тако да нисмо желели да подигнемо сопствени Кубернетес кластер. Само смо желели да пружимо услуге.

Батерије нису укључене

Номад је 20% оркестрације која обезбеђује 80% онога што је потребно. Све што ради је управљање распоређивањем. Номад брине о распоређивању, рестартује контејнере у случају грешака... и то је то.

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

Мислим да је Номад пронашао савршен компромис између лакоће употребе и корисности. Добро је за мале, независне услуге. Ако вам је потребна већа контрола, мораћете сами да их подигнете или користите другачији приступ. Номад је само оркестратор.

Најбоља ствар код Номада је то што је лако заменити. Практично не постоји веза са продавцем, јер се његове функције лако интегришу у било који други систем који управља услугама. Само ради као обичан бинарни фајл на свакој машини у кластеру, то је све!

Номадски екосистем лабаво повезаних компоненти

Номадова права снага је његов екосистем. Веома се добро интегрише са другим - потпуно опционим - производима као што су Цонсул (продавница кључ-вредност) или Свод (обрада тајни). Унутар датотеке Номад постоје одељци за издвајање података из ових услуга:

template {
  data = <<EOH
LOG_LEVEL="{{key "service/geo-api/log-verbosity"}}"
API_KEY="{{with secret "secret/geo-api-key"}}{{.Data.value}}{{end}}"
EOH

  destination = "secrets/file.env"
  env         = true
}

Овде читамо кључ service/geo-api/log-verbosity од Конзула и током рада га излажемо променљивој окружења LOG_LEVEL. Представљамо и кључ secret/geo-api-key из трезора као API_KEY. Једноставно, али моћно!

Због своје једноставности, Номад се лако може проширити другим услугама преко АПИ-ја. На пример, подржане су ознаке за задатке. Све услуге означавамо метриком trv-metrics. На овај начин Прометеј може лако да пронађе ове услуге преко Конзула и повремено проверава крајњу тачку /metrics за нове податке. Исто се може урадити, на пример, за дневнике, користећи локи.

Постоји много других примера проширивости:

  • Покрените Јенкинсов посао користећи закачицу, а Цонсул надгледа прераспоређивање Номад посла када се конфигурација услуге промени.
  • Цепх додаје дистрибуирани систем датотека у Номад.
  • фабио за балансирање оптерећења.

Све ово дозвољава органски развијати инфраструктуру без икакве посебне везе са продавцем.

Фер упозорење

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

У поређењу са Кубернетесом, заједница Номада није толико велика. Кубернетес већ има око 75 урезивања и 000 сарадника, док Номад има око 2000 урезивања и 14 сарадника. Номаду ће бити тешко да одржи корак са брзином Кубернетеса, али можда и не мора! То је специјализованији систем, а мања заједница такође значи да је већа вероватноћа да ће ваш захтев за повлачење бити примећен и прихваћен у поређењу са Кубернетес-ом.

Резиме

Закључак: Не користите Кубернетес само зато што то раде сви други. Пажљиво процените своје захтеве и проверите који алат је кориснији.

Ако планирате да примените гомилу хомогених услуга на инфраструктури великих размера, онда је Кубернетес добра опција. Само будите свесни додатне сложености и оперативних трошкова. Неки трошкови се могу избећи коришћењем управљаног Кубернетес окружења као што је Гоогле Кубернетес Енгине или Амазон ЕКС.

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

Ако се Кубернетес упореди са аутомобилом, Номад би био скутер. Понекад вам треба једна ствар, а понекад друга. И једни и други имају право на постојање.

Извор: ввв.хабр.цом

Додај коментар