E toʻatele tagata e manatu ua lava le tuʻuina atu o le talosaga i Kubernetes (pe faʻaaoga Helm poʻo le lima) - ma o le ai ai le fiafia. Ae le o mea uma e matua faigofie.
au Mail.ru Cloud Solutions faaliliuina se tala a DevOps inisinia Julian Gindy. Na te taʻu mai mea faʻalavelave na feagai ma lana kamupani i le faagasologa o femalagaiga ina ia e le laa i luga o le rake tutusa.
Laasaga Muamua: Seti Talosaga Pod ma Tapulaa
Tatou amata i le fa'atulagaina o se si'osi'omaga mama e fa'amomoe ai a tatou pods. E lelei tele Kubernetes i le faatulagaina o le pod ma le failover. Ae na foliga mai o nisi taimi e le mafai e le tagata faʻatulagaina se pusa pe a faigata ona faʻatusatusa le tele o punaoa e manaʻomia e galue manuia ai. O iina e oso a'e ai talosaga mo punaoa ma tapula'a. E tele felafolafoaiga e uiga i le auala sili e faʻatulagaina ai talosaga ma tapulaʻa. O nisi taimi e foliga mai e sili atu lenei mea o se faatufugaga nai lo se faasaienisi. O la tatou auala lenei.
Pod talosaga o le tau autu lea e faʻaaogaina e le faʻatulagaina e tuʻu lelei ai le pod.
Mai Kubernetes pepa aloaia: O le laasaga faamama e faʻamatalaina ai se seti o nodes e mafai ona faʻatulagaina se Pod. Mo se fa'ata'ita'iga, e siaki e le PodFitsResources faamama e va'ai pe ua lava alagaoa i se node e fa'amalieina ai mana'oga fa'apitoa mai se pod.
Matou te faʻaogaina talosaga talosaga i se auala e mafai ai ona matou faʻatatauina le tele o punaoa i le mea moni E mana'omia e le talosaga ina ia galue lelei. O le auala lea e mafai ai e le tagata fa'atulagaina ona tu'u moni nodes. I le taimi muamua, matou te manaʻo e sili atu le faʻatulagaina o talosaga e faʻamautinoa ai le lava o punaoa mo Pod taʻitasi, ae na matou matauina le faʻatupulaia o le taimi faʻatulagaina, ma o nisi Pods e leʻi faʻatulagaina atoatoa, e pei e leai ni punaoa mo latou.
I lenei tulaga, e masani ona "oomi" e le tagata faʻatulagaina ia pods ma e le mafai ona toe faʻatulagaina aua e leʻi iloa e le vaalele faʻatonutonu le tele o punaoa e manaʻomia e le talosaga, o se vaega autu o le faʻatulagaina algorithm.
Pod tapula'a ose tapulaa manino mo se pod. O lo'o fa'atusalia ai le aofa'i maualuga o puna'oa o le a fa'asoa e le fuifui i le koneteina.
Toe foi, mai pepa aloaia: Afai o se atigipusa o loʻo i ai se tapulaa manatua o le 4 GiB, ona faʻamalosia lea e le kubelet (ma le taimi faʻatulagaina o pusa). O le taimi fa'atino e taofia ai le koneteina mai le fa'aogaina o mea e sili atu nai lo le fa'atapula'a o puna'oa. Mo se faʻataʻitaʻiga, pe a taumafai se faʻagasologa i totonu o se atigipusa e faʻaoga sili atu nai lo le aofaʻi o manatuaga faʻatagaina, e faʻamutaina e le fatu o le polokalama le faʻagasologa ma se mea sese "le manatua" (OOM).
E mafai e se koneteina ona fa'aoga i taimi uma le tele o puna'oa nai lo le mea o lo'o fa'amaoti mai e le mana'oga, ae e le mafai lava ona fa'aoga sili atu nai lo le tapula'a. O lenei tau e faigata ona seti saʻo, ae e taua tele.
O le mea e sili ona lelei, matou te mananaʻo e suia le manaʻoga o punaoa i le taimi o le olaga o se gaioiga e aunoa ma le faʻalavelave i isi gaioiga i totonu o le faiga - o le faʻamoemoega lea o le faʻatulagaina o tapulaʻa.
Ae paga lea, e le mafai ona ou tuʻuina atu ni faʻatonuga faʻapitoa i mea taua e faʻatutu, ae matou te usitaʻia tulafono nei:
I le faʻaaogaina o se meafaigaluega suʻega uta, matou te faʻataʻitaʻiina se tulaga faʻavae o feoaiga ma mataʻituina le faʻaogaina o punaoa pod (manatua ma le gaosiga).
Seti talosaga pod i se tau maualalo (fa'atapula'a puna'oa e tusa ma le 5 taimi le tau o talosaga) ma matau. A o'o i lalo ole tulaga ole talosaga, e le mafai ona amata le fa'agaioiga, e masani ona fa'atupu ai fa'aletonu le taimi e alu ai ile taimi.
Ou te maitauina o tapula'a maualuga e fa'afaigata ai le fa'atulagaina ona e mana'omia e le pod se node fa'atatau ma lava punaoa o lo'o avanoa.
Va'ai faalemafaufau i se tulaga e iai sau 'upega tafaʻilagi mama ma se faʻatapulaʻa punaoa maualuga, pei o le 4 GB o le manatua. O lenei faiga o le a mana'omia le fa'asala'i fa'alava, ma e mana'omia fo'i le fa'atulagaina o pusa fou ta'itasi i luga o se pona ma le itiiti ifo i le 4 GB o le manatua avanoa. Afai e leai se pona fa'apea, e tatau i le fuifui ona fa'aofi mai se pona fou e fa'agasolo ai lenei po, e ono umi se taimi. E taua tele le ausia o se eseesega laʻititi i le va o manaʻoga punaoa ma tapulaʻa e faʻamautinoa ai le vave ma le sologa lelei o le fua.
Laasaga Lua: Seti Su'ega Ola ma Sauniuni
O le isi lea mataupu maaleale e masani ona talanoaina i le nuu o Kubernetes. E taua le i ai o se malamalama lelei i su'ega Liveness ma le Sauniuni aua latou te maua ai se masini mo le fa'aogaina mautu o le polokalama ma fa'aitiitia le ta'ilalo. Ae ui i lea, e mafai ona latou a'afia ai le fa'atinoga o lau talosaga pe a le sa'o le fa'atulagaina. O lo'o i lalo se aotelega o mea ia e lua.
Ola fa'aalia pe o tamo'e le koneteina. Afai e le manuia, e tape e le kubelet le atigipusa ma mafai ai ona toe amata le faiga. Afai e le faʻapipiʻiina le atigipusa i se Liveness Probe, o le tulaga faʻaletonu o le a manuia - e pei ona taʻua i totonu Kubernetes pepa aloaia.
O su'esu'ega Liveness e tatau ona taugofie, o lona uiga e le fa'aaogaina le tele o punaoa, aua latou te tamomoe soo ma e tatau ona logoina Kubernetes o loʻo faʻaogaina le talosaga.
Afai e te setiina le filifiliga e tamoe i sekone taʻitasi, o le a faʻaopoopoina le 1 talosaga i le sekone, o lea ia nofouta o le a manaʻomia nisi punaoa e faʻatautaia ai lenei fefaʻatauaiga.
I la matou kamupani, Liveness suʻega suʻega vaega autu o se talosaga, e tusa lava pe le maua atoatoa faʻamatalaga (mo se faʻataʻitaʻiga, mai se faʻamaumauga mamao poʻo le cache).
Ua matou faʻatulagaina se "soifua maloloina" pito iʻuga i talosaga e naʻo le toe faʻafoʻi mai o se tali tali 200. O se faʻaaliga lea o loʻo faʻagasolo le faagasologa ma mafai ona faʻatautaia talosaga (ae leʻo feoaiga).
Faataʻitaʻiga Tatala fa'ailoa mai pe ua sauni le koneteina e tu'uina atu talosaga. Afai e le manuia le su'esu'ega sauniuni, e aveese e le pule fa'ai'uga le tuatusi IP o le pod mai pito pito o auaunaga uma e fetaui ma le pod. O loʻo taʻua foi lea i le Kubernetes faʻamaumauga.
O su'esu'ega sauniuni e fa'aaoga atili punaoa, aua e tatau ona latou taia le pito i tua i se auala e fa'aalia ai ua sauni le talosaga e talia talosaga.
E tele felafolafoaiga i totonu o le alalafaga pe tatau ona maua saʻo le database. Mafaufau i luga ole ulu (o siaki e masani, ae e mafai ona pulea), na matou filifili mo nisi o talosaga, o le sauni e tautua fefaʻatauaʻiga e naʻo le faitauina pe a maeʻa le siakiina o faʻamaumauga e toe faʻafoʻi mai le database. O fa'ata'ita'iga sauniuni lelei na fa'amautinoa ai le maualuga o le avanoa ma fa'aitiitia ai taimi fa'aletonu i le taimi o le fa'atinoina.
Afai e te filifili e fesiligia le database e suʻe ai le sauni o lau talosaga, ia mautinoa e taugofie pe a mafai. Se'i o tatou fai lenei fesili:
SELECT small_item FROM table LIMIT 1
O se faʻataʻitaʻiga lea o le faʻaogaina o nei tulaga taua e lua i Kubernetes:
E mafai ona e fa'aopoopo nisi fa'aopoopo filifiliga fa'aopoopo:
initialDelaySeconds - o le a le tele o sekone e alu i le va o le faʻalauiloaina o le pusa ma le amataga o le faʻalauiloaina o suʻega.
periodSeconds - taimi faʻatali i le va o faʻataʻitaʻiga taʻavale.
timeoutSeconds - le numera o sekone pe a maeʻa ona manatu le pod o se faʻalavelave faʻafuaseʻi. Taimi masani.
failureThreshold o le numera o su'ega fa'aletonu a'o le'i tu'uina atu se fa'ailoga toe amata i le pod.
successThreshold o le numera o su'ega manuia a'o le'i suia le pod i le tulaga sauni (ina ua le manuia pe a amata pe toe fa'aola le pa).
Laasaga Lona Tolu: Fa'atulagaina o Faiga Fa'atonu a le Pod
O le Kubernetes o loʻo i ai se faʻafanua "faʻasalalau" fesoʻotaʻiga, e ala i le le mafai ona fesoʻotaʻi saʻo uma pods ma isi. I nisi tulaga e le mana'omia.
O se fa'afitauli saogalemu o le mafai lea e se tagata osofa'i ona fa'aogaina se talosaga fa'aletonu se tasi e lafo ai fefa'ataua'iga i pods uma i luga ole feso'otaiga. E pei o le tele o vaega o le saogalemu, o le mataupu faavae o le itiiti ifo avanoa e faʻaaoga iinei. O le tulaga lelei, e tatau ona fa'ailoa manino mai e faiga fa'avae feso'ota'iga po'o fea feso'ota'iga i le va o pods e fa'atagaina ae o fea e le.
Mo se faʻataʻitaʻiga, o loʻo taua i lalo o se faiga faʻavae faigofie e faʻafitia uma fefaʻatauaiga o loʻo oʻo mai mo se igoa faʻapitoa:
Laasaga Fa: Amioga Fa'apitoa ma Matau ma Init Containers
O se tasi o matou sini autu o le tuʻuina atu lea o faʻataʻitaʻiga i Kubernetes e aunoa ma se taimi malolo mo tagata atiaʻe. E faigata lenei mea ona e tele filifiliga mo le tapunia o talosaga ma tuʻuina atu a latou punaoa faʻaaogaina.
Na tulai mai ni faigata faapitoa Nginx. Na matou matauina pe a faʻapipiʻi nei Pods i le faʻasologa, o fesoʻotaʻiga malosi na faʻalavelaveina aʻo leʻi maeʻa manuia.
Ina ua maeʻa suʻesuʻega tele i luga ole Initaneti, na faʻaalia ai e le faʻatali Kubernetes mo fesoʻotaʻiga Nginx e faʻavaivaia i latou lava aʻo leʻi tapunia le pod. Faatasi ai ma le fesoasoani a le matau muai taofi, na matou faʻatinoina galuega nei ma faʻaumatia atoa le taimi faʻaletonu:
#!/bin/bash
sleep 3
PID=$(cat /run/nginx.pid)
nginx -s quit
while [ -d /proc/$PID ]; do
echo "Waiting while shutting down nginx..."
sleep 10
done
O le isi faʻataʻitaʻiga sili ona aoga o le faʻaogaina o pusa init e faʻatautaia ai le faʻalauiloaina o talosaga faʻapitoa. E aoga tele lenei mea pe afai o loʻo i ai sau faʻagasologa o faʻamaumauga faʻamaumauga e manaʻomia tele e tatau ona faʻatautaia aʻo leʻi amataina le talosaga. E mafai fo'i ona e fa'amaoti se tapula'a maualuga a'oa'oga mo lenei faiga e aunoa ma le fa'atulagaina o sea tapula'a mo le talosaga autu.
O le isi faiga masani o le mauaina o mealilo i totonu o le atigipusa init, lea e tuʻuina atu ai nei faʻamaoniga i le module autu, lea e taofia ai le le faʻatagaina avanoa i mealilo mai le faʻaoga autu autu lava ia.
E pei ona masani ai, o se upusii mai le faʻamaumauga: init containers o lo'o fa'agasolo saogalemu le fa'aoga code po'o mea fa'aoga e ono afaina ai le saogalemu o le ata o le pusa talosaga. E ala i le tu'u'ese'ese o meafaigaluega e le mana'omia, e te fa'atapula'aina le osofa'iga o le ata o le pusa o le talosaga.
Laasaga Lima: Kernel Configuration
Mulimuli ane, sei o tatou talanoa e uiga i se metotia sili atu ona maualuga.
O le Kubernetes ose fa'atonuga sili ona fetu'una'i e mafai ai ona e fa'atino galuega mamafa e tusa lava pe e te mana'o e fetaui. E i ai a matou numera o talosaga sili ona lelei e matua'i fa'atumauina a'oa'oga. Ina ua mae'a le su'ega tele o uta, na matou iloa ai o se tasi o talosaga sa faigata ona fa'afetaui le uta fa'amoemoeina o femalagaiga pe a fa'agaoioi le fa'aletonu Kubernetes.
Ae ui i lea, o Kubernetes e faʻatagaina oe e faʻatautaia se pusa faʻapitoa e naʻo le suia o faʻamaufaʻailoga fatu mo se pod patino. O le mea lea na matou faʻaaogaina e sui ai le numera maualuga o fesoʻotaʻiga tatala:
O se metotia sili atu ona maualuga lea e masani ona le manaʻomia. Ae afai o lau talosaga o loʻo tauivi e taulimaina se avega mamafa, e mafai ona e taumafai e faʻapipiʻi nisi o nei tulaga. O nisi faʻamatalaga e uiga i lenei faʻagasologa ma le faʻatulagaina o tulaga taua - pei o taimi uma i le pepa aloaia.
I le faaiuga
E ui o Kubernetes e foliga mai o se fofo i fafo atu o le pusa, o loʻo i ai nai laasaga autu e tatau ona faia e faʻatumauina ai talosaga e sologa lelei.
I le taimi atoa o femalagaiga i Kubernetes, e taua le mulimuli i le "taʻamilosaga suʻega uta": faʻatautaia le talosaga, faʻataʻitaʻi i lalo o le uta, mataʻituina le fuaina ma le faʻavasegaina o amioga, fetuunai le faʻatulagaga e faʻavae i luga o nei faʻamatalaga, ona toe fai lea o lenei taamilosaga.
Ia fa'amaoni i felauaiga fa'amoemoeina ma taumafai e alu i tua atu e va'ai po'o fea vaega e malepe muamua. Faatasi ai ma lenei faiga faifaipea, na o ni nai fautuaga o loʻo lisiina atonu e lava e ausia ai le manuia. Pe atonu e manaʻomia ai le faʻavasegaina loloto atili.
Fesili ifo ia te oe lava i fesili nei:
E fia ni alagaoa e fa'aaoga e tusi talosaga ma fa'apefea ona suia lea aofa'iga?
O a mea e mana'omia mo le fuaina? O le a le tele o feoaiga o le a taulimaina e le app i le averesi? Ae faapefea feoaiga maualuga?
O le a le tele o taimi e manaʻomia ai le faʻalauteleina o le auaunaga? O le a le vave e manaʻomia ai le faʻaogaina o pusa fou e maua ai feoaiga?
O le a le matagofie o le tapunia o pods? Pe e tatau lava? E mafai ona ausia le faʻapipiʻiina e aunoa ma se taimi malolo?
E fa'afefea ona fa'aitiitia tulaga lamatia ma fa'atapula'aina le fa'aleagaina mai so'o se pusa fa'aletonu? E iai ni au'aunaga e iai fa'atagaga po'o avanoa latou te le mana'omia?
Kubernetes e tuʻuina atu se tulaga mataʻina e mafai ai ona e faʻaogaina faiga sili ona lelei e faʻapipiʻi ai le faitau afe o auaunaga i totonu o se fuifui. Ae peitai, o talosaga uma e eseese. O nisi taimi o le faʻatinoga e manaʻomia ai sina galuega sili atu.
O le mea e lelei ai, e saunia e Kubernetes tulaga talafeagai e ausia ai sini faʻapitoa uma. I le fa'aogaina o le tu'ufa'atasiga o mana'oga ma tapula'a, su'esu'ega o le Liveness ma le Sauniuni, koneteina init, faiga fa'akomepiuta, ma le fa'alogoina o fatu masani, e mafai ona e ausia le fa'atinoga maualuga fa'atasi ai ma le fa'apalepale fa'aletonu ma fa'avavevave fa'asao.