Dàn-thuras Kubernetes Dailymotion: a’ cruthachadh bun-structair anns na sgòthan + san togalach

Dàn-thuras Kubernetes Dailymotion: a’ cruthachadh bun-structair anns na sgòthan + san togalach

Thoir an aire. eadar-theangachadh.: Is e Dailymotion aon de na seirbheisean aoigheachd bhidio as motha san t-saoghal agus mar sin neach-cleachdaidh ainmeil Kubernetes. Anns an stuth seo, tha an t-ailtire siostam David Donchez a ’roinn toraidhean cruthachadh àrd-ùrlar toraidh a’ chompanaidh stèidhichte air K8n, a thòisich le stàladh sgòthan ann an GKE agus a thàinig gu crìch mar fhuasgladh tar-chinealach, a leig le amannan freagairt nas fheàrr agus sàbhalaidhean air cosgaisean bun-structair.

A’ co-dhùnadh am Prìomh API ath-thogail dailymotion O chionn trì bliadhna, bha sinn airson dòigh nas èifeachdaiche a leasachadh gus aoigheachd a thoirt do thagraidhean agus a dhèanamh nas fhasa pròiseasan ann an leasachadh agus cinneasachadh. Airson an adhbhair seo, chuir sinn romhainn àrd-ùrlar orchestration container a chleachdadh agus thagh sinn Kubernetes gu nàdarra.

Carson a b’ fhiach an àrd-ùrlar agad fhèin a thogail stèidhichte air Kubernetes?

API ìre toraidh ann an ùine sam bith a’ cleachdadh Google Cloud

As t-samhradh 2016

O chionn trì bliadhna, dìreach às deidh Dailymotion a cheannach le beòil, tha na sgiobaidhean innleadaireachd againn ag amas air aon amas cruinneil: toradh Dailymotion gu tur ùr a chruthachadh.

Stèidhichte air ar mion-sgrùdadh air soithichean, fuasglaidhean orcastra, agus ar n-eòlas san àm a dh’ fhalbh, tha sinn cinnteach gur e Kubernetes an roghainn cheart. Bha tuigse aig cuid de luchd-leasachaidh mu na bun-bheachdan mar-thà agus bha fios aca mar a chleachdas iad e, a bha na bhuannachd mhòr airson cruth-atharrachadh bun-structair.

Bho shealladh bun-structair, bha feum air siostam cumhachdach is sùbailte gus aoigheachd a thoirt do sheòrsan ùra de thagraidhean dùthchasach. Roghnaich sinn fuireach san sgòth aig toiseach ar turais gus am b’ urrainn dhuinn an àrd-ùrlar air-làraich as làidire a thogail le fois inntinn. Cho-dhùin sinn na tagraidhean againn a chleachdadh a’ cleachdadh Google Kubernetes Engine, ged a bha fios againn gum biodh sinn nas luaithe no nas fhaide air adhart a ’gluasad gu na h-ionadan dàta againn fhèin agus a’ cur an sàs ro-innleachd tar-chinealach.

Carson a thagh thu GKE?

Rinn sinn an roghainn seo gu sònraichte airson adhbharan teicnigeach. A bharrachd air an sin, bha e riatanach bun-structar a thoirt seachad gu sgiobalta a choinnicheas ri feumalachdan gnìomhachais na companaidh. Bha cuid de riatanasan againn airson aoigheachd a thoirt do thagraidhean, leithid cuairteachadh cruinn-eòlasach, scalability agus fulangas sgàinidhean.

Dàn-thuras Kubernetes Dailymotion: a’ cruthachadh bun-structair anns na sgòthan + san togalach
Cruinneachaidhean GKE ann an Dailymotion

Leis gur e àrd-ùrlar bhidio a th’ ann an Dailymotion a tha ri fhaighinn air feadh an t-saoghail, bha sinn dha-rìribh ag iarraidh càileachd na seirbheis adhartachadh le bhith a’ lughdachadh ùine feitheimh (latency). Roimhe sin an API againn ri fhaighinn ann am Paris a-mhàin, rud a bha suboptimal. Bha mi airson a bhith comasach air aoigheachd a thoirt do thagraidhean chan ann a-mhàin san Roinn Eòrpa, ach cuideachd ann an Àisia agus na SA.

Bha an cugallachd seo ri latency a’ ciallachadh gum feumadh obair mhòr a bhith air a dhèanamh air ailtireachd lìonra an àrd-ùrlair. Fhad ‘s a thug a’ mhòr-chuid de sheirbheisean sgòthan ort do lìonra fhèin a chruthachadh anns gach sgìre agus an uairsin an ceangal tro VPN no seòrsa de sheirbheis stiùirichte, leig Google Cloud leat lìonra singilte làn-ghluasadach a chruthachadh a ’còmhdach gach roinn Google. 'S e buannachd mhòr a tha seo a thaobh obrachadh agus èifeachdas an t-siostam.

A bharrachd air an sin, bidh seirbheisean lìonraidh agus luchd-cothromachaidh luchdan bho Google Cloud a’ dèanamh obair ionmholta. Tha iad dìreach a’ toirt cothrom dhut seòlaidhean IP poblach neo-riaghailteach a chleachdadh bho gach sgìre, agus tha protocol mìorbhaileach BGP a’ toirt aire don chòrr (ie ag ath-stiùireadh luchd-cleachdaidh chun bhuidheann as fhaisge). Gu dearbh, ma dh’ fhàilligeas, thèid trafaic gu fèin-ghluasadach gu sgìre eile gun eadar-theachd daonna sam bith.

Dàn-thuras Kubernetes Dailymotion: a’ cruthachadh bun-structair anns na sgòthan + san togalach
A’ cumail sùil air cothromachadh luchdan Google

Bidh an àrd-ùrlar againn cuideachd a’ dèanamh feum mòr de GPUs. Leigidh Google Cloud leat an cleachdadh gu fìor èifeachdach gu dìreach ann an cruinneachaidhean Kubernetes.

Aig an àm, bha an sgioba bun-structair gu sònraichte ag amas air a’ chruach dhìleab a chaidh a chleachdadh air frithealaichean corporra. Sin as coireach gun do choinnich cleachdadh seirbheis stiùirichte (a’ toirt a-steach maighstirean Kubernetes) ris na riatanasan againn agus a leig leinn sgiobaidhean a thrèanadh gus obrachadh le cruinneachaidhean ionadail.

Mar thoradh air an sin, bha e comasach dhuinn tòiseachadh air trafaic toraidh fhaighinn air bun-structar Google Cloud dìreach 6 mìosan às deidh toiseach na h-obrach.

Ach, a dh’ aindeoin grunn bhuannachdan, tha cosgaisean sònraichte co-cheangailte ri bhith ag obair le solaraiche sgòthan, a dh’ fhaodadh àrdachadh a rèir an luchd. Sin as coireach gun do rinn sinn mion-sgrùdadh faiceallach air gach seirbheis stiùirichte a chleachd sinn, agus sinn an dòchas an cur an gnìomh san togalach san àm ri teachd. Gu dearbh, thòisich buileachadh cruinneachaidhean ionadail aig deireadh 2016 agus chaidh an ro-innleachd tar-chinealach a thòiseachadh aig an aon àm.

Cur air bhog àrd-ùrlar orchestration container ionadail Dailymotion

Foghar 2016

Ann an suidheachaidhean nuair a bha an stac gu lèir deiseil airson a thoirt gu buil, agus obraich air an API leantuinn, bha an t-àm ann fòcas a chuir air cruinneachaidhean roinneil.

Aig an àm sin, bha luchd-cleachdaidh a 'coimhead còrr is 3 billean bhidio gach mìos. Gu dearbh, tha an Lìonra Lìbhrigeadh Susbaint farsaing againn fhèin air a bhith againn airson grunn bhliadhnaichean. Bha sinn airson brath a ghabhail air an t-suidheachadh seo agus cruinneachaidhean Kubernetes a chleachdadh anns na h-ionadan dàta a th’ ann mar-thà.

Bha bun-structar Dailymotion air a dhèanamh suas de chòrr air 2,5 mìle frithealaiche ann an sia ionadan dàta. Tha iad uile air an rèiteachadh le Saltstack. Thòisich sinn air na reasabaidhean riatanach uile ullachadh airson a bhith a 'cruthachadh nodan maighstir agus neach-obrach, a bharrachd air cruinneachadh msaa.

Dàn-thuras Kubernetes Dailymotion: a’ cruthachadh bun-structair anns na sgòthan + san togalach

Pàirt lìonra

Tha an lìonra againn air a stiùireadh gu tur. Bidh gach frithealaiche a’ sanasachadh an IP aige air an lìonra a’ cleachdadh Exabgp. Rinn sinn coimeas eadar grunn plugins lìonra agus b’ e an aon fhear a bha riaraichte leis na feumalachdan gu lèir (mar thoradh air an dòigh-obrach L3 a chaidh a chleachdadh). Calico. Bidh e a’ freagairt gu foirfe ris a’ mhodail bun-structair lìonra a th’ ann mar-thà.

Leis gu robh sinn airson na h-eileamaidean bun-structair gu lèir a chleachdadh, b ’e a’ chiad rud a bha againn ri dhèanamh a-mach ar goireas lìonra dachaigh (air a chleachdadh air a h-uile frithealaiche): cleachd e gus raointean seòlaidhean IP a shanasachadh air an lìonra le nodan Kubernetes. Leig sinn le Calico seòlaidhean IP a shònrachadh do pods, ach cha do chleachd agus cha do chleachd sinn fhathast e airson seiseanan BGP air uidheamachd lìonra. Gu dearbh, tha slighe air a làimhseachadh le Exabgp, a bhios a’ sanasachadh na subnets a bhios Calico a’ cleachdadh. Leigidh seo leinn pod sam bith a ruighinn bhon lìonra a-staigh (agus gu sònraichte bho luchd-cothromachaidh luchdan).

Mar a stiùireas sinn trafaic a-steach

Gus iarrtasan a thàinig a-steach ath-stiùireadh chun t-seirbheis a bhathas ag iarraidh, chaidh co-dhùnadh Rianadair Ingress a chleachdadh air sgàth a bhith ag amalachadh le goireasan ingress Kubernetes.

O chionn trì bliadhna, b ’e nginx-ingress-controller an rianadair as aibidh: bha Nginx air a bhith timcheall airson ùine mhòr agus bha e ainmeil airson a sheasmhachd agus a choileanadh.

Anns an t-siostam againn, chuir sinn romhainn na riaghladairean a chuir air frithealaichean lann sònraichte 10-Gigabit. Bha gach rianadair ceangailte ri ceann-uidhe kube-apiserver den bhuidheann fhreagarrach. Chleachd na frithealaichean sin Exabgp cuideachd gus seòlaidhean IP poblach no prìobhaideach a shanasachadh. Leigidh ar topology lìonra leinn BGP a chleachdadh bho na riaghladairean sin gus an trafaic gu lèir a stiùireadh gu dìreach gu na pods gun a bhith a’ cleachdadh seirbheis mar NodePort. Bidh an dòigh-obrach seo a’ cuideachadh le bhith a’ seachnadh trafaic chòmhnard eadar nodan agus a’ leasachadh èifeachdas.

Dàn-thuras Kubernetes Dailymotion: a’ cruthachadh bun-structair anns na sgòthan + san togalach
Gluasad trafaic bhon eadar-lìn gu pods

A-nis gu bheil sinn a’ tuigsinn an àrd-ùrlar tar-chinealach againn, is urrainn dhuinn sgrùdadh nas doimhne a dhèanamh air a’ phròiseas imrich trafaic fhèin.

Imrich trafaic bho Google Cloud gu bun-structar Dailymotion

Foghar 2018

Às deidh faisg air dà bhliadhna de thogail, deuchainn agus gleusadh, tha làn stac Kubernetes againn mu dheireadh deiseil airson gabhail ri beagan trafaic.

Dàn-thuras Kubernetes Dailymotion: a’ cruthachadh bun-structair anns na sgòthan + san togalach

Tha an ro-innleachd slighe gnàthach gu math sìmplidh, ach gu leòr gus coinneachadh ris na feumalachdan. A bharrachd air IPan poblach (air Google Cloud agus Dailymotion), tha AWS Route 53 air a chleachdadh gus poileasaidhean a shuidheachadh agus luchd-cleachdaidh ath-stiùireadh chun bhuidheann as fheàrr leinn.

Dàn-thuras Kubernetes Dailymotion: a’ cruthachadh bun-structair anns na sgòthan + san togalach
Eisimpleir de phoileasaidh slighe a’ cleachdadh Slighe 53

Le Google Cloud tha seo furasta leis gu bheil sinn a’ roinn aon IP thar gach buidheann agus tha an neach-cleachdaidh air ath-stiùireadh chun bhuidheann GKE as fhaisge. Airson na cruinneachaidhean againn tha an teicneòlas eadar-dhealaichte, leis gu bheil na IPan aca eadar-dhealaichte.

Rè an imrich, dh’ fheuch sinn ri iarrtasan roinneil ath-stiùireadh gu na cruinneachaidhean iomchaidh agus rinn sinn measadh air buannachdan an dòigh-obrach seo.

Leis gu bheil na cruinneachaidhean GKE againn air an rèiteachadh gu fèin-ghluasadach le bhith a’ cleachdadh Custom Metrics, bidh iad a’ dol suas/sìos stèidhichte air trafaic a’ tighinn a-steach.

Ann am modh àbhaisteach, tha a h-uile trafaic roinneil air a stiùireadh chun bhuidheann ionadail, agus tha GKE na thèarmann gun fhios nach bi duilgheadasan ann (thèid sgrùdaidhean slàinte a dhèanamh le Slighe 53).

...

Anns an àm ri teachd, tha sinn airson poileasaidhean slighe fèin-ghluasadach a dhèanamh gu tur gus ro-innleachd tar-chinealach fèin-riaghailteach a choileanadh a bhios an-còmhnaidh a’ leasachadh ruigsinneachd do luchd-cleachdaidh. Air an taobh adhartach, chaidh cosgaisean sgòthan a lughdachadh gu mòr agus chaidh amannan freagairt API a lughdachadh eadhon. Tha earbsa againn san àrd-ùrlar sgòthan a thig às agus tha sinn deiseil airson barrachd trafaic ath-stiùireadh thuige ma tha sin riatanach.

PS bhon eadar-theangair

Is dòcha gu bheil ùidh agad ann am post Dailymotion eile o chionn ghoirid mu Kubernetes. Tha e gu sònraichte airson a bhith a’ cleachdadh thagraidhean le Helm air iomadh cruinneachaidhean Kubernetes agus chaidh fhoillseachadh timcheall air mìos air ais.

Leugh cuideachd air ar blog:

Source: www.habr.com

Cuir beachd ann