Kubernetes adventure Dailymotion: kugadzira zvivakwa mumakore + pane-nzvimbo

Kubernetes adventure Dailymotion: kugadzira zvivakwa mumakore + pane-nzvimbo

Cherechedza. transl.: Dailymotion nderimwe repasi rose mavhidhiyo ekubata masevhisi uye saka ane mukurumbira Kubernetes mushandisi. Muchinyorwa ichi, mugadziri wehurongwa David Donchez anogovera mhedzisiro yekugadzira chikuva chekambani yekugadzira yakavakirwa paK8s, iyo yakatanga nekuiswa kwegore muGKE uye yakapera seyakasanganiswa mhinduro, iyo yakabvumira nguva yekupindura iri nani uye kuchengetedza pamitengo yezvivakwa.

Kufunga Kuvakazve iyo Core API DailyMotion makore matatu apfuura, taida kugadzira nzira inoshanda yekugamuchira maapplication uye kuita kuti zvive nyore maitiro mukusimudzira nekugadzira. Nechinangwa ichi, isu takasarudza kushandisa chikuva orchestration chikuva uye takasarudza Kubernetes.

Sei zvakakodzera kuvaka yako papuratifomu yakavakirwa Kubernetes?

Production-level API pasina nguva uchishandisa Google Cloud

Zhizha 2016

Makore matatu apfuura, pakarepo mushure mekunge Dailymotion yakatengwa na Vivendi, zvikwata zvedu zveinjiniya zvakatarisana nechinangwa chimwe chepasirese: kugadzira chigadzirwa chitsva che Dailymotion.

Zvichienderana nekuongorora kwedu midziyo, orchestration mhinduro, uye chiitiko chedu chekare, tine chokwadi chekuti Kubernetes ndiyo sarudzo chaiyo. Vamwe vanogadzira vanga vatove nekunzwisisa kweiyo yakakosha pfungwa uye vaiziva mashandisirwo ayo, yaive mukana wakakura weshanduko yezvivakwa.

Kubva pakuona kwezvivakwa, yakasimba uye inochinjika sisitimu yaidiwa kugamuchira mhando nyowani dzegore-yekuzvarwa application. Isu takasarudza kugara mugore pakutanga kwerwendo rwedu kuti tikwanise kuvaka iyo yakasimba pane-nzvimbo chikuva chinogoneka nerunyararo rwepfungwa. Isu takafunga kuendesa zvikumbiro zvedu tichishandisa Google Kubernetes Injini, kunyangwe taiziva kuti munguva pfupi taizotamira kunzvimbo dzedu dzedata toshandisa nzira yakasanganiswa.

Sei wakasarudza GKE?

Isu takaita sarudzo iyi kunyanya nekuda kwezvikonzero zvehunyanzvi. Mukuwedzera, zvaive zvakakodzera kukurumidza kupa zvivakwa zvinosangana nebhizinesi rekambani. Takanga tine zvimwe zvinodikanwa zvekutambira zvikumbiro, senge geographical distribution, scalability uye kukanganisa kushivirira.

Kubernetes adventure Dailymotion: kugadzira zvivakwa mumakore + pane-nzvimbo
GKE masumbu mu Dailymotion

Sezvo Dailymotion iri vhidhiyo chikuva chinowanikwa pasi rese, isu taida chaizvo kuvandudza mhando yebasa nekudzikisa nguva yekumirira (kunonoka)... Kare yedu API yaingowanikwa muParis chete, yaive suboptimal. Ndaida kukwanisa kugamuchira zvikumbiro kwete muEurope chete, asiwo muAsia neU.SA.

Uku kunzwisiswa kune latency kwaireva kuti basa rakakura raizofanirwa kuitwa papuratifomu network yekuvaka. Nepo mazhinji masevhisi emakore achikumanikidza kuti ugadzire network yako mudunhu rega rega wobva waabatanidza kuburikidza neVPN kana imwe mhando yebasa rakachengetedzwa, Google Cloud yakakubvumidza kuti ugadzire inetiweki imwe chete inotenderera inofukidza matunhu ese eGoogle. Uku ndiko kuwedzera kukuru maererano nekushanda uye kugona kwehurongwa.

Uye zvakare, masevhisi etiweki uye mabharari ekutakura kubva kuGoogle Cloud anoita basa rakanaka. Ivo vanongokubvumidza kuti ushandise epombi eruzhinji IP kero kubva kudunhu rega rega, uye inoshamisa BGP protocol inotarisira zvakasara (kureva kuendesa zvakare vashandisi kune iri pedyo sumbu). Zviripachena, kana paine kutadza, traffic inongoerekana yaenda kune imwe dunhu pasina kupindira kwevanhu.

Kubernetes adventure Dailymotion: kugadzira zvivakwa mumakore + pane-nzvimbo
Kutarisisa Google Load Bancing

Chikuva chedu chinoshandisawo zvinorema maGPU. Google Cloud inokutendera kuti uzvishandise zvakanyanya zvakananga mumasumbu eKubernetes.

Panguva iyoyo, timu yezvivakwa yainyanya kutarisisa pane yenhaka stack yakaiswa pamaseva emuviri. Ndosaka kushandisa sevhisi inofambiswa (kusanganisira Kubernetes masters) yakazadzisa zvatinoda uye yakatibvumidza kudzidzisa zvikwata kushanda nemasumbu emuno.

Nekuda kweizvozvo, takakwanisa kutanga kugamuchira traffic yekugadzira paGoogle Cloud zvivakwa mwedzi mitanhatu chete mushure mekutanga kwebasa.

Zvisinei, pasinei nehuwandu hwezvakanakira, kushanda nemupi wegore kunosanganiswa nemamwe mari, ayo anogona kuwedzera zvichienderana nemutoro. Ndosaka takanyatsoongorora sevhisi yega yega yatakashandisa, tichitarisira kuishandisa pane-zvivakwa mune ramangwana. Kutaura zvazviri, kushandiswa kwemasumbu emunharaunda kwakatanga pakupera kwa2016 uye nzira yakasanganiswa yakatangwa panguva imwe chete.

Kuvhurwa kwenzvimbo yemidziyo orchestration chikuva Dailymotion

Autumn 2016

Mumamiriro ezvinhu apo iyo yese stack yakanga yakagadzirira kugadzirwa, uye shanda paAPI akaenderera mberi, yakanga yava nguva yokuisa pfungwa pazvisumbu zvomumatunhu.

Panguva iyoyo, vashandisi vaiona mavhidhiyo anopfuura mabhiriyoni matatu mwedzi wega wega. Ehe, isu takave ne yedu yakawedzera Content Delivery Network kwemakore akawanda. Isu taida kutora mukana weichi mamiriro uye nekuendesa Kubernetes masumbu munzvimbo dziripo dzedata.

Zvivako zve Dailymotion zvaisanganisira anopfuura zviuru zviviri nemazana mashanu evhavha munzvimbo nhanhatu dzedata. Ese akagadziridzwa achishandisa Saltstack. Takatanga kugadzirira ese anodiwa mabikirwo ekugadzira tenzi nevashandi node, pamwe neye etcd cluster.

Kubernetes adventure Dailymotion: kugadzira zvivakwa mumakore + pane-nzvimbo

Network chikamu

Network yedu inofambiswa zvachose. Sevha yega yega inoshambadza IP yayo pane network ichishandisa Exabgp. Isu takaenzanisa akati wandei network plugins uye iyo chete yakagutsa zvese zvinodiwa (nekuda kweiyo L3 nzira yakashandiswa) yaive Calico. Inokwana zvakakwana mune iripo network network infrastructure model.

Sezvo taida kushandisa zvese zviripo zvezvivakwa, chinhu chekutanga chataifanira kuita ndechekuona yedu-yakakura network network utility (inoshandiswa pamaseva ese): shandisa iyo kushambadza IP kero siyana pane network ine Kubernetes node. Isu takabvumira Calico kugovera IP kero kumapods, asi hatina uye hatisati taishandisa kumisangano yeBGP pane network network. Muchokwadi, nzira inobatwa neExabgp, iyo inoshambadzira ma subnets anoshandiswa naCalico. Izvi zvinotibvumira kusvika kune chero pod kubva kunetiweki yemukati (uye kunyanya kubva pakutakura zviremera).

Mabatiro atinoita ingress traffic

Kutungamira zvikumbiro zvinouya kune sevhisi yaidiwa, zvakasarudzwa kushandisa Ingress Controller nekuda kwekubatanidzwa kwayo neKubernetes ingress zviwanikwa.

Makore matatu apfuura, nginx-ingress-controller ndiye akanyanya kukura mutongi: Nginx yanga iripo kwenguva yakareba uye yaizivikanwa nekugadzikana kwayo uye kuita kwayo.

Muchirongwa chedu, takasarudza kuisa vatongi pamaseva akazvitsaurira gumi-Gigabit blade. Imwe neimwe controller yaive yakabatana kune kube-apiserver magumo eiyo cluster inoenderana. Aya maseva akashandisawo Exabgp kushambadza veruzhinji kana yakavanzika IP kero. Yedu network topology inotitendera kushandisa BGP kubva kune aya ma controller kufambisa traffic yese yakananga kumapods pasina kushandisa sevhisi seNodePort. Iyi nzira inobatsira kudzivirira yakachinjika traffic pakati pemanodhi uye inovandudza kugona.

Kubernetes adventure Dailymotion: kugadzira zvivakwa mumakore + pane-nzvimbo
Kufamba kwetraffic kubva paInternet kuenda kumapods

Iye zvino zvatanzwisisa chikuva chedu chehybrid, tinogona kuzama kudzika mukati meiyo traffic migration process pachayo.

Kutama kwetraffic kubva kuGoogle Cloud kuenda kuDailytical infrastructure

Autumn 2018

Mushure meanoda kusvika makore maviri ekuvaka, kuyedza, uye kugadzirisa, isu pakupedzisira tine yakazara Kubernetes stack yakagadzirira kugamuchira imwe traffic.

Kubernetes adventure Dailymotion: kugadzira zvivakwa mumakore + pane-nzvimbo

Ikozvino nzira yekufambisa iri nyore, asi yakakwana kuzadzisa zvinodiwa. Pamusoro peruzhinji IPs (paGoogle Cloud uye Dailymotion), AWS Route 53 inoshandiswa kuseta marongero uye kuendesa zvakare vashandisi kuboka resarudzo yedu.

Kubernetes adventure Dailymotion: kugadzira zvivakwa mumakore + pane-nzvimbo
Muenzaniso wegwara rekushandisa uchishandisa Route 53

NeGoogle Cloud izvi zviri nyore sezvo isu tichigovana IP imwe chete mumasumbu ese uye mushandisi anotungamirwa kune iri pedyo GKE cluster. Kune masumbu edu tekinoroji yakasiyana, sezvo maIPs avo akasiyana.

Munguva yekutama, takatsvaga kuendesa zvikumbiro zvedunhu kumasumbu akakodzera uye takaongorora zvakanakira nzira iyi.

Nekuti masumbu edu eGKE akagadzirirwa autoscale achishandisa Tsika Metrics, anokwira kumusoro / kudzika zvichienderana neiri kuuya traffic.

Nenzira yakajairika, traffic yese yedunhu inotungamirwa kuboka renzvimbo, uye GKE inoshanda senzvimbo yekuchengetera kana paine matambudziko (hutano hwekuongorora hunoitwa neRoute 53).

...

Mune ramangwana, tinoda kugadziridza zvizere marongero ekufambisa kuti tiwane yakazvimirira nzira yakasanganiswa iyo inoramba ichinatsiridza kuwanikwa kwevashandisi. Kudivi rekuwedzera, mutengo wegore wakadzikiswa zvakanyanya uye nguva dzekupindura API dzakatoderedzwa. Isu tinovimba neyakaguma gore chikuva uye takagadzirira kuendesa mamwe traffic kwairi kana zvichidikanwa.

PS kubva kumushanduri

Iwe unogona zvakare kufarira imwe ichangoburwa Dailymotion post nezve Kubernetes. Iyo yakatsaurirwa kuendesa zvikumbiro neHelm pane akawanda Kubernetes masumbu uye rakabudiswa anenge mwedzi wapfuura.

Verenga zvakare pablog yedu:

Source: www.habr.com

Voeg