Kubernetes taug txuj kev nyuaj Dailymotion: tsim cov txheej txheem hauv huab + ntawm thaj chaw

Kubernetes taug txuj kev nyuaj Dailymotion: tsim cov txheej txheem hauv huab + ntawm thaj chaw

Nco tseg. txhais.: Dailymotion yog ib lub ntiaj teb cov kev pabcuam video hosting loj tshaj plaws thiab yog li tus neeg siv Kubernetes tseem ceeb. Nyob rau hauv cov ntaub ntawv no, tus kws kes duab vajtse David Donchez qhia cov txiaj ntsig ntawm kev tsim lub tuam txhab tsim cov platform raws li K8s, uas tau pib nrog kev teeb tsa huab hauv GKE thiab xaus raws li kev sib xyaw ua ke, uas tso cai rau lub sijhawm teb zoo dua thiab txuag ntawm cov nqi vaj tsev.

Kev txiav txim siab rov tsim kho Core API Dailymotion peb xyoos dhau los, peb xav tsim txoj hauv kev zoo dua los tuav cov ntawv thov thiab ua kom yooj yim dua cov txheej txheem hauv kev tsim kho thiab tsim khoom. Rau lub hom phiaj no, peb txiav txim siab siv lub thawv orchestration platform thiab ib txwm xaiv Kubernetes.

Vim li cas thiaj tsim nyog tsim koj tus kheej lub platform raws li Kubernetes?

Ntau lawm-theem API tsis muaj sijhawm siv Google Cloud

Lub caij ntuj sov 2016

Peb xyoos dhau los, tam sim ntawd tom qab Dailymotion tau yuav los ntawm Vivendi, peb pab pawg engineering tau tsom mus rau ib lub hom phiaj thoob ntiaj teb: los tsim cov khoom lag luam Dailymotion tshiab.

Raws li peb cov kev soj ntsuam ntawm cov thawv ntim khoom, cov kev daws teeb meem orchestration, thiab peb cov kev paub dhau los, peb ntseeg tau tias Kubernetes yog qhov kev xaiv zoo. Qee cov neeg tsim khoom twb muaj kev nkag siab txog cov ntsiab lus yooj yim thiab paub siv nws, uas yog qhov txiaj ntsig zoo rau kev hloov kho vaj tse.

Los ntawm kev xav txog kev tsim kho vaj tse, lub zog muaj zog thiab hloov pauv tau xav tau los tuav hom tshiab ntawm huab-native daim ntawv thov. Peb tau xaiv nyob hauv huab thaum pib ntawm peb txoj kev taug kev yog li peb tuaj yeem tsim lub platform uas muaj zog tshaj plaws nyob rau hauv qhov chaw ua tau nrog kev thaj yeeb ntawm lub siab. Peb tau txiav txim siab los xa peb cov ntawv thov siv Google Kubernetes Cav, txawm hais tias peb paub tias sai lossis tom qab peb yuav tsiv mus rau peb tus kheej cov ntaub ntawv chaw thiab siv lub tswv yim sib xyaw.

Vim li cas koj thiaj xaiv GKE?

Peb ua qhov kev xaiv no feem ntau yog vim li cas. Tsis tas li ntawd, nws yog ib qho tsim nyog yuav tsum ceev nrooj muab cov infrastructure uas ua tau raws li lub tuam txhab kev lag luam xav tau. Peb muaj qee qhov yuav tsum tau ua rau cov ntawv thov hosting, xws li thaj chaw faib khoom, scalability thiab ua txhaum cai.

Kubernetes taug txuj kev nyuaj Dailymotion: tsim cov txheej txheem hauv huab + ntawm thaj chaw
GKE pawg hauv Dailymotion

Txij li Dailymotion yog lub platform video muaj thoob ntiaj teb, peb xav tau los txhim kho qhov kev pabcuam zoo los ntawm kev txo lub sijhawm tos (latency)... Yav tas los peb API tsuas yog muaj nyob hauv Paris, uas yog qhov zoo tshaj plaws. Kuv xav kom muaj peev xwm tuav cov ntawv thov tsis yog nyob hauv Europe xwb, tab sis kuj hauv Asia thiab Asmeskas.

Qhov no rhiab heev rau latency txhais tau hais tias ua hauj lwm loj yuav tsum tau ua nyob rau hauv lub platform lub network architecture. Thaum cov kev pabcuam huab feem ntau yuam koj los tsim koj tus kheej lub network hauv txhua cheeb tsam thiab tom qab ntawd txuas lawv los ntawm VPN lossis qee yam kev pabcuam tswj hwm, Google Cloud tso cai rau koj los tsim kom muaj kev sib txuas ua haujlwm tag nrho ntawm txhua thaj tsam Google. Qhov no yog ib tug loj ntxiv nyob rau hauv cov nqe lus ntawm kev khiav hauj lwm thiab efficiency ntawm lub system.

Tsis tas li ntawd, kev pabcuam network thiab thauj khoom sib npaug los ntawm Google Cloud ua haujlwm zoo heev. Lawv tsuas tso cai rau koj siv cov chaw nyob IP chaw nyob ntawm txhua cheeb tsam, thiab cov txheej txheem BGP zoo yuav saib xyuas tus so (piv txwv li hloov cov neeg siv mus rau pawg ze tshaj plaws). Obviously, nyob rau hauv qhov kev tshwm sim ntawm ib tug tsis ua hauj lwm, tsheb yuav cia li mus rau lwm lub cheeb tsam yam tsis muaj kev cuam tshuam tib neeg.

Kubernetes taug txuj kev nyuaj Dailymotion: tsim cov txheej txheem hauv huab + ntawm thaj chaw
Saib xyuas Google Load Balancing

Peb lub platform kuj ua rau hnyav siv GPUs. Google Huab tso cai rau koj siv lawv ncaj qha hauv Kubernetes pawg.

Thaum lub sijhawm, pab pawg tsim kho vaj tse tau tsom mus rau cov txheej txheem qub txeeg qub teg uas siv rau ntawm lub cev servers. Tias yog vim li cas thiaj siv cov kev pabcuam tswj hwm (xws li Kubernetes masters) ua tau raws li peb cov cai thiab tso cai rau peb los cob qhia cov pab pawg ua haujlwm nrog pawg hauv zos.

Raws li qhov tshwm sim, peb tuaj yeem pib tau txais kev tsim khoom lag luam ntawm Google Cloud infrastructure tsuas yog 6 lub hlis tom qab pib ua haujlwm.

Txawm li cas los xij, txawm tias muaj ntau qhov zoo, kev ua haujlwm nrog huab cua yog cuam tshuam nrog qee cov nqi, uas tuaj yeem nce ntxiv nyob ntawm kev thauj khoom. Tias yog vim li cas peb ua tib zoo txheeb xyuas txhua qhov kev pabcuam uas peb tau siv, vam tias yuav siv lawv ntawm thaj chaw yav tom ntej. Qhov tseeb, kev siv cov pawg hauv zos tau pib thaum kawg ntawm 2016 thiab cov tswv yim hybrid tau pib tib lub sijhawm.

Tshaj tawm ntawm lub thawv hauv zos orchestration platform Dailymotion

Lub caij nplooj zeeg 2016

Hauv cov xwm txheej thaum tag nrho pawg tau npaj rau kev tsim khoom, thiab ua haujlwm ntawm API txuas ntxiv mus, nws yog lub sijhawm los mloog zoo rau cov pawg hauv cheeb tsam.

Lub sijhawm ntawd, cov neeg siv tau saib ntau dua 3 billion yeeb yaj kiab txhua lub hlis. Tau kawg, peb tau muaj peb tus kheej cov ntsiab lus xa khoom thoob ntiaj teb tau ntau xyoo. Peb xav coj kom zoo dua ntawm qhov xwm txheej no thiab xa Kubernetes pawg hauv cov chaw cov ntaub ntawv uas twb muaj lawm.

Dailymotion's infrastructure muaj ntau dua 2,5 txhiab servers hauv rau XNUMX lub chaw cov ntaub ntawv. Tag nrho cov ntawm lawv yog configured siv Saltstack. Peb pib npaj tag nrho cov zaub mov tsim nyog rau kev tsim tus tswv thiab cov neeg ua haujlwm, nrog rau cov pab pawg thiab lwm yam.

Kubernetes taug txuj kev nyuaj Dailymotion: tsim cov txheej txheem hauv huab + ntawm thaj chaw

Network ib feem

Peb lub network yog tag nrho routed. Txhua tus neeg rau zaub mov tshaj tawm nws tus IP ntawm lub network siv Exabgp. Peb piv ob peb lub network plugins thiab tsuas yog ib qho uas txaus siab rau txhua qhov kev xav tau (vim L3 txoj hauv kev siv) yog Calico. Nws haum zoo kawg nkaus rau hauv cov qauv network infrastructure uas twb muaj lawm.

Txij li thaum peb xav siv tag nrho cov khoom tsim muaj, thawj qhov uas peb yuav tsum tau ua yog txheeb xyuas peb cov khoom siv hluav taws xob hauv tsev (siv rau txhua lub servers): siv nws los tshaj tawm IP chaw nyob hauv lub network nrog Kubernetes nodes. Peb tau tso cai rau Calico los muab IP chaw nyob rau hauv pods, tab sis tsis tau thiab tseem tsis siv nws rau BGP zaug ntawm cov khoom siv network. Qhov tseeb, routing yog tswj los ntawm Exabgp, uas tshaj tawm cov subnets siv los ntawm Calico. Qhov no tso cai rau peb mus txog ib qho pod ntawm lub network sab hauv (thiab tshwj xeeb tshaj yog los ntawm cov khoom sib npaug).

Yuav ua li cas peb tswj ingress tsheb

Txhawm rau hloov cov lus thov nkag mus rau qhov kev pabcuam xav tau, nws tau txiav txim siab siv Ingress Controller vim nws kev koom ua ke nrog Kubernetes ingress cov peev txheej.

Peb xyoos dhau los, nginx-ingress-controller yog tus maub los tshaj plaws: Nginx tau nyob ib puag ncig ntev thiab paub txog nws txoj kev ruaj ntseg thiab kev ua haujlwm.

Hauv peb lub cev, peb tau txiav txim siab tso cov tswj hwm ntawm 10-Gigabit blade servers. Txhua tus maub los tau txuas nrog kube-apiserver qhov kawg ntawm pawg sib txuas. Cov servers no kuj siv Exabgp tshaj tawm rau pej xeem lossis ntiag tug IP chaw nyob. Peb lub network topology tso cai rau peb siv BGP los ntawm cov tswj hwm no kom xa tag nrho cov tsheb khiav ncaj qha mus rau cov pods yam tsis tas siv cov kev pabcuam zoo li NodePort. Txoj hauv kev no pab kom tsis txhob muaj kab rov tav ntawm cov nodes thiab txhim kho kev ua haujlwm.

Kubernetes taug txuj kev nyuaj Dailymotion: tsim cov txheej txheem hauv huab + ntawm thaj chaw
Tsheb thauj mus los ntawm Is Taws Nem mus rau pods

Tam sim no peb nkag siab txog peb lub platform hybrid, peb tuaj yeem delve tob rau hauv cov txheej txheem tsheb thauj mus los nws tus kheej.

Kev tsiv teb tsaws chaw ntawm Google Huab mus rau Dailymotion infrastructure

Lub caij nplooj zeeg 2018

Tom qab ze li ob xyoos ntawm lub tsev, kev sim, thiab kev kho, peb thaum kawg muaj tag nrho Kubernetes pawg npaj los txais qee qhov kev tsheb.

Kubernetes taug txuj kev nyuaj Dailymotion: tsim cov txheej txheem hauv huab + ntawm thaj chaw

Lub tswv yim routing tam sim no yog qhov yooj yim heev, tab sis txaus kom tau raws li qhov xav tau. Ntxiv rau cov IP pej xeem (ntawm Google Huab thiab Dailymotion), AWS Route 53 yog siv los teeb tsa cov cai thiab hloov cov neeg siv mus rau pawg ntawm peb xaiv.

Kubernetes taug txuj kev nyuaj Dailymotion: tsim cov txheej txheem hauv huab + ntawm thaj chaw
Piv txwv routing txoj cai siv Route 53

Nrog Google Huab qhov no yooj yim thaum peb muab ib tus IP ib leeg hla txhua pawg thiab tus neeg siv raug xa mus rau qhov ze tshaj plaws GKE pawg. Rau peb pawg cov thev naus laus zis sib txawv, vim lawv cov IPs txawv.

Thaum lub sijhawm tsiv teb tsaws, peb tau nrhiav kev hloov pauv cov lus thov hauv cheeb tsam mus rau pawg tsim nyog thiab ntsuas cov txiaj ntsig ntawm txoj hauv kev no.

Vim tias peb pawg GKE tau teeb tsa rau autoscale siv Custom Metrics, lawv teev nce / nqis raws li cov tsheb tuaj.

Hauv hom ib txwm muaj, tag nrho cov tsheb khiav hauv cheeb tsam raug coj mus rau pawg hauv zos, thiab GKE ua haujlwm tshwj xeeb thaum muaj teeb meem (kev kuaj xyuas kev noj qab haus huv tau ua los ntawm Txoj Kev 53).

...

Nyob rau hauv lub neej yav tom ntej, peb xav kom tag nrho automate routing txoj cai kom ua tau ib tug autonomous hybrid lub tswv yim uas txuas ntxiv txhim kho kev nkag mus rau cov neeg siv. Ntawm qhov ntxiv, cov nqi huab tau txo qis thiab API cov sijhawm teb tau txawm tias txo qis. Peb cia siab rau qhov tshwm sim huab platform thiab npaj txhij los hloov tsheb ntau dua rau nws yog tias tsim nyog.

PS los ntawm tus txhais lus

Tej zaum koj kuj yuav txaus siab rau lwm qhov tsis ntev los no Dailymotion tshaj tawm txog Kubernetes. Nws mob siab rau kev xa tawm cov ntawv thov nrog Helm ntawm ntau Kubernetes pawg thiab tau luam tawm txog ib lub hlis dhau los.

Nyeem kuj ntawm peb blog:

Tau qhov twg los: www.hab.com

Ntxiv ib saib