Nodes mpiasa Kubernetes: kely maro sa lehibe maromaro?

Nodes mpiasa Kubernetes: kely maro sa lehibe maromaro?
Rehefa mamorona kluster Kubernetes dia mety hipoitra ny fanontaniana: firy ny node mpiasa tokony hamboarina ary karazana inona? Inona no tsara kokoa ho an'ny cluster eo an-toerana: mividy mpizara matanjaka maromaro na mampiasa milina tranainy am-polony ao amin'ny foibe angonao? Tsara kokoa ve ny maka tranga tokana tokana na roa quad-core ao amin'ny rahona?

Ao amin’ny lahatsoratra ny valin’ireo fanontaniana ireo. Daniel Weibel, injeniera rindrambaiko ary mpampianatra ny tetikasa fanabeazana Learnk8s amin'ny fandikana ny baiko Kubernetes aaS avy amin'ny Mail.ru.

Fahaizana cluster

Amin'ny ankapobeny, ny cluster Kubernetes dia azo heverina ho "supernode" lehibe. Ny totalin'ny herin'ny computing azy dia ny fitambaran'ny herin'ny nodes rehetra ao aminy.

Misy fomba maromaro hanatrarana ny tanjonao amin'ny fahafahan'ny cluster tianao. Ohatra, mila kluster miaraka amin'ny fahaiza-manao 8 core processeur sy 32 GB an'ny RAM isika satria mitaky loharanon-karena be dia be ny fampiharana iray. Avy eo ianao dia afaka mametraka node roa misy fahatsiarovana 16 GB na node efatra misy fahatsiarovana 8 GB, processeur roa quad-core na efatra roa-core.

Ireto misy fomba roa ahafahana mamorona cluster:

Nodes mpiasa Kubernetes: kely maro sa lehibe maromaro?
Ireo safidy roa ireo dia mamokatra kluster manana fahafaha-manao mitovy, fa ny fanamafisam-peo ambany dia manana node efatra kely kokoa ary ny fanamafisana ambony dia manana node roa lehibe kokoa.

Inona no safidy tsara kokoa?

Mba hamaliana io fanontaniana io, andeha hojerentsika ny tombony amin'ny safidy roa. Nofintininay tao anaty latabatra izy ireo.

Nodes lehibe maromaro

Nodes kely maro

Fitantanana cluster mora kokoa (raha eo an-toerana)

Smooth autoscaling

Mora kokoa (raha eo an-toerana)

Ny vidiny dia hafa kely (ao amin'ny rahona)

Afaka mampandeha rindranasa misy loharanon-karena

Replication feno

Ny loharanon-karena dia ampiasaina amin'ny fomba mahomby kokoa (tsy mihoatra noho ny daemons rafitra
Ny fandeferana amin'ny cluster avo kokoa

Mariho fa ny nodes mpiasa ihany no resahinay. Ny fisafidianana ny isa sy ny haben'ny nodes lehibe dia lohahevitra hafa tanteraka.

Noho izany, andeha hodinihintsika amin'ny antsipiriany bebe kokoa ny teboka tsirairay avy amin'ny latabatra.

Safidy voalohany: node lehibe maromaro

Ny safidy faran'izay henjana dia node mpiasa iray ho an'ny fahafahan'ny cluster manontolo. Ao amin'ny ohatra etsy ambony, ity dia node mpiasa tokana misy cores 16 CPU sy 16 GB an'ny RAM.

ΠŸΠ»ΡŽΡΡ‹

Plus No. 1. Fitantanana mora kokoa
Mora kokoa ny mitantana milina vitsivitsy noho ny fiaramanidina iray manontolo. Haingana kokoa ny fandefasana fanavaozana sy fanamboarana, ary mora kokoa ny mampifanaraka. Vitsy ihany koa ny isan'ny tsy fahombiazana amin'ny isa tanteraka.

Mariho fa ireo rehetra voalaza etsy ambony ireo dia mihatra amin'ny fitaovanao, ny lohamilinao, fa tsy amin'ny tranga rahona.

Hafa ny toe-draharaha ao amin'ny rahona. Any, ny mpanome tolotra rahona no mitantana ny fitantanana. Noho izany, ny fitantanana ny node folo ao amin'ny rahona dia tsy mitovy amin'ny fitantanana ny node iray.

Fifamoivoizana sy fizarana enta-mavesatra eo amin'ny pod ao anaty rahona natao ho azy: Ny fifamoivoizana avy amin'ny Internet dia alefa any amin'ny mpifandanja entana lehibe, izay mampita ny fifamoivoizana mankany amin'ny seranan-tsambon'ny iray amin'ireo node (ny serivisy NodePort dia mametraka ny seranan-tsambo amin'ny 30000-32767 isaky ny node cluster). Ny fitsipika napetraky ny kube-proxy dia mamindra ny fifamoivoizana avy amin'ny node mankany amin'ny pod. Toy izao ny endrik'ireo pod folo amin'ny node roa:

Nodes mpiasa Kubernetes: kely maro sa lehibe maromaro?
Pro #2: Vidiny kely isaky ny node
Ny fiara matanjaka dia lafo kokoa, fa ny fiakaran'ny vidiny dia tsy voatery ho linear. Raha lazaina amin'ny teny hafa, ny lohamilina folo misy fahatsiarovana 10 GB matetika dia mora kokoa noho ny lohamilina tokana folo manana fahatsiarovana mitovy.

Saingy mariho fa ity fitsipika ity dia tsy miasa amin'ny serivisy rahona. Ao amin'ny teti-bidy ankehitriny an'ny mpamatsy rahona lehibe rehetra, ny vidiny dia mitombo tsikelikely miaraka amin'ny fahafaha-manao.

Noho izany, amin'ny rahona dia tsy afaka mitahiry amin'ny mpizara mahery kokoa ianao.

Pro #3: Azonao atao ny mampandeha rindranasa misy loharanon-karena
Ny fampiharana sasany dia mitaky mpizara matanjaka ao anaty cluster. Ohatra, raha mitaky fitadidiana 8 GB ny rafitra fianarana milina, dia tsy ho afaka hampandeha azy amin'ny node 1 GB ianao, fa miaraka amin'ny node mpiasa lehibe iray farafahakeliny.

ΠœΠΈΠ½ΡƒΡΡ‹

Fatiantoka No. 1. Pods maro isaky ny node
Raha toa ka atao amin'ny nodes vitsy kokoa ny asa mitovy, dia ho lasa manana pod bebe kokoa ny tsirairay amin'izy ireo.

Mety ho olana izany.

Ny antony dia satria ny module tsirairay dia mampiditra ny overhead amin'ny fampandehanana ny container (ohatra Docker), ary koa ny kubelet sy cAdvisor.

Ohatra, ny kubelet dia manadihady tsy tapaka ny kaontenera rehetra amin'ny node iray mba ho velona β€” arakaraka ny habetsahan'ny kaontenera, ny asa bebe kokoa tsy maintsy ataon'ny kubelet.

Ny CAdvisor dia manangona antontan'isa momba ny fampiasana loharanon-karena ho an'ny kaontenera rehetra amin'ny node, ary i kubelet dia manontany tsy tapaka an'io fampahalalana io ary manome izany amin'ny alΓ lan'ny API. Averina indray, ny kaontenera bebe kokoa dia midika ho asa bebe kokoa ho an'ny cAdvisor sy kubelet.

Raha mitombo ny isan'ny modules, dia mety hampiadana ny rafitra izany ary hanimba ny fahamendrehany mihitsy aza.

Nodes mpiasa Kubernetes: kely maro sa lehibe maromaro?
Ao amin'ny tahiry Kubernetes sasany nitarainany nodes dia mitsambikina eo anelanelan'ny sata Vonona/Tsy Vonona satria maharitra loatra ny fisavana kubelet tsy tapaka amin'ny kaontenera rehetra amin'ny node.
Noho izany antony izany Kubernetes Manoro hevitra ny hametraka tsy mihoatra ny 110 pods isaky ny node. Miankina amin'ny zava-bitan'ny node, afaka mihazakazaka pods bebe kokoa ianao isaky ny node, saingy sarotra ny maminavina raha hisy olana na handeha tsara ny zava-drehetra. Mendrika ny hitsapana ny asa mialoha.

Fatiantoka No. 2. Famerana ny famerenana
Vitsy loatra ny node mametra ny halehiben'ny fandefasana fampiharana. Ohatra, raha manana rindranasa avo lenta ianao miaraka amin'ny kopia dimy nefa node roa ihany, dia ahena ho roa ny haavon'ny famerenan'ny fampiharana.

Ny kopia dimy ihany no azo zaraina amin'ny node roa, ary raha tsy mahomby ny iray amin'izy ireo, dia hanaisotra dika mitovy indray mandeha.

Raha manana node dimy na mihoatra ianao, ny kopia tsirairay dia handeha amin'ny node misaraka, ary ny tsy fahombiazan'ny node iray dia manala ny ankamaroan'ny kopia iray.

Noho izany, ny fepetra takiana avo lenta dia mety mitaky isa kely indrindra ao amin'ny cluster.

Fatiantoka No. 3. Ny voka-dratsin'ny tsy fahombiazana
Miaraka amin'ny nodes vitsy, ny tsy fahombiazana tsirairay dia misy vokany lehibe kokoa. Ohatra, raha manana node roa ianao ary tsy mahomby ny iray amin'izy ireo, dia hanjavona avy hatrany ny antsasak'ireo modules anao.

Mazava ho azy fa hamindra ny enta-mavesatra avy amin'ny node tsy nahomby mankany amin'ny hafa i Kubernetes. Fa raha vitsy amin'izy ireo, dia mety tsy ampy ny fahafahana malalaka. Vokatr'izany, ny sasany amin'ireo rindranasao dia tsy ho hita mandra-pahatonga ny node tsy nahomby.

Noho izany, ny nodes bebe kokoa, ny kely kokoa ny fiantraikan'ny tsy fahombiazan'ny fitaovana.

Fatiantoka # 4: dingana autoscaling bebe kokoa
Kubernetes dia manana rafitra fanamafisam-peo mandeha ho azy ho an'ny fotodrafitrasa rahona, izay ahafahanao manampy na manaisotra ho azy ireo nodes miankina amin'ny filanao ankehitriny. Miaraka amin'ny node lehibe kokoa, ny autoscaling dia lasa tampoka sy tsy misy dikany. Ohatra, amin'ny node roa, ny fampidirana node fanampiny dia hampitombo avy hatrany ny fahafahan'ny cluster amin'ny 50%. Ary tsy maintsy mandoa an'ireo loharano ireo ianao, na dia tsy ilainao aza izany.

Noho izany, raha mikasa ny hampiasa scaling cluster mandeha ho azy ianao, ny kely kokoa ny nodes, ny scaling mora kokoa sy lafo kokoa ho azonao.

Andeha hojerentsika izao ny tombony sy ny tsy fahampian'ny nodes kely marobe.

Safidy faharoa: nodes kely maro

Ny tombony amin'ity fomba ity dia avy amin'ny tsy fahampian'ny safidy mifanohitra amin'ny node lehibe maromaro.

ΠŸΠ»ΡŽΡΡ‹

Pro #1: Kely ny fiantraikan'ny tsy fahombiazana
Arakaraky ny node maro, ny kely kokoa ny pods amin'ny node tsirairay. Ohatra, raha manana modules zato isaky ny node folo ianao, dia hanana modules folo eo ho eo ny node tsirairay.

Amin'izany fomba izany, raha tsy mahomby ny iray amin'ireo node, dia 10% amin'ny enta-mavesatra ihany no very. Ny azo inoana dia ny kopia vitsivitsy ihany no hisy fiantraikany ary ny fampiharana amin'ny ankapobeny dia hijanona ho miasa.

Fanampin'izany, mety hanana loharano maimaim-poana ampy ny node sisa mba hiatrehana ny enta-mavesatry ny node tsy nahomby, noho izany dia afaka mandamina malalaka ny pods ny Kubernetes ary hiverina haingana amin'ny toe-javatra miasa ny fampiharanao.

Pro #2: Replication tsara
Raha ampy ny nodes, ny Kubernetes scheduler dia afaka manendry nodes samihafa amin'ny replika rehetra. Amin'izany fomba izany, raha tsy mahomby ny node, dia kopia iray ihany no hisy fiantraikany ary mbola ho hita ny fampiharana.

ΠœΠΈΠ½ΡƒΡΡ‹

Fatiantoka No. 1. Sarotra ny mifehy
Sarotra kokoa ny mitantana ny nodes marobe. Ohatra, ny node Kubernetes tsirairay dia tsy maintsy mifandray amin'ny hafa rehetra, izany hoe ny isan'ny fifandraisana dia mitombo quadratic, ary ireo fifandraisana rehetra ireo dia mila arahina.

Ny mpanara-maso ny node ao amin'ny Kubernetes Controller Manager dia mandeha tsy tapaka amin'ny node rehetra ao amin'ny cluster mba hijerena ny fahasalamana - arakaraka ny hamaroan'ny nodes, ny enta-mavesatra bebe kokoa amin'ny controller.

Mitombo ihany koa ny entana ao amin'ny angon-drakitra etcd - miantso ny kubelet sy kube-proxy tsirairay Mpijery ho an'ny etcd (amin'ny alΓ lan'ny API), izay tokony handefasan'ny etcd ny fanavaozana zavatra.

Amin'ny ankapobeny, ny node mpiasa tsirairay dia mametraka enta-mavesatra fanampiny amin'ny singa rafitra amin'ny node master.

Nodes mpiasa Kubernetes: kely maro sa lehibe maromaro?
Kubernetes dia manohana amin'ny fomba ofisialy ny cluster miaraka amin'ny isan'ny nodes hatramin'ny 5000. Na izany aza, amin'ny fampiharana dia efa misy 500 nodes mety hiteraka olana tsy misy dikany.

Raha mitantana node mpiasa marobe dia tokony hifidy node master matanjaka kokoa ianao. Ohatra, kube-up apetraka ho azy ny haben'ny VM marina ho an'ny node master arakaraka ny isan'ny node mpiasa. Izany hoe, arakaraka ny nodes mpiasa no tokony hamokatra kokoa ny node master.

Mba hamahana ireo olana manokana ireo dia misy fivoarana manokana, toy ny Kubelet maya. Ity rafitra ity dia ahafahanao mandingana ny famerana ary manangana cluster miaraka amin'ny node mpiasa marobe.

Fatiantoka #2: Vidin'ny overhead bebe kokoa.
Ao amin'ny node mpiasa tsirairay, Kubernetes dia mitantana daemon rafitra - anisan'izany ny fampandehanana ny container (toy ny Docker), kube-proxy ary kubelet, anisan'izany ny cAdvisor. Miara-mandany loharanon-karena raikitra sasany izy ireo.

Raha manana node kely maro ianao, dia lehibe kokoa ny ampahany amin'io overhead io amin'ny node tsirairay. Ohatra, alaivo sary an-tsaina fa ny daemon rafitra rehetra amin'ny node tokana dia miara-miasa amin'ny 0,1 CPU cores sy 0,1 GB fahatsiarovana. Raha manana node folo fototra miaraka amin'ny fahatsiarovana 10 GB ianao, dia mandany 1% amin'ny fahafahan'ny cluster ny daemons. Amin'ny lafiny iray, amin'ny node tokana tokana folo miaraka amin'ny fahatsiarovana 1 GB, ny daemon dia haka 10% amin'ny fahafahan'ny cluster.

Noho izany, ny kely nodes, ny mahomby kokoa ny foto-drafitrasa ampiasaina.

Fatiantoka No. 3. Fampiasana tsy mahomby ny loharanon-karena
Amin'ny nodes kely, mety ho kely loatra ny sombin-loharanom-pitaovana sisa ka tsy azo ametrahana enta-mavesatra, ka mijanona ho tsy ampiasaina.

Ohatra, ny pod tsirairay dia mila fitadidiana 0,75 GB. Raha manana node folo ianao, samy manana fitadidiana 1 GB, dia afaka mihazakazaka pods folo ianao, mamela ny node tsirairay miaraka amin'ny fahatsiarovana tsy ampiasaina 0,25 GB.

Midika izany fa very maina ny 25% amin'ny fitadidian'ny cluster manontolo.

Amin'ny node lehibe misy fahatsiarovana 10 GB, azonao atao ny mampandeha 13 amin'ireo maody ireo - ary tsy hisy afa-tsy sombiny tsy ampiasaina amin'ny 0,25 GB.

Amin'ity tranga ity, 2,5% amin'ny fahatsiarovana ihany no very.

Noho izany, ny loharanon-karena dia ampiasaina tsara kokoa amin'ny nodes lehibe kokoa.

Node lehibe maromaro sa kely maromaro?

Noho izany, inona no tsara kokoa: node lehibe vitsivitsy ao anaty cluster sa kely maromaro? Toy ny mahazatra dia tsy misy valiny mazava. Miankina betsaka amin'ny karazana fampiharana.

Ohatra, raha mitaky fitadidiana 10 GB ny fampiharana iray dia safidy mazava ny node lehibe kokoa. Ary raha mitaky replika avo folo heny ny fampiharana ho an'ny fisiana avo lenta, dia sarotra ny mety hampidi-doza ny fametrahana kopia amin'ny node roa fotsiny - tsy maintsy misy node folo farafahakeliny ao amin'ny cluster.

Amin'ny toe-javatra manelanelana, manaova safidy mifototra amin'ny tombony sy ny tsy fahampian'ny safidy tsirairay. Angamba ny hevitra sasany dia mifandray kokoa amin'ny toe-javatra misy anao noho ny hafa.

Ary tsy ilaina mihitsy ny manao ny nodes rehetra mitovy habe. Tsy misy na inona na inona misakana anao tsy hanao fanandramana voalohany amin'ny nodes mitovy habe, avy eo ampio nodes hafa habe amin'izy ireo, manambatra azy ireo ao anaty cluster. Ny node mpiasa ao amin'ny cluster Kubernetes dia mety tsy mitovy tanteraka. Noho izany dia azonao atao ny manandrana manambatra ny tombony amin'ny fomba roa.

Tsy misy fomba fanamboarana tokana, ary ny toe-javatra tsirairay dia manana ny nuances, ary ny famokarana ihany no hampiseho ny marina.

Fandikan-teny nomanin'ny ekipan'ny sehatra rahona Mail.ru Cloud Solutions.

Bebe kokoa momba an'i Kubernetes: 25 Fitaovana mahasoa amin'ny fitantanana sy fametrahana vondron'olona.

Source: www.habr.com

Add a comment