Cov neeg ua haujlwm Kubernetes: ntau tus me lossis ob peb lub loj?

Cov neeg ua haujlwm Kubernetes: ntau tus me lossis ob peb lub loj?
Thaum tsim ib pab pawg Kubernetes, cov lus nug yuav tshwm sim: pes tsawg tus neeg ua haujlwm ntawm kev teeb tsa thiab hom dab tsi? Dab tsi yog qhov zoo dua rau cov pawg hauv tsev: yuav ob peb lub servers muaj zog lossis siv lub tshuab qub qub hauv koj qhov chaw khaws ntaub ntawv? Thiab nyob rau hauv huab, nws puas zoo dua los siv yim ib leeg-ntxhais lossis ob lub quad-core piv txwv?

Cov lus teb rau cov lus nug no yog nyob rau hauv tsab xov xwm. Daniel Weibel, Software Engineer thiab Trainer ntawm Learnk8s Learning Project hauv command translation Kubernetes aaS los ntawm Mail.ru.

Pawg muaj peev xwm

Feem ntau, Kubernetes pawg tuaj yeem xav tias yog qhov loj "supernode". Nws tag nrho kev suav lub zog yog qhov suav ntawm lub zog ntawm tag nrho cov nodes.

Muaj ob peb txoj hauv kev kom ua tiav cov phiaj xwm pawg neeg xav tau. Piv txwv li, peb xav tau ib pawg nrog tag nrho lub peev xwm ntawm 8 processor cores thiab 32 GB ntawm RAM, vim hais tias ib txheej ntawm daim ntawv thov yuav tsum muaj ntau yam kev pab. Tom qab ntawd koj tuaj yeem nruab ob lub ntawm 16 GB ntawm lub cim xeeb lossis plaub lub ntawm 8 GB ntawm lub cim xeeb, ob lub quad-core processors lossis plaub lub dual-core.

Nov yog ob txoj hauv kev los tsim ib pawg:

Cov neeg ua haujlwm Kubernetes: ntau tus me lossis ob peb lub loj?
Ob qho kev xaiv ua rau ib pawg uas muaj peev xwm zoo ib yam, tab sis qhov kev teeb tsa hauv qab muaj plaub qhov me me thiab cov kev teeb tsa saum toj kawg nkaus muaj ob qhov loj.

Qhov kev xaiv twg zoo dua?

Txhawm rau teb cov lus nug no, xav txog qhov zoo ntawm ob qho kev xaiv. Peb tau sau lawv hauv ib lub rooj.

Ob peb lub pob caus loj

Ntau cov pob me me

Kev tswj pawg tau yooj yim dua (yog tias nws nyob hauv tsev)

Smooth autoscaling

Cheaper (yog tias nyob hauv tsev)

Tus nqi sib txawv me ntsis (hauv huab)

Nws tuaj yeem siv cov ntaub ntawv siv ntau heev

Tag nrho replication

Cov peev txheej siv tau zoo dua (tsawg dua nyiaj siv ua haujlwm ntawm qhov system daemon
Siab dua pawg poob

Thov nco ntsoov tias peb tsuas yog tham txog cov haujlwm ua haujlwm xwb. Xaiv tus naj npawb thiab qhov loj ntawm tus tswv nodes yog lub ntsiab lus sib txawv kiag li.

Yog li, cia peb tham txog txhua yam khoom los ntawm lub rooj kom ntxaws ntxiv.

Thawj qhov kev xaiv: ob peb lub pob loj

Qhov kev xaiv tshaj plaws yog ib tus neeg ua haujlwm rau tag nrho lub peev xwm ntawm pawg. Hauv qhov piv txwv saum toj no, qhov no yuav yog ib tus neeg ua haujlwm ntawm 16 CPU cores thiab 16 GB ntawm RAM.

Yav tas los

Ntxiv rau #1 Kev Tswj Kom Yooj Yim
Nws yooj yim dua los tswj ntau lub tshuab ntau dua li tag nrho cov nkoj. Yob tawm cov hloov tshiab thiab kho sai dua, nws yooj yim rau synchronize. Tus naj npawb ntawm kev ua tsis tiav hauv cov lej tseem tsawg dua.

Thov nco ntsoov tias tag nrho cov saum toj no siv rau koj lub hardware, koj cov servers, thiab tsis yog rau huab huab.

Hauv huab, qhov xwm txheej txawv. Nws yog tswj los ntawm huab cua muab kev pabcuam. Yog li, tswj kaum nodes hauv huab tsis txawv ntawm kev tswj ib lub node.

Kev khiav tsheb khiav thiab thauj khoom sib npaug ntawm cov pods hauv huab ua tiav: kev khiav tsheb los ntawm Is Taws Nem yog coj mus rau lub ntsiab load balancer, uas coj cov tsheb khiav mus rau qhov chaw nres nkoj ntawm ib qho ntawm cov nodes (cov kev pabcuam NodePort teeb tsa qhov chaw nres nkoj hauv thaj tsam 30000-32767 hauv txhua qhov ntawm pawg). Cov kev cai teev tseg los ntawm kube-proxy redirect tsheb khiav los ntawm lub node mus rau lub pod. Nov yog qhov nws zoo li rau kaum pods ntawm ob lub nodes:

Cov neeg ua haujlwm Kubernetes: ntau tus me lossis ob peb lub loj?
Ntxiv # 2: Tsawg tus nqi rau ib qho
Lub tsheb muaj zog yog kim dua, tab sis tus nqi nce yog tsis tas li linear. Nyob rau hauv lwm yam lus, ib tug kaum-ntxhais neeg rau zaub mov nrog 10 GB ntawm lub cim xeeb yog feem ntau pheej yig dua kaum ib leeg-core servers nrog tib lub cim xeeb.

Tab sis nco ntsoov tias txoj cai no feem ntau tsis ua haujlwm hauv huab kev pabcuam. Nyob rau hauv cov txheej txheem nqi tam sim no ntawm tag nrho cov chaw muab kev pabcuam huab loj, cov nqi nce linearly nrog lub peev xwm.

Yog li, hauv huab, feem ntau koj tsis tuaj yeem txuag ntawm cov servers muaj zog dua.

Pro #3: Muaj peev xwm khiav cov peev txheej-tshaib plab apps
Qee daim ntawv thov xav tau cov servers muaj zog hauv pawg. Piv txwv li, yog tias lub tshuab kev kawm xav tau 8 GB ntawm lub cim xeeb, koj yuav tsis tuaj yeem khiav ntawm 1 GB nodes, tab sis tsuas yog muaj tsawg kawg yog ib tus neeg ua haujlwm loj.

Daim ntawv

Cons # 1: Ntau cov pods rau ntawm node
Yog tias tib txoj haujlwm ua haujlwm ntawm cov nodes tsawg dua, ces txhua tus ntawm lawv yuav muaj ntau cov pods.

Qhov no yuav yog ib qho teeb meem.

Yog vim li cas yog tias txhua tus qauv qhia qee qhov nyiaj siv ua haujlwm rau lub thawv ntim khoom (xws li Docker) nrog rau kubelet thiab cAdvisor.

Piv txwv li, kubelet tsis tu ncua soj ntsuam tag nrho cov ntim ntawm lub pob rau kev ua neej nyob - ntau lub ntim, qhov ntau dua qhov kubelet tau ua.

CAdvisor sau cov ntaub ntawv siv nyiaj txiag rau txhua lub ntim ntawm tus tswv tsev, thiab kubelet nug cov ntaub ntawv no tsis tu ncua thiab muab nws ntawm API. Ntxiv dua thiab, ntau lub thawv txhais tau tias ua haujlwm ntau rau ob qho tib si cAdvisor thiab kubelet.

Yog tias tus naj npawb ntawm cov modules loj tuaj, nws tuaj yeem ua rau lub kaw lus qeeb thiab txawm tias ua rau nws txoj kev ntseeg siab.

Cov neeg ua haujlwm Kubernetes: ntau tus me lossis ob peb lub loj?
Hauv Kubernetes repository, qee qhov ywstias cov nodes dhia ntawm Ready/NotReady cov xwm txheej vim hais tias tsis tu ncua kubelet checks ntawm tag nrho cov ntim ntawm node yuav siv sij hawm ntev heev.
Vim li no Kubernetes pom zoo kom hosting tsis pub ntau tshaj 110 pods ib ntawm. Nyob ntawm qhov kev ua tau zoo ntawm cov node, koj tuaj yeem khiav ntau cov pods ib lub node, tab sis nws yog ib qho nyuaj rau kwv yees seb puas yuav muaj teeb meem los yog txhua yam yuav ua haujlwm zoo. Nws tsim nyog sim ua haujlwm ua ntej.

Cons #2: Replication Limit
Ntau cov nodes txwv qhov kev siv tau zoo ntawm daim ntawv thov rov ua dua. Piv txwv li, yog tias koj muaj daim ntawv thov muaj ntau nrog tsib replicas, tab sis tsuas yog ob lub nodes, ces qhov zoo ntawm daim ntawv thov raug txo mus rau ob.

Tsib replicas tsuas yog muab faib rau ob lub nodes, thiab yog tias ib qho ntawm lawv poob qis, nws tam sim ntawd lov tes taw ob peb replicas.

Yog tias koj muaj tsib lub nodes lossis ntau dua, txhua qhov replica yuav khiav ntawm ib qho kev sib cais, thiab ib qho ntawm qhov tsis ua haujlwm yuav tshem tawm ntawm feem ntau ntawm ib qho kev hloov pauv.

Yog li, cov kev xav tau muaj nyob hauv siab yuav xav tau qee yam tsawg kawg ntawm cov nodes hauv pawg.

Cons # 3: Cov txiaj ntsig phem ntawm kev ua tsis tiav
Nrog rau tus lej me me, txhua qhov kev ua tsis tiav muaj qhov tshwm sim loj dua. Piv txwv li, yog tias koj tsuas muaj ob lub nodes, thiab ib qho ntawm lawv ua tsis tiav, ib nrab ntawm koj cov modules tam sim ntawd ploj mus.

Tau kawg, Kubernetes yuav tshem tawm cov haujlwm ua haujlwm los ntawm qhov ua tsis tiav rau lwm tus. Tab sis yog tias muaj ob peb ntawm lawv, ces lub peev xwm dawb yuav tsis txaus. Yog li ntawd, qee qhov ntawm koj daim ntawv thov yuav tsis muaj mus txog thaum koj nqa qhov ua tsis tiav.

Yog li, cov nodes ntau, qhov tsawg dua qhov cuam tshuam ntawm hardware tsis ua haujlwm.

Cons #4: Ntau cov kauj ruam autoscaling
Kubernetes muaj pawg autoscaling system rau huab infrastructure, uas tso cai rau koj kom tau txais kev ntxiv lossis tshem cov nodes nyob ntawm qhov xav tau tam sim no. Nrog cov nodes loj, autoscaling ua sharper thiab clunkier. Piv txwv li, ntawm ob lub nodes, ntxiv ib qho ntxiv yuav ua rau pawg muaj peev xwm nce 50% ib zaug. Thiab koj yuav tsum them rau cov peev txheej no, txawm tias koj tsis xav tau lawv.

Yog li, yog tias koj npaj yuav siv cov kev ntsuas tsis siv neeg, ces qhov me me ntawm cov nodes, qhov hloov pauv tau yooj yim dua thiab raug nqi koj yuav tau txais.

Tam sim no xav txog qhov zoo thiab qhov tsis zoo ntawm ntau cov pob me me.

Qhov kev xaiv thib ob: ntau qhov me me

Qhov zoo ntawm txoj kev no, qhov tseeb, ua raws li los ntawm qhov tsis zoo ntawm qhov kev xaiv sib txawv nrog ob peb lub pob loj.

Yav tas los

Ntxiv # 1: Kev cuam tshuam tsawg dua
Cov nodes ntau dua, cov pods tsawg dua ntawm txhua qhov. Piv txwv li, yog tias koj muaj ib puas modules rau kaum nodes, ces txhua lub node yuav muaj qhov nruab nrab ntawm kaum modules.

Yog li, yog tias ib qho ntawm cov nodes ua tsis tiav, koj tsuas poob 10% ntawm cov haujlwm. Nws zoo li tsuas yog qee qhov kev hloov pauv me me yuav raug cuam tshuam, thiab cov ntawv thov tag nrho yuav nyob twj ywm.

Tsis tas li ntawd, cov nodes tseem yuav muaj peev xwm txaus txaus rau qhov ua tsis tiav ntawm cov haujlwm ua haujlwm, yog li Kubernetes pub dawb rau rov teem sijhawm pods thiab koj daim ntawv thov yuav rov qab mus rau lub xeev ua haujlwm sai sai.

Ntxiv # 2: Kev rov ua zoo dua
Yog tias muaj cov nodes txaus, ces Kubernetes lub sijhawm teem sijhawm tuaj yeem muab cov nodes sib txawv rau txhua qhov kev hloov pauv. Txoj kev no, nyob rau hauv qhov xwm txheej ntawm lub node tsis ua hauj lwm, tsuas yog ib qho replica yuav raug cuam tshuam thiab daim ntawv thov yuav nyob twj ywm.

Daim ntawv

Cons #1: Nyuaj rau tswj
Ntau cov nodes nyuaj dua los tswj. Piv txwv li, txhua tus Kubernetes node yuav tsum sib txuas lus nrog rau tag nrho lwm tus, uas yog, tus naj npawb ntawm kev sib txuas loj hlob quadratically, thiab tag nrho cov kev sib txuas no yuav tsum tau taug qab.

Tus tswj ntawm tus tswj ntawm Kubernetes Controller Manager niaj hnub taug qab txhua lub pob hauv pawg los kuaj xyuas kev noj qab haus huv - cov nodes ntau dua, qhov hnyav dua ntawm tus maub los.

Lub thauj khoom ntawm etcd database tseem loj hlob - txhua kubelet thiab kube-proxy hu watcher rau etcd (ntawm API) uas lwm yam yuav tsum tshaj tawm cov khoom tshiab.

Feem ntau, txhua tus neeg ua hauj lwm node imposes ntxiv load rau hauv lub system Cheebtsam ntawm tus tswv nodes.

Cov neeg ua haujlwm Kubernetes: ntau tus me lossis ob peb lub loj?
Kubernetes officially txhawb pab pawg nrog mus txog 5000 nodes. Txawm li cas los xij, nyob rau hauv kev xyaum, twb 500 nodes tuaj yeem ua rau muaj teeb meem tsis tseem ceeb.

Txhawm rau tswj ntau tus neeg ua haujlwm ntawm cov neeg ua haujlwm, koj yuav tsum xaiv cov tswv yim muaj zog dua. Piv txwv li, kub-up tau nruab qhov tseeb VM loj rau tus tswv node nyob ntawm tus naj npawb ntawm cov neeg ua haujlwm. Ntawd yog, qhov ntau tus neeg ua haujlwm nodes, qhov ua tau zoo ntawm tus tswv nodes yuav tsum yog.

Txhawm rau daws cov teeb meem tshwj xeeb no, muaj kev txhim kho tshwj xeeb, xws li Virtual Kubelet. Qhov system no tso cai rau koj hla kev txwv thiab tsim cov pawg nrog ntau tus neeg ua haujlwm ntawm cov neeg ua haujlwm.

Cons #2: Ntau tshaj nyiaj siv ua haujlwm
Ntawm txhua tus neeg ua haujlwm ntawm tus neeg ua haujlwm, Kubernetes khiav cov txheej txheem daemons - cov no suav nrog lub thawv ua haujlwm (xws li Docker), kube-proxy, thiab kubelet, suav nrog cAdvisor. Ua ke lawv siv ib qho nyiaj txiag ruaj khov.

Yog tias koj muaj ntau qhov me me, qhov feem pua ​​​​ntawm cov nyiaj siv ua haujlwm no yog ntau dua. Piv txwv li, xav txog tias tag nrho cov system daemons ntawm ib lub node ua ke siv 0,1 CPU cores thiab 0,1 GB ntawm lub cim xeeb. Yog hais tias koj muaj ib tug kaum-ntxhais node nrog 10 GB ntawm lub cim xeeb, ces cov daemons haus 1% ntawm pawg muaj peev xwm. Ntawm qhov tod tes, ntawm kaum ib leeg-core nodes nrog 1 GB ntawm lub cim xeeb, daemons yuav siv 10% ntawm pawg muaj peev xwm.

Yog li, qhov tsawg ntawm cov nodes, ntau npaum li cas cov infrastructure yog siv.

Cons # 3: Kev siv tsis zoo ntawm cov peev txheej
Ntawm cov me me, qhov xwm txheej yuav yog qhov seem ntawm cov khoom seem me me dhau los muab cov haujlwm ua haujlwm rau lawv, yog li lawv tseem tsis tau siv.

Piv txwv li, txhua lub pod xav tau 0,75 GB ntawm kev cia. Yog tias koj muaj kaum lub nodes, txhua tus nrog 1 GB ntawm lub cim xeeb, koj tuaj yeem khiav kaum lub pods - thaum kawg, txhua lub ntawm yuav muaj 0,25 GB ntawm lub cim xeeb tsis siv.

Qhov no txhais tau hais tias 25% ntawm tag nrho pawg lub cim xeeb yog nkim.

Ntawm qhov loj me nrog 10 GB ntawm lub cim xeeb, koj tuaj yeem khiav 13 ntawm cov qauv no - thiab tsuas yog ib qho tsis siv ntawm 0,25 GB.

Hauv qhov no, tsuas yog 2,5% ntawm lub cim xeeb yog nkim.

Yog li, cov peev txheej tau zoo dua siv rau ntawm cov nodes loj.

Ob peb lub nodes loj los yog ntau me me?

Yog li, qhov twg zoo dua: ob peb lub pob loj hauv ib pawg lossis ntau qhov me me? Raws li ib txwm muaj, tsis muaj lus teb meej. Ntau yam nyob ntawm hom kev thov.

Piv txwv li, yog tias ib daim ntawv thov xav tau 10 GB ntawm lub cim xeeb, qhov kev xaiv pom tseeb yog mus rau cov pob loj. Thiab yog tias daim ntawv thov yuav tsum tau rov ua dua kaum zaug rau qhov muaj siab, nws tsis yog qhov tsim nyog ntawm kev tso cov replicas ntawm tsuas yog ob lub nodes - yuav tsum muaj tsawg kawg kaum nodes hauv pawg.

Hauv cov xwm txheej nruab nrab, xaiv ib qho raws li qhov zoo thiab qhov tsis zoo ntawm txhua qhov kev xaiv. Tej zaum qee qhov kev sib cav muaj feem cuam tshuam rau koj qhov xwm txheej dua li lwm tus.

Thiab nws tsis yog qhov tsim nyog los ua txhua qhov ntawm tib qhov loj. Tsis muaj dab tsi tiv thaiv kev sim ua ntej nrog cov nodes ntawm tib qhov loj, tom qab ntawd ntxiv cov nodes ntawm qhov sib txawv rau lawv, sib xyaw ua ke hauv ib pawg. Cov neeg ua haujlwm ntawm cov pab pawg Kubernetes tuaj yeem ua tau zoo tag nrho. Yog li koj tuaj yeem sim ua ke qhov zoo ntawm ob txoj hauv kev.

Tsis muaj ib daim ntawv qhia, thiab txhua qhov xwm txheej muaj nws tus kheej nuances, thiab tsuas yog ntau lawm yuav qhia qhov tseeb.

Kev txhais lus npaj los ntawm pab pawg huab platform Mail.ru Huab Solutions.

Xav paub ntau ntxiv txog Kubernetes: 25 Cov cuab yeej siv tau zoo rau kev tswj hwm thiab xa tawm pawg.

Tau qhov twg los: www.hab.com

Ntxiv ib saib