Чӣ гуна Alibaba Cloud даҳҳо ҳазор кластерҳои Kubernetes-ро бо... Kubernetes идора мекунад

Cube-on-cube, метакластерҳо, асалҳо, тақсимоти захираҳо

Чӣ гуна Alibaba Cloud даҳҳо ҳазор кластерҳои Kubernetes-ро бо... Kubernetes идора мекунад
Райс. 1. Экосистемаи Kubernetes дар Alibaba Cloud

Аз соли 2015 инҷониб, Alibaba Cloud Container Service for Kubernetes (ACK) яке аз хидматрасониҳои абрии босуръат рушдёбанда дар Alibaba Cloud мебошад. Он ба мизоҷони сершумор хизмат мерасонад ва инчунин инфрасохтори дохилии Alibaba ва дигар хидматҳои абрии ширкатро дастгирӣ мекунад.

Мисли хидматҳои шабеҳи контейнерӣ аз провайдерҳои абрии сатҳи ҷаҳонӣ, афзалиятҳои асосии мо эътимоднокӣ ва дастрасӣ мебошанд. Аз ин рӯ, барои даҳҳо ҳазор кластерҳои Kubernetes платформаи миқёспазир ва дастраси ҷаҳонӣ сохта шудааст.

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

даромад

Kubernetes ба стандарти воқеии сарбориҳои гуногуни абр табдил ёфтааст. Тавре ки дар расми нишон дода шудааст. 1 дар боло, ҳоло бештар ва бештари барномаҳои Alibaba Cloud дар кластерҳои Kubernetes кор мекунанд: замимаҳои давлатӣ ва бидуни шаҳрвандӣ, инчунин менеҷерони барномаҳо. Идоракунии Kubernetes ҳамеша як мавзӯи ҷолиб ва ҷиддии баҳс барои муҳандисоне буд, ки инфрасохторро месозанд ва нигоҳ медоранд. Вақте ки сухан дар бораи провайдерҳои абрӣ ба монанди Alibaba Cloud меравад, масъалаи миқёс ба ҷои аввал меояд. Дар ин миқёс кластерҳои Kubernetes-ро чӣ гуна идора кардан мумкин аст? Мо аллакай таҷрибаҳои беҳтаринро барои идоракунии кластерҳои азими 10 гиреҳи Кубернетес фаро гирифтаем. Албатта, ин як масъалаи ҷолиби миқёс аст. Аммо миқёси дигар вуҷуд дорад: миқдор худи кластерхо.

Мо ин мавзӯъро бо бисёре аз корбарони ACK муҳокима кардем. Аксарияти онҳо интихоб мекунанд, ки даҳҳо, агар садҳо набошад, кластерҳои хурд ё миёнаи Kubernetes -ро идора кунанд. Барои ин сабабҳои хуб мавҷуданд: маҳдуд кардани зарари эҳтимолӣ, ҷудо кардани кластерҳо барои дастаҳои гуногун, эҷоди кластерҳои виртуалӣ барои санҷиш. Агар ACK ҳадафи хидматрасонии аудиторияи ҷаҳонӣ бо ин модели истифода бошад, он бояд шумораи зиёди кластерҳоро дар беш аз 20 минтақа ба таври эътимодбахш ва самаранок идора кунад.

Чӣ гуна Alibaba Cloud даҳҳо ҳазор кластерҳои Kubernetes-ро бо... Kubernetes идора мекунад
Райс. 2. Проблемаҳои идоракунии шумораи зиёди кластерҳои Kubernetes

Мушкилоти асосии идоракунии кластерҳо дар ин миқёс кадомҳоянд? Тавре ки дар расм нишон дода шудааст, чор масъаларо ҳал кардан лозим аст:

  • Гетерогенӣ

ACK бояд намудҳои гуногуни кластерҳоро дастгирӣ кунад, аз ҷумла стандартӣ, бе сервер, Edge, Windows ва чанде дигар. Кластерҳои гуногун имконоти гуногун, ҷузъҳо ва моделҳои хостингро талаб мекунанд. Баъзе муштариён ба кӯмак дар мутобиқсозӣ барои ҳолатҳои мушаххаси худ ниёз доранд.

  • Андозаи кластерҳои гуногун

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

  • Версияҳои гуногун

Кубернетес хеле зуд инкишоф меёбад. Версияҳои нав ҳар чанд моҳ бароварда мешаванд. Мизоҷон ҳамеша омодаанд, ки хусусиятҳои навро санҷанд. Ҳамин тавр, онҳо мехоҳанд бори санҷишро ба версияҳои нави Kubernetes ва сарбории истеҳсолиро ба версияҳои устувор гузоранд. Барои қонеъ кардани ин талабот, ACK бояд пайваста версияҳои нави Kubernetes-ро ба мизоҷон ҳангоми нигоҳ доштани версияҳои устувор таъмин намояд.

  • Мутобиқати амният

Кластерҳо дар минтақаҳои гуногун тақсим карда мешаванд. Ҳамин тариқ, онҳо бояд ба талаботҳои гуногуни бехатарӣ ва қоидаҳои расмӣ мувофиқат кунанд. Масалан, кластер дар Аврупо бояд ба GDPR мувофиқ бошад, дар ҳоле ки абри молиявӣ дар Чин бояд қабатҳои иловагии муҳофизат дошта бошад. Ин талабот ҳатмист ва нодида гирифтани онҳо ғайри қобили қабул аст, зеро ин барои муштариёни платформаи абрӣ хатарҳои бузург эҷод мекунад.

Платформаи ACK барои ҳалли аксари мушкилоти дар боло зикршуда пешбинӣ шудааст. Дар айни замон он беш аз 10 ҳазор кластерҳои Кубернетесро дар саросари ҷаҳон боэътимод ва устувор идора мекунад. Биёед бубинем, ки ин чӣ гуна ба даст омадааст, аз ҷумла тавассути якчанд принсипҳои асосии тарҳрезӣ/меъморӣ.

лоиҳа

Мукааб-дар-куб ва асал

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

Ҳар як минтақа дар абри Alibaba аз якчанд минтақаҳо (AZ) иборат аст ва одатан ба як маркази мушаххаси додаҳо мувофиқат мекунад. Дар як минтақаи калон (масалан, Хуанчжоу), аксар вақт ҳазорҳо кластерҳои муштариёни Kubernetes мавҷуданд, ки ACK-ро идора мекунанд.

ACK ин кластерҳои Kubernetes-ро бо истифода аз худи Kubernetes идора мекунад, яъне мо як метакластери Kubernetes дорем, ки барои идоракунии кластерҳои муштарии Kubernetes кор мекунад. Ин меъморӣ инчунин "kube-on-kube" (KoK) номида мешавад. Меъмории KoK идоракунии кластерҳои муштариёнро содда мекунад, зеро ҷойгиркунии кластер оддӣ ва муайянкунанда аст. Муҳимтар аз ҳама, мо метавонем хусусиятҳои аслии Kubernetes-ро дубора истифода барем. Масалан, идоракунии серверҳои API тавассути ҷойгиркунӣ, истифодаи оператори etcd барои идоракунии бисёр ғайра. Чунин рекурсия ҳамеша лаззати махсус меорад.

Якчанд метакластерҳои Kubernetes вобаста ба шумораи муштариён дар як минтақа ҷойгир карда мешаванд. Мо ин ҳуҷайраҳои метакластерҳо меномем. Барои муҳофизат аз нокомии тамоми минтақа, ACK ҷойгиркунии бисёрфаъолро дар як минтақаи ягона дастгирӣ мекунад: метакластер ҷузъҳои устои кластери муштарии Kubernetes-ро дар минтақаҳои сершумор паҳн мекунад ва онҳоро ҳамзамон, яъне дар реҷаи бисёрфаъол иҷро мекунад. Барои таъмини эътимоднокӣ ва самаранокии устод, ACK ҷойгиркунии ҷузъҳоро оптимизатсия мекунад ва кафолат медиҳад, ки сервери API ва ғайра ба ҳамдигар наздик бошанд.

Ин модел ба шумо имкон медиҳад, ки Kubernetes-ро самаранок, чандир ва боэътимод идора кунед.

Банақшагирии захираҳои метакластерӣ

Тавре ки мо аллакай зикр кардем, шумораи метакластерҳо дар ҳар як минтақа аз шумораи муштариён вобаста аст. Аммо дар кадом маврид метакластери навро илова кардан лозим аст? Ин як масъалаи маъмулии банақшагирии захираҳо мебошад. Чун ќоида, дар њоле, ки метакластерњои мављуда тамоми захирањои худро тамом кардаанд, сохтани як нав маъмул аст.

Барои мисол, захираҳои шабакаро гирем. Дар меъмории KoK, ҷузъҳои Kubernetes аз кластерҳои муштарӣ ҳамчун pods дар метакластер ҷойгир карда мешаванд. Мо истифода мебарем Тервей (Расми 3) як плагини баландсифатест, ки аз ҷониби Alibaba Cloud барои идоракунии шабакаи контейнерӣ таҳия шудааст. Он маҷмӯи ғании сиёсатҳои амниятро таъмин мекунад ва ба шумо имкон медиҳад, ки ба абрҳои хусусии виртуалии муштариён (VPC) тавассути интерфейси шабакаи Alibaba Cloud Elastic Networking (ENI) пайваст шавед. Барои самаранок паҳн кардани захираҳои шабакавӣ дар байни гиреҳҳо, подкастҳо ва хидматҳо дар метакластер, мо бояд истифодаи онҳоро дар дохили метакластери абрҳои хусусии виртуалӣ бодиққат назорат кунем. Вақте ки захираҳои шабака ба охир мерасанд, ячейкаи нав сохта мешавад.

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

Чӣ гуна Alibaba Cloud даҳҳо ҳазор кластерҳои Kubernetes-ро бо... Kubernetes идора мекунад
Райс. 3. Меъмории шабакаи Terway

Миқёси ҷузъҳои устод дар саросари кластерҳои муштарӣ

Ҷузъҳои ҷодугар эҳтиёҷоти гуногуни захираҳо доранд. Онҳо аз шумораи гиреҳҳо ва подкҳо дар кластер, шумораи контроллерҳо/операторҳои ғайристандартӣ, ки бо APIServer ҳамкорӣ мекунанд, вобастаанд.

Дар ACK, ҳар як кластери муштарии Kubernetes аз рӯи ҳаҷм ва талаботи вақти корӣ фарқ мекунад. Барои ҷойгиркунии ҷузъҳои устод ягон конфигуратсияи универсалӣ вуҷуд надорад. Агар мо иштибоҳан лимити ками захираҳоро барои муштарии калон муқаррар карда бошем, пас кластери он аз ӯҳдаи сарборӣ баромада наметавонад. Агар шумо барои ҳама кластерҳо маҳдудияти баланди консервативӣ муқаррар кунед, захираҳо беҳуда сарф мешаванд.

Барои дарёфти муомилоти нозук байни эътимоднокӣ ва арзиш, ACK системаи навъиро истифода мебарад. Маҳз, мо се намуди кластерҳоро муайян мекунем: хурд, миёна ва калон. Ҳар як намуд дорои профили ҷудогонаи захираҳо мебошад. Навъ дар асоси сарбории ҷузъҳои устод, шумораи гиреҳҳо ва дигар омилҳо муайян карда мешавад. Навъи кластер метавонад бо мурури замон тағир ёбад. ACK пайваста ин омилҳоро назорат мекунад ва мувофиқи он метавонад боло/поён чоп кунад. Пас аз тағир додани навъи кластер, тақсимоти захираҳо бо дахолати ҳадди ақали корбар ба таври худкор нав карда мешавад.

Мо кор карда истодаем, ки ин системаро бо миқёси дақиқтар ва навсозии навъи дақиқ такмил диҳем, то ин тағиротҳо осонтар ба амал оянд ва маънои бештари иқтисодӣ дошта бошанд.

Чӣ гуна Alibaba Cloud даҳҳо ҳазор кластерҳои Kubernetes-ро бо... Kubernetes идора мекунад
Райс. 4. Гузариши навъи интеллектуалии бисёрмарҳила

Эволютсияи кластерҳои муштариён дар миқёс

Фаслҳои қаблӣ баъзе ҷанбаҳои идоракунии шумораи зиёди кластерҳои Kubernetes-ро фаро гирифтанд. Бо вуҷуди ин, мушкилоти дигаре вуҷуд дорад, ки бояд ҳал карда шавад: эволютсияи кластерҳо.

Kubernetes "Linux" -и ҷаҳони абрӣ мебошад. Он пайваста нав карда мешавад ва модултар мегардад. Мо бояд пайваста версияҳои навро ба мизоҷони худ расонем, осебпазириро ислоҳ кунем ва кластерҳои мавҷударо навсозӣ кунем, инчунин шумораи зиёди ҷузъҳои алоқамандро идора кунем (CSI, CNI, Plugin Device, Scheduler Plugin ва бисёр дигарон).

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

Чӣ гуна Alibaba Cloud даҳҳо ҳазор кластерҳои Kubernetes-ро бо... Kubernetes идора мекунад
Райс. 5. Унсурҳои чандир ва васлшаванда

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

Чӣ гуна Alibaba Cloud даҳҳо ҳазор кластерҳои Kubernetes-ро бо... Kubernetes идора мекунад
Райс. 6. Санҷиши пешакии ҷузъҳои кластер

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

Масалан, контролери BroadcastJob барои навсозии ҷузъҳои ҳар як мошини коргарӣ ё тафтиши гиреҳҳои ҳар як мошин тарҳрезӣ шудааст. Кори Broadcast дар ҳар як гиреҳи кластер як паҳлӯро иҷро мекунад, ба монанди DaemonSet. Аммо, DaemonSet ҳамеша подкастро барои муддати тӯлонӣ нигоҳ медорад, дар ҳоле ки BroadcastJob онро вайрон мекунад. Назоратчии Broadcast инчунин дар гиреҳҳои нав пайвастшуда поддонҳоро оғоз мекунад ва гиреҳҳоро бо ҷузъҳои зарурӣ оғоз мекунад. Моҳи июни соли 2019 мо рамзи сарчашмаи муҳаррики автоматикунонии OpenKruise-ро кушодем, ки худи мо онро дар дохили ширкат истифода мебарем.

Чӣ гуна Alibaba Cloud даҳҳо ҳазор кластерҳои Kubernetes-ро бо... Kubernetes идора мекунад
Райс. 7. OpenKurise иҷрои вазифаи Broadcast-ро дар ҳама гиреҳҳо ташкил мекунад

Барои кӯмак ба мизоҷон дар интихоби конфигуратсияҳои кластери дуруст, мо инчунин маҷмӯи профилҳои пешакӣ муайяншударо пешниҳод мекунем, аз ҷумла профилҳои Serverless, Edge, Windows ва Bare Metal. Вақте ки манзара васеъ мешавад ва эҳтиёҷоти муштариёни мо афзоиш меёбад, мо профилҳои бештарро илова мекунем, то раванди насбкунии дилгиркунандаро содда созем.

Чӣ гуна Alibaba Cloud даҳҳо ҳазор кластерҳои Kubernetes-ро бо... Kubernetes идора мекунад
Райс. 8. Профилҳои кластерҳои пешрафта ва чандир барои сенарияҳои гуногун

Мушоҳидаи глобалӣ дар марказҳои додаҳо

Тавре ки дар расми зер нишон дода шудааст. 9, хидмати абрии Alibaba Cloud Container дар бист минтақаи ҷаҳон ҷойгир карда шудааст. Бо дарназардошти ин миқёс, яке аз ҳадафҳои асосии ACK ин ба осонӣ назорат кардани ҳолати кластерҳои коркунанда мебошад, то агар кластери муштарӣ ба мушкилот дучор шавад, мо метавонем ба вазъият зуд вокуниш нишон диҳем. Ба ибораи дигар, шумо бояд ҳалли худро пайдо кунед, ки ба шумо имкон медиҳад, ки оморро дар вақти воқеӣ аз кластерҳои муштариён дар ҳама минтақаҳо самаранок ва бехатар ҷамъоварӣ кунед ва натиҷаҳоро ба таври визуалӣ пешниҳод кунед.

Чӣ гуна Alibaba Cloud даҳҳо ҳазор кластерҳои Kubernetes-ро бо... Kubernetes идора мекунад
Райс. 9. Ҷойгиркунии глобалии хидмати Alibaba Cloud Container дар бист минтақа

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

  • Метрикҳои ОС ба монанди захираҳои мизбон (CPU, хотира, диск ва ғайра) ва фарохмаҷрои шабака.
  • Метрикҳо барои системаи идоракунии кластерии метакластер ва муштарӣ, ба монанди kube-apiserver, kube-controller-meneger ва kube-scheduler.
  • Метрикҳо аз kubernetes-state-metrics ва cadvisor.
  • ченакҳои ва ғайра ба монанди вақти навиштани диск, андозаи пойгоҳи додаҳо, интиқоли пайвастшавӣ байни гиреҳҳо ва ғайра.

Омори умумиҷаҳонӣ бо истифода аз модели маъмулии ҷамъбандии бисёрқабата ҷамъоварӣ карда мешавад. Маълумоти мониторинги ҳар як метакластер аввал дар ҳар як минтақа ҷамъ карда мешавад ва сипас ба сервери марказӣ фиристода мешавад, ки тасвири умумиро нишон медиҳад. Хамааш ба воситаи механизми федерация кор мекунад. Сервери Prometheus дар ҳар як маркази додаҳо ченакҳоро аз он маркази додаҳо ҷамъ мекунад ва сервери марказии Prometheus барои ҷамъоварии маълумоти мониторинг масъул аст. AlertManager ба Prometheus-и марказӣ пайваст мешавад ва дар ҳолати зарурӣ тавассути DingTalk, почтаи электронӣ, SMS ва ғайра огоҳиҳо мефиристад. Визуалӣ - бо истифода аз Grafana.

Дар расми 10 системаи мониторингро ба се сатҳ тақсим кардан мумкин аст:

  • Сатҳи сарҳадӣ

Қабати дуртарин аз марказ. Сервери Prometheus Edge дар ҳар як метакластер кор мекунад ва ченакҳоро аз кластерҳои мета ва муштарӣ дар дохили як домени шабака ҷамъ мекунад.

  • Сатҳи каскад

Вазифаи қабати каскади Prometheus ҷамъоварии маълумоти мониторинг аз минтақаҳои гуногун мебошад. Ин серверҳо дар сатҳи воҳидҳои ҷуғрофии калонтар ба монанди Чин, Осиё, Аврупо ва Амрико амал мекунанд. Вақте ки кластерҳо афзоиш меёбанд, минтақаро метавон тақсим кард ва сипас дар ҳар як минтақаи нави калон сервери сатҳи каскади Prometheus пайдо мешавад. Бо ин стратегия, шумо метавонед ба таври лозимӣ миқёсро васеъ кунед.

  • Сатҳи марказӣ

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

Чӣ гуна Alibaba Cloud даҳҳо ҳазор кластерҳои Kubernetes-ро бо... Kubernetes идора мекунад
Райс. 10. Меъмории мониторинги бисёрсатҳи ҷаҳонӣ дар асоси механизми федератсияи Прометей

Натиҷа

Қарорҳои абрии ба Кубернетес асосёфта саноати моро тағир медиҳанд. Хидмати контейнерии Alibaba Cloud хостинги амн, боэътимод ва баландмаъноро таъмин мекунад - он яке аз беҳтарин хостинги абрии Kubernetes мебошад. Дастаи Alibaba Cloud ба принсипҳои кушодаасос ва ҷомеаи кушодаасос боварӣ дорад. Мо бешубҳа мубодилаи донишҳои худро дар соҳаи фаъолият ва идоракунии технологияҳои абрӣ идома хоҳем дод.

Манбаъ: will.com

Илова Эзоҳ