Саргузашти Kubernetes Dailymotion: эҷоди инфрасохтор дар абрҳо + дар дохили бино

Саргузашти Kubernetes Dailymotion: эҷоди инфрасохтор дар абрҳо + дар дохили бино

Шарҳ. тарҷума.: Dailymotion яке аз бузургтарин хидматҳои хостинги видео дар ҷаҳон аст ва аз ин рӯ корбари намоёни Kubernetes. Дар ин мавод, меъмори система Дэвид Дончез натиҷаҳои эҷоди платформаи истеҳсолии ширкатро дар асоси K8s, ки бо насби абрӣ дар GKE оғоз ёфта, ҳамчун як ҳалли гибридӣ анҷом ёфт, мубодила мекунад, ки вақти беҳтари посух ва сарфаи хароҷоти инфрасохторро фароҳам овард.

Қарор дар бораи аз нав сохтани API Core Dailymotion се сол пеш, мо мехостем, ки роҳи муассиртари мизбони барномаҳоро таҳия кунем ва онро осонтар кунем равандҳои рушд ва истеҳсолот. Бо ин мақсад мо тасмим гирифтем, ки платформаи оркестрсозии контейнерро истифода барем ва табиист, ки Кубернетесро интихоб кунем.

Чаро дар асоси Kubernetes сохтани платформаи шахсии худ меарзад?

API-и сатҳи истеҳсолот дар ҳеҷ вақт бо истифода аз Google Cloud

Тобистони соли 2016

Се сол пеш, фавран пас аз он ки Dailymotion аз ҷониби харидорӣ карда шуд Vivendi, дастаҳои муҳандисии мо ба як ҳадафи ҷаҳонӣ нигаронида шудаанд: эҷод кардани маҳсулоти комилан нави Dailymotion.

Дар асоси таҳлили контейнерҳо, ҳалли оркестрҳо ва таҷрибаи гузаштаи мо, мо итминон дорем, ки Кубернетес интихоби дуруст аст. Баъзе таҳиягарон аллакай фаҳмиши мафҳумҳои асосиро доштанд ва чӣ тавр истифода бурдани онро медонистанд, ки ин барои тағир додани инфрасохтор бартарии бузург буд.

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

Чаро шумо GKE-ро интихоб кардед?

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

Саргузашти Kubernetes Dailymotion: эҷоди инфрасохтор дар абрҳо + дар дохили бино
Кластерҳои GKE дар Dailymotion

Азбаски Dailymotion як платформаи видеоӣ дар саросари ҷаҳон аст, мо дар ҳақиқат мехостем, ки сифати хидматро бо кам кардани вақти интизорӣ беҳтар кунем. (таҳқир)... Пештар API-и мо танҳо дар Париж дастрас буд, ки он ғайриоддӣ буд. Ман мехостам на танҳо дар Аврупо, балки дар Осиё ва ИМА низ барномаҳоро мизбон бошам.

Ин ҳассосият ба таъхир маънои онро дошт, ки бояд дар меъмории шабакаи платформа кори ҷиддӣ анҷом дода шавад. Дар ҳоле ки аксари хидматҳои абрӣ шуморо маҷбур мекарданд, ки дар ҳар як минтақа шабакаи шахсии худро эҷод кунед ва сипас онҳоро тавассути VPN ё ягон намуди хидматрасонии идорашаванда пайваст кунед, Google Cloud ба шумо имкон дод, ки як шабакаи ягонаи комилан масир, ки тамоми минтақаҳои Google-ро фаро мегирад, эҷод кунед. Ин аз нуқтаи назари фаъолият ва самаранокии система як плюс калон аст.

Илова бар ин, хидматҳои шабакавӣ ва тавозуни сарборӣ аз Google Cloud кори хубе мекунанд. Онҳо танҳо ба шумо имкон медиҳанд, ки суроғаҳои IP-и ихтиёрии ҳар як минтақаро истифода баред ва протоколи олиҷаноби BGP боқимондаро ғамхорӣ мекунад (яъне масири корбарон ба кластери наздиктарин). Аён аст, ки дар сурати нобарорӣ ҳаракати нақлиёт ба таври худкор бидуни дахолати инсон ба минтақаи дигар меравад.

Саргузашти Kubernetes Dailymotion: эҷоди инфрасохтор дар абрҳо + дар дохили бино
Мониторинги Google Load Balance

Платформаи мо инчунин аз GPU-ҳои сахт истифода мебарад. Google Cloud ба шумо имкон медиҳад, ки онҳоро мустақиман дар кластерҳои Kubernetes хеле самаранок истифода баред.

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

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

Аммо, сарфи назар аз як қатор бартариҳо, кор бо провайдери абрӣ бо хароҷоти муайян алоқаманд аст, ки вобаста ба сарборӣ метавонад афзоиш ёбад. Аз ин рӯ, мо ҳар як хидмати идорашавандаеро, ки мо истифода мебарем, бодиққат таҳлил кардем ва умедворем, ки онҳоро дар оянда дар маҳал татбиқ хоҳем кард. Воқеан, татбиқи кластерҳои маҳаллӣ дар охири соли 2016 оғоз ёфт ва стратегияи гибридӣ ҳамзамон оғоз шуд.

Оғози платформаи маҳаллии оркестри контейнерии Dailymotion

Тирамоҳи 2016

Дар шароите, ки тамоми стек барои истеҳсол омода буд ва дар API кор кунед давом дод, вақти он расидааст, ки ба кластерҳои минтақавӣ тамаркуз кунем.

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

Инфрасохтори Dailymotion аз беш аз 2,5 ҳазор сервер дар шаш маркази додаҳо иборат буд. Ҳамаи онҳо бо истифода аз Saltstack танзим карда шудаанд. Мо ба омода кардани ҳама дастурҳои зарурӣ барои сохтани гиреҳҳои усто ва коргарӣ, инчунин кластери etcd шурӯъ кардем.

Саргузашти Kubernetes Dailymotion: эҷоди инфрасохтор дар абрҳо + дар дохили бино

Қисми шабакавӣ

Шабакаи мо комилан масир аст. Ҳар як сервер IP-и худро дар шабака бо истифода аз Exabgp таблиғ мекунад. Мо якчанд плагинҳои шабакавиро муқоиса кардем ва ягонае, ки ҳама ниёзҳоро қонеъ мекард (бо назардошти равиши L3 истифодашуда) Калико. Он ба модели мавҷудаи инфрасохтори шабака комилан мувофиқ аст.

Азбаски мо мехостем, ки ҳамаи унсурҳои инфрасохтори мавҷударо истифода барем, аввалин коре, ки мо бояд анҷом диҳем, ин буд, ки утилитаи шабакаи хонагии мо (дар ҳама серверҳо истифода мешавад): онро барои таблиғи диапазони суроғаҳои IP дар шабака бо гиреҳҳои Kubernetes истифода баред. Мо ба Calico иҷозат додем, ки суроғаҳои IP-ро ба подкҳо таъин кунад, аммо онро барои сеансҳои BGP дар таҷҳизоти шабакавӣ истифода набурдем ва ҳоло ҳам истифода намебарем. Дар асл, масирро Exabgp идора мекунад, ки зершабакаҳои аз ҷониби Calico истифодашавандаро таблиғ мекунад. Ин ба мо имкон медиҳад, ки аз шабакаи дохилӣ (ва алалхусус аз тавозуни сарборӣ) ба ҳама гуна подкастҳо расем.

Чӣ тавр мо трафики вурудро идора мекунем

Барои равона кардани дархостҳои воридотӣ ба хидмати дилхоҳ, тасмим гирифта шуд, ки Ingress Controller аз сабаби ҳамгироии он бо захираҳои воридшавии Kubernetes истифода шавад.

Се сол пеш, nginx-ingress-controller контролери баркамолтарин буд: Nginx муддати тӯлонӣ вуҷуд дошт ва бо устуворӣ ва иҷроиш маълум буд.

Дар системаи мо, мо тасмим гирифтем, ки контроллерҳоро дар серверҳои махсуси 10-Гигабит ҷойгир кунем. Ҳар як контроллер ба нуқтаи ниҳоии kube-apiserver кластери мувофиқ пайваст карда шуд. Ин серверҳо инчунин Exabgp-ро барои таблиғи суроғаҳои IP-и ҷамъиятӣ ё хусусӣ истифода мекарданд. Топологияи шабакаи мо ба мо имкон медиҳад, ки BGP-ро аз ин контроллерҳо истифода барем, то бе истифодаи хидмат ба монанди NodePort тамоми трафикро мустақиман ба подкҳо равона кунем. Ин равиш ба пешгирии трафики уфуқӣ байни гиреҳҳо кӯмак мекунад ва самаранокии онро беҳтар мекунад.

Саргузашти Kubernetes Dailymotion: эҷоди инфрасохтор дар абрҳо + дар дохили бино
Ҳаракати трафик аз Интернет ба pods

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

Муҳоҷирати трафик аз Google Cloud ба инфрасохтори Dailymotion

Тирамоҳи 2018

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

Саргузашти Kubernetes Dailymotion: эҷоди инфрасохтор дар абрҳо + дар дохили бино

Стратегияи ҷории масир хеле содда аст, аммо он ба ниёзҳо мувофиқ аст. Илова ба IP-ҳои ҷамъиятӣ (дар Google Cloud ва Dailymotion), AWS Route 53 барои муқаррар кардани сиёсатҳо ва масири корбарон ба кластери интихобкардаи мо истифода мешавад.

Саргузашти Kubernetes Dailymotion: эҷоди инфрасохтор дар абрҳо + дар дохили бино
Намунаи сиёсати масир бо истифода аз Роҳи 53

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

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

Азбаски кластерҳои GKE-и мо бо истифода аз Метрикҳои фармоишӣ ба таври худкор танзим карда шудаанд, онҳо дар асоси трафики воридотӣ миқёсро боло/паст мекунанд.

Дар ҳолати муқаррарӣ, тамоми трафики минтақавӣ ба кластери маҳаллӣ равона карда мешавад ва GKE дар ҳолати мушкилот ҳамчун захира хизмат мекунад (тафтишҳои саломатӣ тавассути хатсайри 53 гузаронида мешаванд).

...

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

PS аз тарҷумон

Шумо инчунин метавонед ба мақолаи охирини Dailymotion дар бораи Кубернетес таваҷҷӯҳ кунед. Он ба ҷойгиркунии барномаҳо бо Helm дар бисёр кластерҳои Kubernetes ва нашр гардид кариб як мох пеш.

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

Манбаъ: will.com

Илова Эзоҳ