Kubernetes ìrìn Dailymotion: ṣiṣẹda awọn amayederun ninu awọn awọsanma + awọn agbegbe ile

Kubernetes ìrìn Dailymotion: ṣiṣẹda awọn amayederun ninu awọn awọsanma + awọn agbegbe ile

Akiyesi. itumọ.Dailymotion jẹ ọkan ninu awọn iṣẹ alejo gbigba fidio ti o tobi julọ ni agbaye ati nitorinaa olumulo Kubernetes olokiki kan. Ninu ohun elo yii, ayaworan eto David Donchez pin awọn abajade ti ṣiṣẹda ipilẹ iṣelọpọ ile-iṣẹ ti o da lori K8s, eyiti o bẹrẹ pẹlu fifi sori awọsanma ni GKE ati pari bi ojutu arabara, eyiti o fun laaye fun awọn akoko idahun to dara julọ ati awọn ifowopamọ lori awọn idiyele amayederun.

Pinnu lati Tun API Core kọ Dailymotion odun meta seyin, a fe lati se agbekale kan siwaju sii daradara ọna lati gbalejo awọn ohun elo ati ki o ṣe awọn ti o rọrun awọn ilana iṣelọpọ ati idagbasoke. Fun idi eyi, a pinnu lati lo pẹpẹ orchestration eiyan ati nipa ti yan Kubernetes.

Kini idi ti o tọ lati kọ pẹpẹ ti ara rẹ ti o da lori Kubernetes?

API ipele iṣelọpọ ni igba diẹ ni lilo Google awọsanma

Ooru 2016

Ni ọdun mẹta sẹyin, lẹsẹkẹsẹ lẹhin Dailymotion ti ra nipasẹ Vivendi, Awọn ẹgbẹ imọ-ẹrọ wa ni idojukọ lori ibi-afẹde agbaye kan: lati ṣẹda ọja Dailymotion tuntun patapata.

Da lori itupalẹ wa ti awọn apoti, awọn solusan orchestration, ati iriri wa ti o kọja, a ni idaniloju pe Kubernetes jẹ yiyan ti o tọ. Diẹ ninu awọn olupilẹṣẹ ti ni oye ti awọn imọran ipilẹ ati mọ bi wọn ṣe le lo, eyiti o jẹ anfani nla fun iyipada amayederun.

Lati iwoye amayederun, eto ti o lagbara ati rọ ni a nilo lati gbalejo awọn iru tuntun ti awọn ohun elo abinibi-awọsanma. A yan lati duro ninu awọsanma ni ibẹrẹ irin-ajo wa ki a le kọ ipilẹ ti o lagbara julọ lori ipilẹ ile ti o ṣeeṣe pẹlu alaafia ti ọkan. A pinnu lati lo awọn ohun elo wa ni lilo Google Kubernetes Engine, botilẹjẹpe a mọ pe laipẹ tabi ya a yoo gbe lọ si awọn ile-iṣẹ data tiwa ati lo ilana arabara kan.

Kini idi ti o yan GKE?

A ṣe yiyan ni pataki fun awọn idi imọ-ẹrọ. Ni afikun, o jẹ dandan lati pese awọn amayederun ni kiakia ti o pade awọn iwulo iṣowo ti ile-iṣẹ naa. A ni diẹ ninu awọn ibeere fun awọn ohun elo alejo gbigba, gẹgẹbi pinpin agbegbe, iwọn ati ifarada ẹbi.

Kubernetes ìrìn Dailymotion: ṣiṣẹda awọn amayederun ninu awọn awọsanma + awọn agbegbe ile
Awọn iṣupọ GKE ni Dailymotion

Niwọn igba ti Dailymotion jẹ pẹpẹ fidio ti o wa ni kariaye, a fẹ gaan lati mu didara iṣẹ naa pọ si nipa idinku akoko idaduro (lairi)... Ni iṣaaju API wa je nikan wa ni Paris, eyi ti o wà suboptimal. Mo fẹ lati ni anfani lati gbalejo awọn ohun elo kii ṣe ni Yuroopu nikan, ṣugbọn tun ni Esia ati AMẸRIKA.

Ifamọ yii si lairi tumọ si pe iṣẹ to ṣe pataki yoo ni lati ṣee ṣe lori faaji nẹtiwọọki Syeed. Lakoko ti ọpọlọpọ awọn iṣẹ awọsanma fi agbara mu ọ lati ṣẹda nẹtiwọọki tirẹ ni agbegbe kọọkan ati lẹhinna so wọn pọ nipasẹ VPN tabi iru iṣẹ iṣakoso kan, Google Cloud gba ọ laaye lati ṣẹda nẹtiwọọki kan ti o ṣee ṣe ni kikun ti o bo gbogbo awọn agbegbe Google. Eyi jẹ afikun nla ni awọn ofin ti iṣẹ ati ṣiṣe ti eto naa.

Ni afikun, awọn iṣẹ nẹtiwọọki ati awọn iwọntunwọnsi fifuye lati Google Cloud ṣe iṣẹ ti o dara julọ. Wọn rọrun gba ọ laaye lati lo awọn adirẹsi IP ti gbogbo eniyan lainidii lati agbegbe kọọkan, ati pe ilana BGP iyanu n ṣe itọju ti o ku (ie, darí awọn olumulo si iṣupọ ti o sunmọ). O han ni, ni iṣẹlẹ ti ikuna, ijabọ yoo lọ laifọwọyi si agbegbe miiran laisi idasi eniyan eyikeyi.

Kubernetes ìrìn Dailymotion: ṣiṣẹda awọn amayederun ninu awọn awọsanma + awọn agbegbe ile
Mimojuto Google Load Iwontunwonsi

Syeed wa tun ṣe lilo wuwo ti awọn GPU. Awọsanma Google gba ọ laaye lati lo wọn ni imunadoko taara ni awọn iṣupọ Kubernetes.

Ni akoko yẹn, ẹgbẹ amayederun ti dojukọ akọkọ lori akopọ ohun-ini ti a fi ranṣẹ lori awọn olupin ti ara. Ti o ni idi lilo iṣẹ iṣakoso (pẹlu Kubernetes masters) pade awọn ibeere wa ati gba wa laaye lati kọ awọn ẹgbẹ lati ṣiṣẹ pẹlu awọn iṣupọ agbegbe.

Bi abajade, a ni anfani lati bẹrẹ gbigba ijabọ iṣelọpọ lori awọn amayederun Google Cloud ni awọn oṣu 6 lẹhin ibẹrẹ iṣẹ.

Sibẹsibẹ, pelu nọmba awọn anfani, ṣiṣẹ pẹlu olupese awọsanma ni nkan ṣe pẹlu awọn idiyele kan, eyiti o le pọ si da lori fifuye naa. Ti o ni idi ti a fi farabalẹ ṣe atupale iṣẹ iṣakoso kọọkan ti a lo, nireti lati ṣe imuse wọn lori awọn agbegbe ni ọjọ iwaju. Ni otitọ, imuse ti awọn iṣupọ agbegbe bẹrẹ ni opin 2016 ati pe ilana arabara ti bẹrẹ ni akoko kanna.

Ifilọlẹ ti agbegbe orchestration Syeed Dailymotion

Igba Irẹdanu Ewe 2016

Ni awọn ipo nigbati gbogbo akopọ ti ṣetan fun iṣelọpọ, ati ṣiṣẹ lori API tesiwaju, o to akoko lati dojukọ lori awọn iṣupọ agbegbe.

Ni akoko yẹn, awọn olumulo n wo diẹ sii ju awọn fidio 3 bilionu ni oṣu kan. Nitoribẹẹ, a ti ni Nẹtiwọọki Ifijiṣẹ Akoonu lọpọlọpọ tiwa fun ọpọlọpọ ọdun. A fẹ lati lo anfani ipo yii ati mu awọn iṣupọ Kubernetes ṣiṣẹ ni awọn ile-iṣẹ data ti o wa tẹlẹ.

Awọn amayederun Dailymotion ni diẹ sii ju awọn olupin 2,5 ẹgbẹrun ni awọn ile-iṣẹ data mẹfa. Gbogbo wọn ti wa ni tunto nipa lilo Saltstack. A bẹrẹ lati mura gbogbo awọn ilana pataki fun ṣiṣẹda titunto si ati osise apa, bi daradara bi ohun ati be be lo iṣupọ.

Kubernetes ìrìn Dailymotion: ṣiṣẹda awọn amayederun ninu awọn awọsanma + awọn agbegbe ile

Apakan nẹtiwọki

Nẹtiwọọki wa ni ipalọlọ patapata. Olupin kọọkan n polowo IP rẹ lori nẹtiwọọki nipa lilo Exabgp. A ṣe afiwe ọpọlọpọ awọn afikun nẹtiwọọki ati ọkan ti o ni itẹlọrun gbogbo awọn iwulo (nitori ọna L3 ti a lo) jẹ Calico. O ni ibamu daradara sinu awoṣe amayederun nẹtiwọki ti o wa.

Niwọn igba ti a fẹ lati lo gbogbo awọn eroja amayederun ti o wa, ohun akọkọ ti a ni lati ṣe ni ṣe iṣiro IwUlO nẹtiwọọki ile wa (ti a lo lori gbogbo awọn olupin): lo o lati polowo awọn sakani adiresi IP lori nẹtiwọọki pẹlu awọn apa Kubernetes. A gba Calico laaye lati fi awọn adirẹsi IP si awọn adarọ-ese, ṣugbọn ko ṣe ati pe ko tun lo fun awọn akoko BGP lori ẹrọ nẹtiwọọki. Ni otitọ, ipa-ọna ni a ṣakoso nipasẹ Exabgp, eyiti o ṣe ipolowo awọn subnets ti Calico lo. Eyi n gba wa laaye lati de ọdọ eyikeyi podu lati inu nẹtiwọọki inu (ati ni pataki lati awọn iwọntunwọnsi fifuye).

Bii a ṣe ṣakoso ijabọ ingress

Lati ṣe atunṣe awọn ibeere ti nwọle si iṣẹ ti o fẹ, o pinnu lati lo Alakoso Ingress nitori iṣọpọ rẹ pẹlu awọn orisun ingress Kubernetes.

Ni ọdun mẹta sẹyin, nginx-ingress-controller jẹ oludari ti o dagba julọ: Nginx ti wa ni ayika fun igba pipẹ ati pe a mọ fun iduroṣinṣin ati iṣẹ rẹ.

Ninu eto wa, a pinnu lati gbe awọn oludari si awọn olupin abẹfẹlẹ 10-Gigabit ti a sọtọ. Oluṣakoso kọọkan ni asopọ si aaye ipari kube-apiserver ti iṣupọ ti o baamu. Awọn olupin wọnyi tun lo Exabgp lati polowo awọn adirẹsi IP ti gbogbo eniyan tabi ikọkọ. Topology nẹtiwọọki wa gba wa laaye lati lo BGP lati ọdọ awọn oludari wọnyi lati darí gbogbo awọn ijabọ taara si awọn adarọ-ese laisi lilo iṣẹ bii NodePort. Ọna yii ṣe iranlọwọ lati yago fun ijabọ petele laarin awọn apa ati ilọsiwaju ṣiṣe.

Kubernetes ìrìn Dailymotion: ṣiṣẹda awọn amayederun ninu awọn awọsanma + awọn agbegbe ile
Gbigbe ijabọ lati Intanẹẹti si awọn adarọ-ese

Ni bayi ti a loye pẹpẹ arabara wa, a le jinlẹ jinlẹ sinu ilana ijira ijabọ funrararẹ.

Iṣilọ ti ijabọ lati Google Cloud si Dailymotion amayederun

Igba Irẹdanu Ewe 2018

Lẹhin ọdun meji ti ile, idanwo, ati atunṣe, a ni nipari akopọ Kubernetes ni kikun ti o ṣetan lati gba diẹ ninu awọn ijabọ.

Kubernetes ìrìn Dailymotion: ṣiṣẹda awọn amayederun ninu awọn awọsanma + awọn agbegbe ile

Ilana ipa ọna lọwọlọwọ jẹ ohun rọrun, ṣugbọn o baamu awọn iwulo. Ni afikun si awọn IP ti gbogbo eniyan (lori Google Cloud ati Dailymotion), AWS Route 53 ni a lo lati ṣeto awọn eto imulo ati darí awọn olumulo si iṣupọ ti o fẹ.

Kubernetes ìrìn Dailymotion: ṣiṣẹda awọn amayederun ninu awọn awọsanma + awọn agbegbe ile
Ilana ipa-ọna apẹẹrẹ ni lilo Ipa-ọna 53

Pẹlu Awọsanma Google eyi rọrun bi a ṣe pin IP kan kọja gbogbo awọn iṣupọ ati pe olumulo ni a darí si iṣupọ GKE ti o sunmọ julọ. Fun awọn iṣupọ wa imọ-ẹrọ yatọ, nitori awọn IP wọn yatọ.

Lakoko iṣiwa, a wa lati ṣe atunṣe awọn ibeere agbegbe si awọn iṣupọ ti o yẹ ati ṣe ayẹwo awọn anfani ti ọna yii.

Nitoripe awọn iṣupọ GKE wa ni tunto si autoscale nipa lilo Awọn Metiriki Aṣa, wọn ṣe iwọn soke / isalẹ ti o da lori ijabọ ti nwọle.

Ni ipo deede, gbogbo awọn ijabọ agbegbe ni itọsọna si iṣupọ agbegbe, ati pe GKE ṣiṣẹ bi ifipamọ ni ọran awọn iṣoro (awọn sọwedowo ilera ni a ṣe nipasẹ Ọna 53).

...

Ni ọjọ iwaju, a fẹ lati ṣe adaṣe awọn ilana ipa-ọna ni kikun lati ṣaṣeyọri ilana arabara adase ti o mu iraye si nigbagbogbo fun awọn olumulo. Ni ẹgbẹ afikun, awọn idiyele awọsanma ti dinku ni pataki ati pe awọn akoko idahun API paapaa ti dinku. A gbẹkẹle iru ẹrọ awọsanma ti o yọrisi ati pe o ti ṣetan lati ṣe atunṣe ijabọ diẹ sii si rẹ ti o ba jẹ dandan.

PS lati onitumọ

O tun le nifẹ si ifiweranṣẹ Dailymotion aipẹ miiran nipa Kubernetes. O ti wa ni igbẹhin si imuṣiṣẹ awọn ohun elo pẹlu Helm lori ọpọlọpọ awọn iṣupọ Kubernetes ati ti a tẹjade nipa osu kan seyin.

Ka tun lori bulọọgi wa:

orisun: www.habr.com

Fi ọrọìwòye kun