{"id":33773,"date":"2019-10-31T21:54:36","date_gmt":"2019-10-31T18:54:36","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rezervirovanie-v-kubernetes-ono-sushhestvuet\/"},"modified":"2019-10-31T21:54:36","modified_gmt":"2019-10-31T18:54:36","slug":"rezervirovanie-v-kubernetes-ono-sushhestvuet","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/rezervirovanie-v-kubernetes-ono-sushhestvuet","title":{"rendered":"Rezerv\u0113\u0161ana Kubernetes: t\u0101 past\u0101v","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Mani sauc Sergejs, esmu no ITSumma, un es v\u0113los jums past\u0101st\u012bt, k\u0101 m\u0113s pieejam rezerves kop\u0113\u0161anai Kubernetes. P\u0113d\u0113j\u0101 laik\u0101 es daudz str\u0101d\u0101ju konsult\u0101ciju jom\u0101, ievie\u0161ot da\u017e\u0101dus devops risin\u0101jumus da\u017e\u0101d\u0101m komand\u0101m, un, jo \u012bpa\u0161i, str\u0101d\u0101ju pie projektiem, kuros tiek izmantots K8s. Uptime day 4 konferenc\u0113, kas bija velt\u012bta rezerves kop\u0113\u0161anai sare\u017e\u0123\u012bt\u0101s arhitekt\u016br\u0101s, es sniedzu prezent\u0101ciju par \u201ekubika\u201d rezerv\u0113\u0161anu, un \u0161eit ir t\u0101s br\u012bva interpret\u0101cija. T\u016bl\u012bt gribu br\u012bdin\u0101t, ka tas nav tie\u0161s r\u012bkojuma ce\u013cvedis, bet dr\u012bz\u0101k kopums p\u0101rdomu par nor\u0101d\u012bto t\u0113mu.<\/p>\n<p><img decoding=\"async\" alt=\"Rezerv\u0113\u0161ana Kubernetes: t\u0101 past\u0101v\" src=\"\/wp-content\/uploads\/2019\/05\/4797b240a8e9fd4bbbce4370b9b44108.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrincip\u0101 monitorings un rezerves kop\u0113\u0161ana ir divi galvenie r\u012bki, lai palielin\u0101tu jebkura projekta notur\u012bbu. Bet, j\u016bs teiksiet, ka Kubernetes viss tiek automatiz\u0113ts, viss tiek piel\u0101gots, un, ja kaut kas notiks \u2014 tas pats uzk\u0101ps... T\u0101tad, veicot virspus\u0113ju izp\u0113ti par \u0161o t\u0113mu, uz jaut\u0101jumu, k\u0101 ikviens pieiet K8s rezerves kop\u0113\u0161anai, internets man atbild\u0113ja \u201ek\u0101p\u0113c?\u201d Daudzi dom\u0101, ka Kubernetes ir kaut kas ma\u0123isks, kas atbr\u012bvo no vis\u0101m infrastrukt\u016bras probl\u0113m\u0101m un nodro\u0161ina, ka projekts nekad nenokrit\u012bs. Bet\u2026 pasaule nav t\u0101da, k\u0101 \u0161\u0137iet.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nK\u0101 m\u0113s pieej\u0101m rezerves kop\u0113\u0161anas procesam iepriek\u0161? Mums bija identiskas vietas izvieto\u0161anai \u2014 vai nu virtu\u0101las ma\u0161\u012bnas, vai ar\u012b fiziskas. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/lv\/server\/\"   title=\"serverus\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1830\">serverus<\/a>, kur m\u0113s izmantoj\u0101m tr\u012bs pamata prakses: <\/p>\n<ol>\n<li>koda un statisk\u0101s inform\u0101cijas sinhroniz\u0101cija<\/li>\n<li>konfigur\u0101ciju sinhroniz\u0101cija<\/li>\n<li>datub\u0101zes replik\u0101cija<\/li>\n<\/ol>\n<p>\nUn voila: jebkur\u0101 br\u012bd\u012b m\u0113s p\u0101rsl\u0113dzamies uz rezerves izvietojumu, visi ir apmierin\u0101ti, m\u0113s piece\u013camies un izkl\u012bstam. <\/p>\n<p><img decoding=\"async\" alt=\"Rezerv\u0113\u0161ana Kubernetes: t\u0101 past\u0101v\" src=\"\/wp-content\/uploads\/2019\/05\/4c2164d4469efb7ebbfe9c02970d7ae9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nKo mums pied\u0101v\u0101, lai palielin\u0101tu m\u016bsu Kubernetes lietojuma pieejam\u012bbu? Pirmais, par ko run\u0101 neofici\u0101l\u0101 dokument\u0101cija, ir daudz ma\u0161\u012bnu izvieto\u0161ana un daudz meistaru izveide \u2014 to skaitam j\u0101b\u016bt atbilsto\u0161am kvoruma sasnieg\u0161anai iek\u0161\u0113jiem klaster\u012b, un katram meistaram j\u0101b\u016bt uzst\u0101d\u012btam etcd, API, MC, scheduler\u2026 Un \u0161\u0137iet, ka viss ir fantastiski: ja daudzas darba mezgls vai meistari iziet no ierindas, m\u016bsu klasteris p\u0101rbalancejas, un lietojums turpin\u0101s darboties. Atkal izskat\u0101s p\u0113c burv\u012bbas! Ta\u010du bie\u017ei m\u016bsu klasteris atrodas vien\u0101 datu centr\u0101, un tas var rad\u012bt noteiktus jaut\u0101jumus. Ko dar\u012bt, ja ierodas ekskavators un izrok kabeli, ja zibens tr\u0101pa, ja notiek visp\u0101r\u0113js pl\u016bds? Viss ir saboj\u0101ts, m\u016bsu klastera vairs nav. K\u0101 piev\u0113rsties rezerv\u0113m, \u0146emot v\u0113r\u0101 \u0161o probl\u0113mas aspektu? <\/p>\n<p>Pirmk\u0101rt, jums j\u0101b\u016bt v\u0113l vienam klasterim karstaj\u0101 rezerves st\u0101vokl\u012b, t\u0101tad klasterim, uz kuru varat p\u0101rsl\u0113gties jebkur\u0101 br\u012bd\u012b. Turkl\u0101t no Kuberna viedok\u013ca infrastrukt\u016brai j\u0101b\u016bt piln\u012bgi identiskai. Tas noz\u012bm\u0113, ka, ja ir k\u0101di nestandarta spraud\u0146i failu sist\u0113mas darb\u012bbai vai piel\u0101gotas iek\u013cau\u0161anas risin\u0101jumi, tie j\u0101b\u016bt piln\u012bgi identiskiem j\u016bsu divos (vai trijos, vai desmit, cik nu pietiek naudas un administratoru sp\u0113ka) klasteros. Ir nepiecie\u0161ams skaidri noteikt divus lietojumu komplektus (deployment, statefulset, daemonset, cronjob u.tml.): kuri no tiem var darboties rezerves re\u017e\u012bm\u0101 past\u0101v\u012bgi un kuri ir lab\u0101k nes\u0101kt l\u012bdz tie\u0161ai p\u0101rsl\u0113g\u0161anai. <\/p>\n<p>Vai m\u016bsu rezerves klasterim j\u0101b\u016bt piln\u012bgi identiskam m\u016bsu ra\u017eo\u0161anas klasterim? N\u0113. Ja agr\u0101k, str\u0101d\u0101jot ar monol\u012bta projektiem un aparat\u016bras infrastrukt\u016bru, m\u0113s uztur\u0113j\u0101m praktiski piln\u012bgi identisku vidi, tad, str\u0101d\u0101jot ar Kubernetiem, es uzskatu, ka tam t\u0101 nedr\u012bkst b\u016bt. Apskat\u012bsim, k\u0101p\u0113c.<\/p>\n<p>Piem\u0113ram, s\u0101ksim ar pamatelementiem Kubernetes \u2014 deployments \u2014 tiem j\u0101b\u016bt identiskiem. J\u0101b\u016bt palaist\u0101m lietotn\u0113m, kas jebkur\u0101 laik\u0101 var p\u0101r\u0146emt trafika apstr\u0101di un \u013caut m\u016bsu projektam turpin\u0101t dz\u012bvot. Ja run\u0101jam par konfigur\u0101cijas failiem, tad \u0161eit j\u0101noskaidro, vai tiem j\u0101b\u016bt identiskiem vai n\u0113. Proti, ja m\u0113s, gudrie cilv\u0113ki, nelietojam nek\u0101das aizliegtas vielas un neuzglab\u0101jam datu b\u0101zi K8s, tad m\u016bsu configmaps j\u0101b\u016bt ar piek\u013cuves iestat\u012bjumiem uz ra\u017eo\u0161anas datu b\u0101zi (kuras rezerves process uzb\u016bv\u0113ts atsevi\u0161\u0137i). T\u0101d\u0113j\u0101di, lai nodro\u0161in\u0101tu piek\u013cuvi rezerves datu b\u0101zes instancei, mums j\u0101b\u016bt atsevi\u0161\u0137am konfigur\u0101cijas failam (configmap). Tie\u0161i t\u0101pat m\u0113s str\u0101d\u0101jam ar\u012b ar secret'iem: parol\u0113m piek\u013cuvei datu b\u0101zei, API atsl\u0113g\u0101m; jebkur\u0101 laik\u0101 var darboties vai nu ra\u017eojuma secrets, vai rezerves. Kopum\u0101 mums jau ir divi Kubernetes elementi, kuru rezerves versij\u0101m nevajadz\u0113tu b\u016bt identisk\u0101m ra\u017eo\u0161anas versij\u0101m. N\u0101kamais elements, uz kura j\u0101piev\u0113r\u0161 uzman\u012bba, ir cronjob. Cronjob'i rezerves variant\u0101 nek\u0101d\u0101 gad\u012bjum\u0101 nedr\u012bkst b\u016bt identiski ra\u017eo\u0161anas klastera cronjob'u kopumam! Ja m\u0113s izveidojam rezerves klasteri un to palaid\u012bsim piln\u012bgi ar visiem iesl\u0113gtiem cronjob'iem \u2014 piem\u0113ram, cilv\u0113ki sa\u0146ems divas v\u0113stules vienlaikus viet\u0101 viena. Vai ar\u012b k\u0101da datu sinhroniz\u0101cija ar \u0101r\u0113jiem avotiem notiks divreiz, attiec\u012bgi m\u0113s s\u0101kam slimot, raud\u0101t, kliegt un lam\u0101ties. <\/p>\n<p><img decoding=\"async\" alt=\"Rezerv\u0113\u0161ana Kubernetes: t\u0101 past\u0101v\" src=\"\/wp-content\/uploads\/2019\/05\/38be6370f08d75e5c48bce7b4304e861.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nUn k\u0101 mums pied\u0101v\u0101 organiz\u0113t rezerv\u0113jo\u0161o klasteri cilv\u0113ki no interneta? Otra popul\u0101r\u0101k\u0101 atbilde p\u0113c \"k\u0101p\u0113c?\" \u2014 Kubernetes Federation izmanto\u0161ana. <\/p>\n<p>Kas tas ir? Tas, teiksim t\u0101, ir liels meta-kleris. Ja m\u0113s iedom\u0101jamies kuberu arhitekt\u016bru \u2014 kur mums ir m\u0101steris un vair\u0101ki mezgli \u2014 tad no feder\u0101cijas viedok\u013ca mums ar\u012b ir m\u0101steris un vair\u0101ki mezgli, tikai katrs mezgls ir atsevi\u0161\u0137s klasteris. T\u0101tad, m\u0113s str\u0101d\u0101jam ar t\u0101m pa\u0161\u0101m vien\u012bb\u0101m un taj\u0101m pa\u0161\u0101m primitivam, k\u0101 ar vienu kuberu, tikai m\u0113s neizmantojam tagad m\u016bsu fizisk\u0101s ma\u0161\u012bnas, bet veselas klasterus. Feder\u0101cijas ietvaros mums ir piln\u012bga feder\u0101cijas resursu sinhroniz\u0101cija no vec\u0101kiem uz p\u0113cn\u0101c\u0113jiem. Piem\u0113ram, ja m\u0113s izs\u0101ksim k\u0101du izvietojumu caur feder\u0101ciju \u2014 tas tiks izsviests uz katru m\u016bsu b\u0113rnu klasteri. Ja m\u0113s \u0146emam k\u0101du configmap, nosl\u0113pumu, un izplat\u0101m to feder\u0101cij\u0101 \u2014 tas izplat\u012bsies visos m\u016bsu b\u0113rnu klasteros; un, \u0161aj\u0101 laik\u0101 feder\u0101cija \u013cauj piel\u0101got m\u016bsu resursus b\u0113rniem. T\u0101tad m\u0113s pa\u0146\u0113m\u0101m k\u0101du configmap, izplat\u012bj\u0101m to caur feder\u0101ciju un tad, ja mums kaut kas j\u0101labo konkr\u0113tos klasteros, m\u0113s dodamies labot uz atsevi\u0161\u0137u klasteri, un \u0161is labojums vairs nek\u0101d\u0101 veid\u0101 nesinhroniz\u0113sies. <\/p>\n<p>Kubernetes feder\u0101cija ir jaun\u0101ka r\u012bku, kas atbalsta ne visus resursus, ko pied\u0101v\u0101 pats K8s: dokument\u0101cijas s\u0101kumversij\u0101 tika teikts, ka tiek atbalst\u012bti tikai konfigur\u0101ciju kartes, izvietojums replik\u0101cijas kop\u0101, un ieeja. Slepenie dati un darbs ar apjomu netika atbalst\u012bts. Taj\u0101 ir p\u0101r\u0101k ierobe\u017eots komplekts. It \u012bpa\u0161i, ja mums pat\u012bk eksperiment\u0113t, piem\u0113ram, izmantojot custom resource definition, lai nodotu savus resursus kubernetes, feder\u0101cij\u0101 tiem vairs nav vietas. Tas noz\u012bm\u0113, ka... tas ir \u013coti l\u012bdz\u012bgs paties\u012bbai risin\u0101jums, bet liks mums periodiski sev saboj\u0101t dz\u012bvi. No otras puses, feder\u0101cija \u013cauj elast\u012bgi p\u0101rvald\u012bt m\u016bsu replik\u0101cijas kopu. Piem\u0113ram, m\u0113s v\u0113lamies, lai m\u016bsu lietotne darbotos ar 10 replik\u0101m, feder\u0101cija pa noklus\u0113jumu sadal\u012bs \u0161o skaitli proporcion\u0101li starp klasteriem. Un to visu var konfigur\u0113t! M\u0113s varam nor\u0101d\u012bt, ka ra\u017eo\u0161anas klaster\u012b j\u0101uztur 6 m\u016bsu lietotnes replikas, bet rezerves klaster\u012b, resursu ekonomijai vai m\u016bsu pa\u0161u izpriec\u0101m - tikai 4 m\u016bsu lietotnes replikas. Tas ir diezgan \u0113rti. Bet ar feder\u0101ciju mums ir j\u0101izmanto jauni risin\u0101jumi, j\u0101deploina kaut kas uz vietas, j\u0101dom\u0101 nedaudz vair\u0101k... <\/p>\n<p>Vai ir iesp\u0113jams pieiet Kubernetes rezerves izveido\u0161anas procesam krietni vienk\u0101r\u0161\u0101k? K\u0101di r\u012bki mums visp\u0101r ir pieejami?<\/p>\n<p>Pirmk\u0101rt, mums vienm\u0113r ir k\u0101da ci\/cd sist\u0113ma, t\u0101tad m\u0113s neejam uz serveriem un neizpildam create\/apply manu\u0101li. Sist\u0113ma \u0123ener\u0113 yaml failus m\u016bsu konteineriem. <\/p>\n<p>Otrk\u0101rt, ir vair\u0101ki klasteri, mums ir vai nu viens, vai vair\u0101ki (ja m\u0113s esi gudri) registry, kas ar\u012b tiek rezerv\u0113ti. Un ir br\u012bni\u0161\u0137\u012bga util\u012bta kubectl, kas var darboties ar vair\u0101kiem klasteriem vienlaikus. <\/p>\n<p><img decoding=\"async\" alt=\"Rezerv\u0113\u0161ana Kubernetes: t\u0101 past\u0101v\" src=\"\/wp-content\/uploads\/2019\/05\/e4276c4d5bf4dfd9e3abe7210e345343.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nProti, mana skat\u012bjum\u0101, visvienk\u0101r\u0161\u0101kais un pareiz\u0101kais risin\u0101jums rezerves klastera izveidei ir primit\u012bv\u0101 paral\u0113l\u0101 izvieto\u0161ana. Ir k\u0101ds pipelines ci\/cd sist\u0113m\u0101; vispirms b\u016bv\u0113jam savus konteinerus, test\u0113jam un izvietojam lietojumprogrammas caur kubectl uz vair\u0101kiem neatkar\u012bgiem klasteriem. M\u0113s varam veidot vienlaic\u012bgas izvietojumus uz vair\u0101kiem klasteriem. Attiec\u012bgi, konfigur\u0101ciju pieg\u0101di m\u0113s ar\u012b risin\u0101m \u0161aj\u0101 posm\u0101. Varam iepriek\u0161 noteikt konfigur\u0101ciju komplektu m\u016bsu ra\u017eo\u0161anas klasterim, komplektu konfigur\u0101ciju rezerves klasterim un ci\/cd sist\u0113mas l\u012bmen\u012b izvietot ra\u017eo\u0161anas vidi ra\u017eo\u0161anas klaster\u012b, bet rezerves vidi - rezerves klaster\u012b. Sal\u012bdzin\u0101jum\u0101 ar feder\u0101ciju, nav nepiecie\u0161ams p\u0113c federat\u012bv\u0101 resursa defin\u0113\u0161anas apmekl\u0113t katru apak\u0161klasteri un kaut ko p\u0101rrakst\u012bt. M\u0113s to izdar\u012bj\u0101m iepriek\u0161. M\u0113s esam t\u0101di varo\u0146i.<\/p>\n<p>Bet... ir... es biju rakst\u012bjis, ka ir \u00abvisa \u013caunuma sakne\u00bb, bet paties\u012bb\u0101 t\u0101s ir divas. Pirmk\u0101rt, failu sist\u0113ma. Ir k\u0101ds PV, vai m\u0113s izmantojam \u0101r\u0113ju glab\u0101\u0161anu. Ja m\u0113s uzglab\u0101jam failus klaster\u012b, tad j\u0101seko vecaj\u0101m praks\u0113m, kas paliku\u0161as no dzel\u017eain\u0101m infrastrukt\u016br\u0101m: piem\u0113ram, sinhroniz\u0113t ar lsync. Nu vai jebkuru citu jums person\u012bgi iecien\u012btu pagaidu risin\u0101jumu. Izplata visu uz cit\u0101m ma\u0161\u012bn\u0101m un dz\u012bvo.<\/p>\n<p>Otrk\u0101rt, un, paties\u012bb\u0101, pat svar\u012bg\u0101kais \u0161\u0137\u0113rslis \u2014 datub\u0101ze. Ja m\u0113s esam inteli\u0123enti cilv\u0113ki un neuzglab\u0101jam datub\u0101zi kuber\u0101, tad datu rezerves saglab\u0101\u0161anas process notiek p\u0113c t\u0101s pa\u0161as vec\u0101s sh\u0113mas \u2014 master-slave replik\u0101cija, p\u0113c tam p\u0101rsl\u0113g\u0161ana, replik\u0101ciju pan\u0101ksim un dz\u012bvosim labi. Bet, ja m\u0113s tur\u0113sim m\u016bsu DB iek\u0161\u0101 klaster\u012b, tad princip\u0101 ir daudz gatavu risin\u0101jumu \u0161\u0101das master-slave replik\u0101cijas organiz\u0113\u0161anai, daudz risin\u0101jumu datub\u0101zes uzst\u0101d\u012b\u0161anai iek\u0161\u0101 kuber\u0101. <br \/>\n Par datub\u0101zu rezerves saglab\u0101\u0161anu jau ir izlas\u012bti miljons zi\u0146ojumu, uzrakst\u012bti miljons rakstu, \u0161eit paties\u012bb\u0101 nekas jauns nav nepiecie\u0161ams. Kopum\u0101, sekojiet savai sap\u0146iem, dz\u012bvojiet k\u0101 v\u0113laties, izdom\u0101jiet ar\u012b savus sare\u017e\u0123\u012btus risin\u0101jumus, bet noteikti apsveriet, k\u0101 j\u016bs visu to rezerv\u0113siet.<\/p>\n<p>Tagad run\u0101sim par to, k\u0101 m\u016bsu gad\u012bjum\u0101 notiks p\u0101rejas process uz rezerves vietni ugunsgr\u0113ka gad\u012bjum\u0101. Pirmk\u0101rt, m\u0113s paral\u0113li izvietojam stateless lietojumprogrammas. T\u0101s neietekm\u0113 m\u016bsu lietojumprogrammu biznesa lo\u0123iku, m\u016bsu projektu, m\u0113s varam past\u0101v\u012bgi tur\u0113t divus palai\u0161anas lietojumprogrammu komplektus, un tie var s\u0101kt sa\u0146emt trafiku. \u013boti svar\u012bgi p\u0101rejas proces\u0101 uz rezerves vietni ir oblig\u0101ti p\u0101rbaud\u012bt \u2014 vai ir nepiecie\u0161ams p\u0101rrakst\u012bt konfigur\u0101cijas? Piem\u0113ram, mums ir ra\u017eo\u0161anas Kubernetes klasters, ir rezerves Kubernetes klasters, ir \u0101r\u0113j\u0101 datu b\u0101ze master, ir rezerves datu b\u0101ze master. Mums ir \u010detri varianti, k\u0101 \u0161ie lietojumi ra\u017eo\u0161an\u0101 var s\u0101kt savstarp\u0113ji sadarboties. Mums var p\u0101riet datu b\u0101ze, un izr\u0101d\u012bsies, ka ra\u017eo\u0161anas klaster\u012b ir j\u0101p\u0101rsl\u0113dz trafiks uz jauno datu b\u0101zi, vai nu m\u016bsu klasteris var sabrukt \u2014 un m\u0113s p\u0101rg\u0101j\u0101m uz rezerves ilgi, bet turpin\u0101m str\u0101d\u0101t ar ra\u017eo\u0161anas datu b\u0101zi, un tre\u0161ais variants, kad mums ir sabruku\u0161as \u0161\u012bs, sabruku\u0161as t\u0101s, un m\u0113s p\u0101rsl\u0113dzam abus lietojumus, p\u0101rrakst\u0101m m\u016bsu konfigur\u0101ciju, lai jauni lietojumi jau str\u0101d\u0101tu ar jauno datu b\u0101zi. <\/p>\n<p>Nu, kas attiec\u012bgi var\u0113tu b\u016bt secin\u0101jumi no visa t\u0101? <\/p>\n<p><img decoding=\"async\" alt=\"Rezerv\u0113\u0161ana Kubernetes: t\u0101 past\u0101v\" src=\"\/wp-content\/uploads\/2019\/05\/e055f1b4aaa99c5e70d735f4c9fe61e2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPirmais secin\u0101jums: ar rezervi dz\u012bvot ir labi. Bet d\u0101rgi. Ide\u0101l\u0101 gad\u012bjum\u0101 nedz\u012bvot tikai ar vienu rezerves kopiju. Ide\u0101l\u0101 gad\u012bjum\u0101 vajadz\u0113tu dz\u012bvot ar vair\u0101kiem rezerv\u0113m. Pirmk\u0101rt, rezerves j\u0101b\u016bt vismaz, ne vien\u0101 datu centr\u0101, un, otrk\u0101rt, vismaz pie cita hostinga nodro\u0161in\u0101t\u0101ja. Bija daudz gad\u012bjumu \u2014 un man\u0101 praks\u0113 tas ir bijis. Es diem\u017e\u0113l nevaru nosaukt projektus, kad tie\u0161i notika ugunsgr\u0113ks datu centr\u0101\u2026 Es saku: p\u0101rejam uz rezerves! Bet rezerves serveri bija taj\u0101 pa\u0161\u0101 stend\u0101...<\/p>\n<p>Vai iedom\u0101jieties, ka Amazon ir aizliegts Krievij\u0101 (un tas ir noticis). Un viss: kas no t\u0101, ka cit\u0101 Amazon atrodas m\u016bsu rezerve? Tas ar\u012b nav pieejams. T\u0101d\u0113\u013c atk\u0101rtoju: turam rezervi vismaz cit\u0101 datu centr\u0101, bet v\u0113lams \u2014 pie cita hostinga nodro\u0161in\u0101t\u0101ja. <\/p>\n<p>Otrais secin\u0101jums: ja jums kuber\u012b ir lietotne, kas sazin\u0101s ar k\u0101diem \u0101r\u0113jiem avotiem (tas var b\u016bt gan datub\u0101ze, gan k\u0101ds \u0101r\u0113jais API), noteikti defin\u0113jiet to k\u0101 pakalpojumu ar \u0101r\u0113ju Endpoint, lai p\u0101rsl\u0113g\u0161an\u0101s br\u012bd\u012b nevajadz\u0113tu atk\u0101rtoti izvietot 15 j\u016bsu lietotnes, kas skar to pa\u0161u datub\u0101zi. Defin\u0113jiet datub\u0101zi k\u0101 atsevi\u0161\u0137u pakalpojumu, griezieties taj\u0101, it k\u0101 t\u0101 b\u016btu j\u016bsu klaster\u012b: ja j\u016bsu datub\u0101ze saboj\u0101jas, j\u016bs main\u0101t ip vien\u0101 viet\u0101 un turpin\u0101t dz\u012bvot laim\u012bgi. <\/p>\n<p>Un visbeidzot: es m\u012blu 'kubiku', t\u0101pat k\u0101 eksperimentus ar to. Un v\u0113l m\u012blu dal\u012bties ar \u0161o eksperimentu rezult\u0101tiem un visp\u0101r ar savu person\u012bgo pieredzi. T\u0101p\u0113c es esmu ierakst\u012bjis vebin\u0101ru s\u0113riju par K8s, laipni l\u016bdzam pie <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=Qmac8MNlhmg&amp;list=PLVSuF-7tjVUgPSW-YAhrGjnShRsW9gA7_\">m\u016bsu YouTube kan\u0101la<\/a><\/noindex> \u0161\u0137iet, detaliz\u0113tai inform\u0101cijai.<br \/>\n<br \/>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/452078\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0421\u0435\u0440\u0433\u0435\u0439, \u044f \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 ITSumma, \u0438 \u044f \u0445\u043e\u0447\u0443 \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u043c \u043a \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Kubernetes. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043c\u043d\u043e\u0433\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043f\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044e \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0445 devops-\u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u0438, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u043b\u043e\u0442\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u043f\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c K8s. \u041d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Uptime day 4, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u044b\u043b\u0430 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25449,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33773","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0421\u0435\u0440\u0433\u0435\u0439, \u044f \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 ITSumma, \u0438 \u044f \u0445\u043e\u0447\u0443 \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u043c \u043a \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Kubernetes.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/rezervirovanie-v-kubernetes-ono-sushhestvuet\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Kubernetes: \u043e\u043d\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0421\u0435\u0440\u0433\u0435\u0439, \u044f \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 ITSumma, \u0438 \u044f \u0445\u043e\u0447\u0443 \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u043c \u043a \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Kubernetes.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/rezervirovanie-v-kubernetes-ono-sushhestvuet\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:54:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:54:36+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Rezerves kop\u0113\u0161ana Kubernetes vid\u0113: t\u0101 eksist\u0113 | ProHoster","description":"Mani sauc Sergejs, es esmu no uz\u0146\u0113muma ITSumma, un es gribu jums past\u0101st\u012bt, k\u0101 m\u0113s piev\u0113r\u0161amies rezerves kop\u0113\u0161anai Kubernetes vid\u0113.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/rezervirovanie-v-kubernetes-ono-sushhestvuet","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Kubernetes: \u043e\u043d\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 | ProHoster","og:description":"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0421\u0435\u0440\u0433\u0435\u0439, \u044f \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 ITSumma, \u0438 \u044f \u0445\u043e\u0447\u0443 \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u043c \u043a \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Kubernetes.","og:url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/rezervirovanie-v-kubernetes-ono-sushhestvuet","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:54:36+00:00","article:modified_time":"2019-10-31T18:54:36+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33773","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 17:03:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:33:25","updated":"2026-02-09 17:03:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/33773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=33773"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/33773\/revisions"}],"predecessor-version":[{"id":159074,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/33773\/revisions\/159074"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media\/25449"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=33773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=33773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=33773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}