Kubernetes ulendo Dailymotion: kupanga zomangamanga mumitambo + pamalo

Kubernetes ulendo Dailymotion: kupanga zomangamanga mumitambo + pamalo

Zindikirani. transl.: Dailymotion ndi amodzi mwazinthu zazikulu kwambiri padziko lonse lapansi zochitira makanema chifukwa chake ndi wodziwika bwino wa Kubernetes. M'nkhaniyi, womanga dongosolo David Donchez akugawana zotsatira za kupanga kampani yopanga nsanja yochokera ku K8s, yomwe inayamba ndi kuyika kwa mtambo ku GKE ndipo inatha ngati njira yosakanizidwa, yomwe inalola nthawi yabwino yoyankhira ndikusunga ndalama zowonongeka.

Kusankha Kumanganso Core API Dailymotion zaka zitatu zapitazo, tinkafuna kupanga njira yabwino yopezera mapulogalamu ndikupangitsa kuti zikhale zosavuta njira zachitukuko ndi kupanga. Pachifukwa ichi, tidaganiza zogwiritsa ntchito nsanja yoyimba chidebe ndikusankha Kubernetes.

Chifukwa chiyani kuli koyenera kumanga nsanja yanu kutengera Kubernetes?

Production-level API mosakhalitsa pogwiritsa ntchito Google Cloud

Chilimwe 2016

Zaka zitatu zapitazo, atangogula Dailymotion adagulidwa ndi Vivendi, magulu athu a uinjiniya amayang'ana kwambiri cholinga chimodzi chapadziko lonse lapansi: kupanga chida chatsopano cha Dailymotion.

Kutengera kusanthula kwathu zotengera, mayankho oimba, komanso zomwe takumana nazo m'mbuyomu, tili otsimikiza kuti Kubernetes ndiye chisankho choyenera. Madivelopa ena anali kale ndi chidziwitso cha mfundo zoyambira ndipo amadziwa momwe angagwiritsire ntchito, zomwe zinali mwayi waukulu pakusintha kwachitukuko.

Kuchokera pamawonekedwe a zomangamanga, dongosolo lamphamvu ndi losinthika linkafunika kuti lilandire mitundu yatsopano ya mapulogalamu amtundu wamtambo. Tinasankha kukhala mumtambo kumayambiriro kwa ulendo wathu kuti tithe kumanga nsanja yolimba kwambiri yotheka ndi mtendere wamumtima. Tinaganiza zotumiza mapulogalamu athu pogwiritsa ntchito Google Kubernetes Engine, ngakhale tinkadziwa kuti posachedwa tidzasamukira kumalo athu a deta ndikugwiritsa ntchito njira yosakanizidwa.

Chifukwa chiyani mwasankha GKE?

Tinapanga chisankho ichi makamaka pazifukwa zaukadaulo. Kuonjezera apo, kunali kofunikira kupereka mwamsanga zowonongeka zomwe zimakwaniritsa zosowa za bizinesi ya kampani. Tinali ndi zofunikira zina zogwirira ntchito, monga kugawa malo, scalability ndi kulekerera zolakwika.

Kubernetes ulendo Dailymotion: kupanga zomangamanga mumitambo + pamalo
Magulu a GKE ku Dailymotion

Popeza Dailymotion ndi nsanja yamavidiyo yomwe ikupezeka padziko lonse lapansi, tinkafunadi kupititsa patsogolo ntchitoyo pochepetsa nthawi yodikirira (kuchedwa)... Poyamba API yathu imapezeka ku Paris kokha, zomwe zinali zabwino kwambiri. Ndinkafuna kuti ndizitha kulandira mapulogalamu osati ku Ulaya kokha, komanso ku Asia ndi USA.

Kukhudzika kwa latency uku kumatanthauza kuti ntchito yayikulu iyenera kuchitidwa pamapangidwe a network. Ngakhale mautumiki ambiri amtambo amakukakamizani kuti mupange netiweki yanu m'chigawo chilichonse ndikulumikiza kudzera pa VPN kapena mtundu wina wa ntchito zoyendetsedwa, Google Cloud idakulolani kuti mupange netiweki imodzi yosinthika yomwe ikukhudza zigawo zonse za Google. Izi ndi kuphatikiza kwakukulu pankhani ya magwiridwe antchito komanso magwiridwe antchito adongosolo.

Kuphatikiza apo, mautumiki apaintaneti ndi zolemetsa zonyamula kuchokera ku Google Cloud zimagwira ntchito yabwino kwambiri. Amangokulolani kuti mugwiritse ntchito ma adilesi a IP osagwirizana kuchokera kudera lililonse, ndipo protocol yodabwitsa ya BGP imasamalira zina zonse (mwachitsanzo, kutumiza ogwiritsa ntchito kugulu lapafupi). Mwachiwonekere, zikakanika, magalimoto amangopita kudera lina popanda kulowererapo kwa munthu.

Kubernetes ulendo Dailymotion: kupanga zomangamanga mumitambo + pamalo
Kuyang'anira Google Load Balancing

Pulatifomu yathu imagwiritsanso ntchito kwambiri ma GPU. Google Cloud imakulolani kuti muzigwiritsa ntchito moyenera mwachindunji m'magulu a Kubernetes.

Panthawiyo, gulu lachitukuko linali loyang'ana kwambiri pa cholowa chogwiritsidwa ntchito pa ma seva akuthupi. Ichi ndichifukwa chake kugwiritsa ntchito ntchito yoyendetsedwa (kuphatikiza Kubernetes masters) kunakwaniritsa zofunikira zathu ndikutilola kuti tiphunzitse magulu kuti azigwira ntchito ndi magulu am'deralo.

Chotsatira chake, tinatha kuyamba kulandira magalimoto opanga pazipangizo za Google Cloud patangotha ​​​​miyezi 6 ntchito itangoyamba.

Komabe, ngakhale pali ubwino wambiri, kugwira ntchito ndi wothandizira mtambo kumagwirizanitsidwa ndi ndalama zina, zomwe zingathe kuwonjezeka malinga ndi katundu. Ichi ndichifukwa chake tidasanthula mosamala ntchito iliyonse yomwe tidagwiritsa ntchito, ndikuyembekeza kuti tidzayigwiritsa ntchito m'malo mtsogolo. Ndipotu, kukhazikitsidwa kwa magulu am'deralo kunayamba kumapeto kwa 2016 ndipo njira yosakanizidwa inayambika nthawi yomweyo.

Kukhazikitsa kwa m'deralo chidebe orchestration nsanja Dailymotion

Autumn 2016

M'mikhalidwe yomwe stack yonse inali yokonzeka kupanga, ndikugwira ntchito pa API anapitiriza, inali nthawi yoti tiganizire za magulu a zigawo.

Panthawiyo, ogwiritsa ntchito anali kuwonera makanema opitilira 3 biliyoni mwezi uliwonse. Zachidziwikire, takhala ndi Network Delivery Network yathu yayikulu kwa zaka zambiri. Tinkafuna kutenga mwayi pazimenezi ndikuyika magulu a Kubernetes m'malo omwe alipo.

Zomangamanga za Dailymotion zinali ndi ma seva opitilira 2,5 m'malo asanu ndi limodzi a data. Zonsezi zimakonzedwa pogwiritsa ntchito Saltstack. Tinayamba kukonzekera maphikidwe onse ofunikira popanga ma master and work node, komanso cluster etcd.

Kubernetes ulendo Dailymotion: kupanga zomangamanga mumitambo + pamalo

Gawo la Network

Netiweki yathu yasokonekera kwathunthu. Seva iliyonse imalengeza IP yake pa intaneti pogwiritsa ntchito Exabgp. Tidafanizira mapulagini angapo amtaneti ndipo imodzi yokha yomwe idakwaniritsa zosowa zonse (chifukwa cha njira ya L3 yomwe idagwiritsidwa ntchito) inali Kalico. Zimagwirizana bwino ndi mawonekedwe omwe alipo pa intaneti.

Popeza tinkafuna kugwiritsa ntchito zida zonse zomwe zilipo, chinthu choyamba chomwe tidayenera kuchita ndikuzindikira zida zathu zapaintaneti (zogwiritsidwa ntchito pa maseva onse): gwiritsani ntchito kutsatsa ma adilesi a IP pamaneti okhala ndi ma Kubernetes node. Tinalola Calico kuti apereke ma adilesi a IP ku ma pod, koma sitinagwiritse ntchito komanso osagwiritsabe ntchito magawo a BGP pazida zamtaneti. M'malo mwake, mayendedwe amayendetsedwa ndi Exabgp, yomwe imatsatsa ma subnets omwe amagwiritsidwa ntchito ndi Calico. Izi zimatithandizira kuti tifikire pamtundu uliwonse kuchokera pa netiweki yamkati (makamaka kuchokera ku zolemetsa).

Momwe timayendetsera magalimoto olowera

Kuti atumizenso zopempha zomwe zikubwera ku ntchito yomwe mukufuna, adaganiza zogwiritsa ntchito Ingress Controller chifukwa chophatikizana ndi Kubernetes ingress resources.

Zaka zitatu zapitazo, nginx-ingress-controller anali wolamulira wokhwima kwambiri: Nginx adakhalapo kwa nthawi yayitali ndipo ankadziwika chifukwa cha kukhazikika kwake ndi ntchito zake.

Mu dongosolo lathu, tinaganiza zoyika olamulira pa ma seva odzipatulira a 10-Gigabit blade. Wowongolera aliyense adalumikizidwa kukumapeto kwa kube-apiserver kwa gulu lofananira. Ma seva awa adagwiritsanso ntchito Exabgp kutsatsa ma adilesi a IP apagulu kapena achinsinsi. Topology yathu yapaintaneti imatilola kugwiritsa ntchito BGP kuchokera kwa oyang'anira awa kuti tiyendetse magalimoto onse molunjika ku ma pods osagwiritsa ntchito ntchito ngati NodePort. Njirayi imathandizira kupewa kuchulukana kopingasa pakati pa ma node ndikuwongolera magwiridwe antchito.

Kubernetes ulendo Dailymotion: kupanga zomangamanga mumitambo + pamalo
Kusuntha kwa magalimoto kuchokera pa intaneti kupita ku ma pod

Tsopano popeza tamvetsetsa nsanja yathu ya haibridi, titha kuyang'ana mozama momwe anthu amasamuka.

Kusamuka kwa magalimoto kuchokera ku Google Cloud kupita ku Dailymotion Infrastructure

Autumn 2018

Patatha pafupifupi zaka ziwiri tikumanga, kuyesa, ndi kukonza, tidakhala ndi gulu lathunthu la Kubernetes lokonzeka kuvomereza kuchuluka kwa magalimoto.

Kubernetes ulendo Dailymotion: kupanga zomangamanga mumitambo + pamalo

Njira yamakonoyi ndiyosavuta, koma yokwanira kukwaniritsa zosowa. Kuphatikiza pa ma IP a anthu onse (pa Google Cloud ndi Dailymotion), AWS Route 53 imagwiritsidwa ntchito kukhazikitsa mfundo ndikuwongolera ogwiritsa ntchito kumagulu omwe tikufuna.

Kubernetes ulendo Dailymotion: kupanga zomangamanga mumitambo + pamalo
Chitsanzo cha ndondomeko yoyendetsera njira pogwiritsa ntchito Njira 53

Ndi Google Cloud izi ndizosavuta popeza timagawana IP imodzi m'magulu onse ndipo wogwiritsa ntchito amatumizidwa kugulu lapafupi la GKE. Kwa magulu athu ukadaulo ndi wosiyana, popeza ma IP awo ndi osiyana.

Pa nthawi yakusamuka, tinayesetsa kutsogolera zopempha zachigawo kumagulu oyenerera ndikuwunika ubwino wa njirayi.

Chifukwa masango athu a GKE amakonzedwa kuti azingogwiritsa ntchito Custom Metrics, amakwera / kutsika kutengera kuchuluka kwa magalimoto omwe akubwera.

Mumayendedwe abwinobwino, magalimoto onse am'deralo amapita kumagulu am'deralo, ndipo GKE imakhala ngati malo osungirako mavuto (zofufuza zaumoyo zimachitika ndi Route 53).

...

M'tsogolomu, tikufuna kusinthiratu malamulo oyendetsera njira kuti tikwaniritse njira yosakanizidwa yomwe imathandizira mosalekeza kupezeka kwa ogwiritsa ntchito. Kumbali yabwino, mitengo yamtambo yachepetsedwa kwambiri ndipo nthawi zoyankha za API zachepetsedwa. Timakhulupilira pulatifomu yamtambo yomwe ikubwera ndipo ndife okonzeka kuwongolera anthu ambiri ngati kuli kofunikira.

PS kuchokera kwa womasulira

Mutha kukhalanso ndi chidwi ndi uthenga wina waposachedwa wa Dailymotion wokhudza Kubernetes. Imaperekedwa pakuyika ntchito ndi Helm pamagulu ambiri a Kubernetes ndi inasindikizidwa pafupifupi mwezi wapitawo.

Werenganinso pa blog yathu:

Source: www.habr.com

Kuwonjezera ndemanga