Шояд ба шумо Kubernetes лозим набошад

Шояд ба шумо Kubernetes лозим набошад
Духтар дар скутер. Иллюстрация freepik, логотипи Nomad аз Hashi Corp

Кубернетес гориллаи 300 фунт оркестри контейнерӣ мебошад. Он дар баъзе аз бузургтарин системаҳои контейнерӣ дар ҷаҳон кор мекунад, аммо гарон аст.

Махсусан барои дастаҳои хурдтар гаронарзиш аст, ки вақти зиёди дастгирӣ ва хатти омӯзиширо талаб мекунад. Ин барои дастаи чорнафараи мо хеле зиёд аст. Ҳамин тавр, мо ба ҷустуҷӯи алтернативаҳо шурӯъ кардем ва ба он ошиқ шудем Номаъ.

Ту чӣ мехоҳӣ

Дастаи мо як қатор хидматҳои умумии мониторинг ва таҳлили иҷроишро дастгирӣ мекунад: нуқтаи ниҳоии API барои ченакҳое, ки дар Go навишта шудаанд, содироти Prometheus, таҳлилгари гузоришҳо ба монанди Logstash ва Голлум, инчунин пойгоҳи додаҳо ба монанди InfluxDB ё Elasticsearch. Ҳар яке аз ин хидматҳо дар контейнери худ кор мекунанд. Ба мо системаи оддие лозим аст, ки ҳамааш кор кунад.

Мо бо рӯйхати талабот барои оркестри контейнер оғоз кардем:

  • Иҷрои маҷмӯи хидматҳо дар бисёр мошинҳо.
  • Баррасии хидматҳои иҷрошаванда.
  • Пайвандҳо байни хидматҳо.
  • Агар хидмат қатъ шавад, ба таври худкор аз нав оғоз кунед.
  • Таъмини инфрасохтор аз ҷониби як гурӯҳи хурд.

Илова бар ин, чизҳои зерин хуб хоҳанд буд, аммо иловаҳо лозим нестанд:

  • Барчаспкунии мошинҳо аз рӯи имкониятҳои онҳо (масалан, тамғагузорӣ мошинҳои дорои дискҳои тез барои хидматҳои вазнини воридотӣ).
  • Имконияти иҷро кардани хидматҳо новобаста аз оркестр (масалан, ҳангоми таҳия).
  • Ҷои умумӣ барои мубодилаи конфигуратсияҳо ва асрор.
  • Нуқтаи ниҳоӣ барои ченакҳо ва гузоришҳо.

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

Вақте ки мо бо Кубернетес прототип кардем, мо пай бурдем, ки мо қабатҳои торафт мураккаби мантиқро илова карда истодаем, ки ба онҳо сахт такя мекардем.

Ҳамчун мисол, Kubernetes конфигуратсияҳои хидматрасонии дохилиро тавассути ConfigMaps. Шумо метавонед зуд ошуфта шавед, хусусан ҳангоми якҷоя кардани якчанд файлҳои конфигуратсия ё илова кардани хидматҳои иловагӣ ба подк. Кубернетес (ё штурм дар ин ҳолат) ба шумо имкон медиҳад, ки конфигуратсияҳои берунаро барои ҷудо кардани нигарониҳо динамикӣ амалӣ кунед. Аммо ин боиси пайвастагии зич ва пинҳонӣ байни лоиҳаи шумо ва Kubernetes мегардад. Бо вуҷуди ин, Helm ва ConfigMaps имконоти иловагӣ мебошанд, бинобар ин ба шумо лозим нест, ки онҳоро истифода баред. Шумо метавонед танҳо конфигуратсияро ба тасвири Docker нусхабардорӣ кунед. Бо вуҷуди ин, ба ин роҳ рафтан ва сохтани абстраксияҳои нолозим аст, ки баъдтар пушаймон мешавед.

Илова бар ин, экосистемаи Кубернетес босуръат инкишоф меёбад. Барои аз таҷрибаҳои пешқадам ва асбобҳои навтарин огоҳ будан вақт ва қувваи зиёдеро талаб мекунад. Kubectl, minikube, kubeadm, helm, tiller, kops, oc - рӯйхат ва идома дорад. На ҳамаи ин асбобҳо ҳангоми оғози кор лозиманд, аммо шумо намедонед, ки ба шумо чӣ лозим аст, бинобар ин шумо бояд аз ҳама чиз огоҳ бошед. Аз ин сабаб, хатти таълим хеле нишеб аст.

Кай Kubernetes истифода мешавад

Дар ширкати мо, бисёр одамон Kubernetes истифода мебаранд ва аз он хеле қаноатманданд. Ин мисолҳоро Google ё Amazon идора мекунанд, ки барои дастгирии онҳо захираҳо доранд.

Кубернетес бо хусусиятҳои аҷиб, ки оркестри контейнерро дар миқёс идорашавандатар мекунад:

Савол ин аст, ки оё шумо воқеан ба ҳамаи ин хусусиятҳо ниёз доред? Шумо наметавонед танҳо ба абстраксияҳо такя кунед; шумо бояд фаҳмед, ки дар зери сарпӯш чӣ рӯй медиҳад.

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

Батареяҳо дохил карда нашудаанд

Nomad 20% оркестрро ташкил медиҳад, ки 80% чизи заруриро таъмин мекунад. Ҳамаи он идора кардани ҷойгиркунӣ мебошад. Nomad дар бораи ҷойгиркунӣ ғамхорӣ мекунад, дар сурати хатогиҳо контейнерҳоро аз нав оғоз мекунад ... ва ҳамин тавр.

Тамоми нуқтаи Nomad он чизест, ки вай мекунад ҳадди аққал: идоракунии ҳуқуқҳои гранулӣ ё сиёсати васеътари шабака, ин махсус тарҳрезӣ шудааст. Ин ҷузъҳо аз берун таъмин карда мешаванд ё тамоман.

Ман фикр мекунам, ки Nomad созиши комилро байни осонии истифода ва хидматрасонӣ пайдо кардааст. Ин барои хидматҳои хурд ва мустақил хуб аст. Агар ба шумо назорати бештар лозим бошад, шумо бояд онҳоро худатон баланд кунед ё усули дигарро истифода баред. Номад аст танҳо оркестр.

Беҳтарин чизи Nomad дар он аст, ки он осон аст иваз кунед. Бо фурӯшанда амалан ягон робита вуҷуд надорад, зеро функсияҳои он ба ҳама гуна системаи дигар, ки хидматҳоро идора мекунанд, ба осонӣ ворид карда мешаванд. Он танҳо мисли дуӣ муқаррарӣ дар ҳар як мошини кластер кор мекунад, ҳамааш!

Экосистемаи кӯчманчӣ аз ҷузъҳои ба ҳам пайвастшуда

Қувваи аслии Nomad экосистемаи он аст. Он бо дигар маҳсулот - комилан ихтиёрӣ - хеле хуб ҳамгиро мешавад Консул (мағозаи арзиши калидӣ) ё анбор (коркарди асрор). Дар дохили файли Nomad бахшҳо барои истихроҷи маълумот аз ин хидматҳо мавҷуданд:

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 аз Vault ҳамчун API_KEY. Содда, вале пурқувват!

Аз сабаби соддагии худ, Nomad бо хидматҳои дигар тавассути API ба осонӣ васеъ карда мешавад. Масалан, барчаспҳо барои вазифаҳо дастгирӣ карда мешаванд. Мо ҳама хидматҳоро бо нишондиҳандаҳо нишон медиҳем trv-metrics. Бо ин роҳ Prometheus метавонад ба осонӣ ин хидматҳоро тавассути Консул пайдо кунад ва давра ба давра нуқтаи ниҳоиро тафтиш кунад /metrics барои маълумоти нав. Ҳаминро метавон кард, масалан, барои гузоришҳо, истифода Локӣ.

Бисёр мисолҳои дигари васеъшавӣ вуҷуд доранд:

  • Бо истифода аз қалмоқ кори Ҷенкинсро иҷро кунед ва Консул ҳангоми тағир додани конфигуратсияи хидмат дубора ҷойгиркунии кори Nomad назорат мекунад.
  • Ceph системаи файлии тақсимшударо ба Nomad илова мекунад.
  • fabio барои мувозинати сарборӣ.

Хамаи ин имконият медихад инфраструктураро ба таври органикй инкишоф диханд бе ягон робитаи махсус ба фурӯшанда.

Огоҳии одилона

Ягон система комил нест. Ман тавсия намедиҳам, ки дарҳол навтарин хусусиятҳоро дар истеҳсолот ҷорӣ кунед. Албатта, хатогиҳо ва хусусиятҳои гумшуда мавҷуданд, аммо ин ба Kubernetes дахл дорад.

Дар муқоиса бо Кубернетес, ҷомеаи Nomad он қадар калон нест. Кубернетес аллакай тақрибан 75 ӯҳдадориҳо ва 000 саҳмгузор дорад, дар ҳоле ки Nomad тақрибан 2000 ӯҳдадориҳо ва 14 саҳмгузор дорад. Nomad барои нигоҳ доштани суръати Кубернетес душвор хоҳад буд, аммо шояд ин лозим нест! Ин як системаи махсусгардонидашуда аст ва ҷомеаи хурдтар инчунин маънои онро дорад, ки дархости ҷалби шумо дар муқоиса бо Kubernetes эҳтимоли бештар мушоҳида ва қабул карда мешавад.

Натиҷа

Сатри поён: Kubernetes-ро танҳо аз он сабаб истифода набаред, ки ҳама дигарон ин корро мекунанд. Талаботи худро бодиққат арзёбӣ кунед ва санҷед, ки кадом асбоб бештар фоидаовар аст.

Агар шумо нақша доред, ки як тонна хидматҳои якхеларо дар инфрасохтори васеъ ҷойгир кунед, пас Кубернетес як варианти хуб аст. Танҳо аз мураккабии иловагӣ ва хароҷоти амалиётӣ огоҳ бошед. Баъзе хароҷотро тавассути истифодаи муҳити идорашавандаи Kubernetes метавон пешгирӣ кард, масалан Google Kubernetes Engine ё Amazon EKS.

Агар шумо танҳо дар ҷустуҷӯи як оркестри боэътимод бошед, ки нигоҳдорӣ ва васеъшаванда аст, чаро Nomad-ро санҷед? Шояд шумо ҳайрон шавед, ки ин шуморо то чӣ андоза дур мекунад.

Агар Кубернетесро бо мошин муқоиса кунанд, Номад скутер хоҳад буд. Баъзан шумо ба як чиз ниёз доред ва баъзан ба шумо чизи дигар лозим аст. Ҳарду ҳақ доранд, ки вуҷуд дошта бошанд.

Манбаъ: will.com

Илова Эзоҳ