{"id":34596,"date":"2019-10-31T21:59:16","date_gmt":"2019-10-31T18:59:16","guid":{"rendered":"https:\/\/prohoster.info\/blog\/zhivut-li-bazy-dannyh-v-kubernetes\/"},"modified":"2019-10-31T21:59:16","modified_gmt":"2019-10-31T18:59:16","slug":"zhivut-li-bazy-dannyh-v-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/zhivut-li-bazy-dannyh-v-kubernetes","title":{"rendered":"\u017dij\u00fa datab\u00e1zy v Kubernetes?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"\u017dij\u00fa datab\u00e1zy v Kubernetes?\" src=\"\/wp-content\/uploads\/2019\/05\/cb3f08969f3cfbb103416def0db0ef8d.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHistoricky sa IT priemysel rozde\u013euje na dva t\u00e1bory: jeden \"za\" a druh\u00fd \"proti\". Predmetom diskusi\u00ed m\u00f4\u017ee by\u0165 \u010doko\u013evek. Ktor\u00fd opera\u010dn\u00fd syst\u00e9m je lep\u0161\u00ed: Windows alebo Linux? M\u00e1te smartf\u00f3n s Androidom alebo iOS? Uchov\u00e1vate v\u0161etko v cloude alebo na studen\u00fdch RAID \u00falo\u017eisk\u00e1ch, pri\u010dom diskov\u00e9 jednotky uzamknete v trezore? M\u00f4\u017eu PHP program\u00e1tori naz\u00fdva\u0165 seba program\u00e1tormi? Tieto debaty s\u00fa niekedy v\u00fdlu\u010dne existentialistick\u00e9 a nemaj\u00fa in\u00fa podstatu ako \u0161portov\u00fd z\u00e1ujem.<\/p>\n<p>S pr\u00edchodom kontajnerov a ob\u013e\u00faben\u00e9ho Dockeru a Kubernetes za\u010dali aj diskusie \"za\" a \"proti\" vyu\u017e\u00edvaniu nov\u00fdch mo\u017enost\u00ed v r\u00f4znych oblastiach backendu. (Pre zjednodu\u0161enie sa v tejto \u00favahe zvy\u010dajne ako orchestr\u00e1tor uv\u00e1dza Kubernetes, ale v\u00fdber tohto n\u00e1stroja nie je z\u00e1sadn\u00fd. M\u00f4\u017eete pou\u017ei\u0165 ak\u00fdko\u013evek in\u00fd, ktor\u00fd pova\u017eujete za najvhodnej\u0161\u00ed a najpohodlnej\u0161\u00ed.)<\/p>\n<p>A zdalo by sa, \u017ee ide o jednoduch\u00fa debatu medzi dvoma stranami tej istej mince. Tak bezv\u00fdznamn\u00fa a ne\u00faprosne bezcitn\u00fa ako ve\u010dn\u00fd spor Windows vs Linux, v ktorom racion\u00e1lni \u013eudia existuj\u00fa kdesi uprostred. V pr\u00edpade kontajneriz\u00e1cie to v\u0161ak nie je tak\u00e9 jednoduch\u00e9. V t\u00fdchto diskusi\u00e1ch zvy\u010dajne neexistuje \"spr\u00e1vna\" strana, ale v pr\u00edpade \"pou\u017eitie\" alebo \"nepou\u017eitie\" kontajnerov pre ukladanie datab\u00e1z je v\u0161etko obr\u00e1ten\u00e9 naruby. Preto\u017ee z ur\u010dit\u00fdch h\u013ead\u00edsk maj\u00fa pravdu ako z\u00e1stancovia, tak aj odporcovia tohto pr\u00edstupu.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Svetl\u00e1 strana<\/h4>\n<p>\nStru\u010dne povedan\u00e9, argument\u00e1cia Svetlej strany sa d\u00e1 zhrn\u00fa\u0165 jednou vetou: \u201cAhoj, 2k19 je tu!\u201d Znie to ako populizmus, ale ak sa do tejto situ\u00e1cie podrobne zamysl\u00edme, m\u00e1 svoje v\u00fdhody. Tieto v\u00fdhody si teraz podrobne rozoberieme.<\/p>\n<p>Predpokladajme, \u017ee m\u00e1te ve\u013ek\u00fd webov\u00fd projekt. M\u00f4\u017ee by\u0165 p\u00f4vodne postaven\u00fd na z\u00e1klade mikroslu\u017ebov\u00e9ho pr\u00edstupu, alebo sa k nemu postupne dostal \u2014 na tom v skuto\u010dnosti nez\u00e1le\u017e\u00ed. Rozdelili ste projekt na jednotliv\u00e9 mikroslu\u017eby, nastavili orchestr\u00e1ciu, vyva\u017eovanie za\u0165a\u017eenia a \u0161k\u00e1lovanie. A teraz si s \u010dist\u00fdm svedom\u00edm vychutn\u00e1vate mojito v hamaku po\u010das Habr efektov, namiesto toho, aby ste zdv\u00edhali padl\u00e9 servery. Ale vo v\u0161etk\u00fdch \u010dinnostiach je d\u00f4le\u017eit\u00e9 by\u0165 d\u00f4sledn\u00fd. Ve\u013emi \u010dasto sa kontajnerizuje iba samotn\u00e1 aplik\u00e1cia \u2014 k\u00f3d. A \u010do e\u0161te m\u00e1me okrem k\u00f3du?<\/p>\n<p>Spr\u00e1vne, d\u00e1ta. Srdce ka\u017ed\u00e9ho projektu s\u00fa jeho d\u00e1ta: to m\u00f4\u017ee by\u0165 typick\u00e1 DBMS \u2014 MySQL, Postgre, MongoDB, ako aj \u00falo\u017eisk\u00e1 pou\u017e\u00edvan\u00e9 na vyh\u013ead\u00e1vanie (ElasticSearch), key-value \u00falo\u017eisk\u00e1 na cachovanie \u2014 napr\u00edklad, redis, a tak \u010falej. Teraz sa nebudeme zaobera\u0165 nevhodn\u00fdmi implement\u00e1ciami back-endu, ke\u010f DB kles\u00e1 z d\u00f4vodu zle nap\u00edsan\u00fdch po\u017eiadaviek, ale rad\u0161ej sa pozrieme na zabezpe\u010denie spo\u013eahlivosti tejto datab\u00e1zy pod klientskou z\u00e1\u0165a\u017eou. Ve\u010f ke\u010f kontajnerizujeme na\u0161u aplik\u00e1ciu a umo\u017en\u00edme jej vo\u013ene \u0161k\u00e1lova\u0165 na spracovanie ak\u00e9hoko\u013evek mno\u017estva prich\u00e1dzaj\u00facich po\u017eiadaviek, z\u00e1konite to zvy\u0161uje aj z\u00e1\u0165a\u017e na datab\u00e1zu.<\/p>\n<p>Fakticky sa kan\u00e1l komunik\u00e1cie s datab\u00e1zou a server, na ktorom be\u017e\u00ed, st\u00e1vaj\u00fa \u00fazkym miestom v na\u0161om kr\u00e1snom kontajnerizovanom back-ende. Hlavn\u00fdm mot\u00edvom kontajnerovej virtualiz\u00e1cie je pohyblivos\u0165 a flexibilita \u0161trukt\u00fary, ktor\u00e9 umo\u017e\u0148uj\u00fa efekt\u00edvne rozlo\u017ei\u0165 vrcholov\u00e9 za\u0165a\u017eenie po celej dostupnej infra\u0161trukt\u00fare. Teda, ak nekontajnerizujeme a nerozlo\u017e\u00edme v\u0161etky existuj\u00face prvky syst\u00e9mu po klastri, rob\u00edme ve\u013emi v\u00e1\u017enu chybu.<\/p>\n<p>Je ove\u013ea logickej\u0161ie klastrova\u0165 nielen samotn\u00fa aplik\u00e1ciu, ale aj slu\u017eby zodpovedaj\u00face za uchov\u00e1vanie \u00fadajov. Pri klastrovan\u00ed a nasadzovan\u00ed samostatne pracuj\u00facich a medzi sebou rozde\u013euj\u00facich z\u00e1\u0165a\u017e webov\u00fdch serverov v k8s u\u017e rie\u0161ime probl\u00e9m synchroniz\u00e1cie \u00fadajov \u2014 napr\u00edklad koment\u00e1rov pod pr\u00edspevkami, ak uv\u00e1dzame ako pr\u00edklad nejak\u00e9 m\u00e9di\u00e1 alebo blogov\u00fa platformu. V ka\u017edom pr\u00edpade m\u00e1me vo vn\u00fatri klastru, aj ke\u010f virtu\u00e1lne, predstavenie DB ako ExternalService. Ot\u00e1zka v\u0161ak zost\u00e1va, \u017ee samotn\u00e1 DB zatia\u013e nie je sklastrovan\u00e1 \u2014 webov\u00e9 servery nasaden\u00e9 v kubexe \u010derpaj\u00fa inform\u00e1cie o zmen\u00e1ch z na\u0161ej statickej prev\u00e1dzky, ktor\u00e1 funguje samostatne.<\/p>\n<p>C\u00edtite podvod? Pou\u017e\u00edvame k8s alebo Swarm na to, aby sme rozdelili z\u00e1\u0165a\u017e a predi\u0161li p\u00e1du hlavn\u00e9ho syst\u00e9mu, <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sk\/server\/\"   title=\"webov\u00e9ho servera\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1172\">webov\u00e9ho servera<\/a>, ale to nerob\u00edme pre DB. Ale ak padne DB, tak cel\u00e1 na\u0161a klastrovan\u00e1 infra\u0161trukt\u00fara nem\u00e1 zmysel \u2014 ak\u00fd m\u00e1 zmysel ma\u0165 pr\u00e1zdne webov\u00e9 str\u00e1nky vracaj\u00face chybu pr\u00edstupu k datab\u00e1ze?<\/p>\n<p>Presne preto je potrebn\u00e9 klastrova\u0165 nielen webov\u00e9 servery, ako sa to zvy\u010dajne rob\u00ed, ale aj infra\u0161trukt\u00faru datab\u00e1zy. Iba tak m\u00f4\u017eeme zabezpe\u010di\u0165 plne funguj\u00facu \u0161trukt\u00faru, ktor\u00e1 je v jednom \u0165ahu, ale z\u00e1rove\u0148 na sebe nez\u00e1visl\u00e1. Ak by sa aj polovina na\u0161ich backendov zr\u00fatila pod z\u00e1\u0165a\u017eou \u2014 zvy\u0161ok pre\u017eije a syst\u00e9m synchroniz\u00e1cie DB medzi sebou v r\u00e1mci klastru a mo\u017enos\u0165 nekone\u010dn\u00e9ho \u0161k\u00e1lovania a nasadzovania nov\u00fdch klastrov pom\u00f4\u017ee r\u00fdchlo dosiahnu\u0165 potrebn\u00e9 v\u00fdkony \u2014 akur\u00e1t by boli reg\u00e1ly v d\u00e1tovom centre.<\/p>\n<p>Okrem toho rozdelen\u00fd model DB v klastroch umo\u017e\u0148uje presun\u00fa\u0165 t\u00fa ist\u00fa DB tam, kde je potrebn\u00e1; ak hovor\u00edme o glob\u00e1lnom servise, je dos\u0165 nelogick\u00e9 ma\u0165 webov\u00fd klaster niekde v okol\u00ed San Francisca a pritom posiela\u0165 pakety za datab\u00e1zou do Podmoskovia a nasp\u00e4\u0165.<\/p>\n<p>Tie\u017e kontajneriz\u00e1cia DB umo\u017e\u0148uje vybudova\u0165 v\u0161etky prvky syst\u00e9mu na jednej \u00farovni abstrakcie. To zase umo\u017e\u0148uje spravova\u0165 tento syst\u00e9m priamo z k\u00f3du, v\u00fdvoj\u00e1rmi, bez akt\u00edvneho zapojenia adminov. Napadlo v\u00fdvoj\u00e1rom, \u017ee potrebuj\u00fa samostatn\u00fd S\u00daDB pre nov\u00fd podprojekt \u2014 jednoducho! nap\u00edsali yaml s\u00fabor, nahrali ho do klastru a hotovo.<\/p>\n<p>A samozrejme, intern\u00e9 vyu\u017e\u00edvanie sa v\u00fdrazne zjednodu\u0161uje. Povedzte, ko\u013ekokr\u00e1t ste si zatvorili o\u010di v momentoch, ke\u010f sa nov\u00fd \u010dlen t\u00edmu sna\u017eil prenikn\u00fa\u0165 do produk\u010dnej datab\u00e1zy? Ktor\u00e1, v skuto\u010dnosti, je len jedna a teraz sa akt\u00edvne pou\u017e\u00edva? Samozrejme, v\u0161etci tu sme dospel\u00ed a niekde m\u00e1me \u010derstv\u00fd z\u00e1lohovac\u00ed k\u00f3piu, a e\u0161te \u010falej \u2014 za poli\u010dkou s babi\u010dkin\u00fdmi uhorkami a star\u00fdmi ly\u017eami \u2014 \u010fal\u0161iu z\u00e1lohu, mo\u017eno aj na studenom \u00falo\u017eisku, preto\u017ee raz u\u017e horel v\u00e1\u0161 kancel\u00e1rie. Ale aj tak, ka\u017ed\u00e9 zapojenie nov\u00e9ho \u010dlena t\u00edmu, ktor\u00fd m\u00e1 pr\u00edstup k produk\u010dnej infra\u0161trukt\u00fare a, samozrejme, k produk\u010dnej datab\u00e1ze \u2014 to je vedro val\u00eddolu pre v\u0161etk\u00fdch okolo. Nu\u017e, kto pozn\u00e1 nov\u00e1\u010dika, \u010do ke\u010f je ne\u0161ikovn\u00fd? Hrozn\u00e9, s\u00fahlas\u00edte.<\/p>\n<p>Kontajneriz\u00e1cia a vlastne distribuovan\u00e1 fyzick\u00e1 topol\u00f3gia datab\u00e1zy v\u00e1\u0161ho projektu pom\u00e1ha vyhn\u00fa\u0165 sa podobn\u00fdm val\u00eddolov\u00fdm momentom. Never\u00edte nov\u00e1\u010dikovi? Okej! Vytvor\u00edme mu vlastn\u00fd klaster pre pr\u00e1cu a odpoj\u00edme ho od ostatn\u00fdch datab\u00e1zov\u00fdch klastrov \u2014 synchroniz\u00e1cia iba po ru\u010dnom pushi a synchronizovanom oto\u010den\u00ed dvoch k\u013e\u00fa\u010dov (jeden t\u00edmov\u00e9mu ved\u00facemu, druh\u00fd administr\u00e1torovi). A v\u0161etci s\u00fa \u0161\u0165astn\u00ed.<\/p>\n<p>A teraz nastal \u010das prehodnoti\u0165 svoj postoj vo\u010di klasteriz\u00e1cii datab\u00e1z.<\/p>\n<h4>Temn\u00e1 Strana<\/h4>\n<p>\nZamyslime sa, pre\u010do by sme nemali kontajnerizova\u0165 datab\u00e1zu a pokra\u010dova\u0165 v jej prev\u00e1dzke na jednom centr\u00e1lnom <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sk\/server\/dts-dronten\/\"   title=\"serveri\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2482\">serveri<\/a>, nebudeme sa zni\u017eova\u0165 na r\u00e9toriku ortodoxn\u00fdch a tvrden\u00ed typu \u201estar\u00ed majstri prev\u00e1dzkovali datab\u00e1zy na hardv\u00e9ri, a my budeme!\u201c Namiesto toho sa pok\u00fasme vymyslie\u0165 situ\u00e1ciu, v ktorej by kontajneriz\u00e1cia naozaj priniesla v\u00fdznamn\u00e9 dividendy.<\/p>\n<p>S\u00fahlas\u00edte, projektov, ktor\u00fdm naozaj potrebujete datab\u00e1zu v kontajneri, sa d\u00e1 spo\u010d\u00edta\u0165 na prstoch jednej ruky nie najlep\u0161ieho fr\u00e9zara. Vo v\u00e4\u010d\u0161ine pr\u00edpadov, dokonca aj samotn\u00e9 pou\u017e\u00edvanie k8s alebo Docker Swarm m\u00f4\u017ee by\u0165 nadmern\u00e9 \u2014 pomerne \u010dasto sa k t\u00fdmto n\u00e1strojom uchy\u013euj\u00fa kv\u00f4li v\u0161eobecnej popul\u00e1rnosti technol\u00f3gi\u00ed a n\u00e1tlaku \u201evrchn\u00fdch\u201c v podobe mana\u017e\u00e9rov na zastr\u010denie v\u0161etk\u00e9ho do oblakov a kontajnerov. Nu\u017e, preto\u017ee teraz je to m\u00f3dne a v\u0161etci to robia.<\/p>\n<p>V minim\u00e1lne polovici pr\u00edpadov je pou\u017e\u00edvanie Kubernetes alebo jednoducho Dockera v projekte nadbyto\u010dn\u00e9. Ot\u00e1zka je, \u017ee nie v\u0161etky t\u00edmy alebo outsourcingov\u00e9 firmy najat\u00e9 na spr\u00e1vu infra\u0161trukt\u00fary klienta si to uvedomuj\u00fa. Hor\u0161ie je, ke\u010f s\u00fa kontajnery vnucovan\u00e9, preto\u017ee to stoji ur\u010dit\u00fd po\u010det minc\u00ed klienta.<\/p>\n<p>Vo v\u0161eobecnosti panuje n\u00e1zor, \u017ee Docker\/K8s mafia jednoducho podmie\u0148uj\u00fa klientov, ktor\u00ed deleguj\u00fa tieto infra\u0161trukt\u00farne ot\u00e1zky na outsourcing. Na pr\u00e1cu s klastrami s\u00fa potrebn\u00ed in\u017einieri, ktor\u00ed s\u00fa schopn\u00ed to robi\u0165 a rozumej\u00fa architekt\u00fare nasaden\u00e9ho rie\u0161enia. U\u017e sme opisovali n\u00e1\u0161 pr\u00edpad s vydan\u00edm Republic \u2014 tam sme \u0161kolili t\u00edm klienta, aby pracoval v realit\u00e1ch Kubernetes a v\u0161etci boli spokojn\u00ed. A bolo to na \u00farovni. \u010casto v\u0161ak \"implement\u00e1tori\" K8s ber\u00fa infra\u0161trukt\u00faru klienta ako rukojemn\u00edka \u2014 preto\u017ee teraz iba oni ch\u00e1pu, ako to tam v\u0161etko funguje, na strane klienta nie s\u00fa odborn\u00edci.<\/p>\n<p>A teraz si predstavte, \u017ee tak\u00fdmto sp\u00f4sobom odovzd\u00e1vame nie len webov\u00fa \u010das\u0165 na outsourcing, ale aj spr\u00e1vu datab\u00e1zy. Hovorili sme, \u017ee datab\u00e1za je srdce, a strata srdca je fat\u00e1lna pre ak\u00fdko\u013evek \u017eiv\u00fd organizmus. Skr\u00e1tka, perspekt\u00edvy nie s\u00fa najlep\u0161ie. Tak\u017ee namiesto hypeov\u00e9ho Kubernetes by mnoh\u00fdm projektom st\u00e1lo za to jednoducho nemrha\u0165 na norm\u00e1lny tarif na AWS, ktor\u00fd by vyrie\u0161il v\u0161etky probl\u00e9my s n\u00e1kladom na ich str\u00e1nku\/projekt. Ale AWS u\u017e nie je m\u00f3dne, a pretv\u00e1rka je drah\u0161ia ako peniaze \u2014 bohu\u017eia\u013e aj v IT prostred\u00ed.<\/p>\n<p>Okej. Mo\u017eno je klasifik\u00e1cia projektu skuto\u010dne potrebn\u00e1, ale ak je so stateless aplik\u00e1ciami v\u0161etko jasn\u00e9, tak ako s\u00e9curizova\u0165 kvalitn\u00fa sie\u0165ov\u00fa konektivitu klasifikovanej datab\u00e1zy?<\/p>\n<p>Ak hovor\u00edme o bezprobl\u00e9movom in\u017einierskom rie\u0161en\u00ed, ktor\u00fdm je prechod na k8s, na\u0161\u00edm hlavn\u00fdm probl\u00e9mom je replik\u00e1cia d\u00e1t v clusterovanej DB. Niektor\u00e9 SGBD zo za\u010diatku pomerne tolerantne pristupuj\u00fa k distrib\u00facii d\u00e1t medzi svojimi jednotliv\u00fdmi in\u0161tanciami. Mnoh\u00e9 in\u00e9 nie s\u00fa tak priazniv\u00e9. A \u010dasto sa hlavn\u00fdm argumentom pri v\u00fdbere SGBD pre n\u00e1\u0161 projekt st\u00e1va rozhodne nie schopnos\u0165 replikova\u0165 sa s minim\u00e1lnymi zdrojov\u00fdmi a in\u017einierskymi n\u00e1kladmi. Osobitne ak projekt nebol p\u00f4vodne pl\u00e1novan\u00fd ako mikroservisn\u00fd, ale jednoducho evolu\u010dne smeroval t\u00fdmto smerom. <\/p>\n<p>Nemysl\u00edme si, \u017ee je potrebn\u00e9 rozpr\u00e1va\u0165 o r\u00fdchlosti pr\u00e1ce sie\u0165ov\u00fdch diskov \u2014 s\u00fa pomal\u00e9. T.j. v pr\u00edpade potreby nem\u00e1me re\u00e1lnu mo\u017enos\u0165 znovu spusti\u0165 in\u0161tanciu SGBD niekde inde, kde je, povedzme, viac procesorov\u00e9ho v\u00fdkonu alebo vo\u013enej pam\u00e4te. R\u00fdchlo naraz\u00edme na v\u00fdkon virtualizovanej diskovej subsyst\u00e9my. Preto by SGBD mala by\u0165 pripevnen\u00e1 k svojmu vlastn\u00e9mu osobn\u00e9mu s\u00faboru strojov, ktor\u00e9 sa nach\u00e1dzaj\u00fa v bezprostrednej bl\u00edzkosti. Alebo budeme musie\u0165 nejak\u00fdm sp\u00f4sobom zabezpe\u010di\u0165 dostato\u010dne r\u00fdchlu synchroniz\u00e1ciu d\u00e1t na predpokladan\u00e9 z\u00e1lohy. <\/p>\n<p>Pokra\u010duj\u00fac v t\u00e9me virtu\u00e1lnych FS: Docker Volumes, \u017eia\u013e, nie s\u00fa bezprobl\u00e9mov\u00e9. Vo v\u0161eobecnosti by sme sa v pr\u00edpade dlhodob\u00e9ho spo\u013eahliv\u00e9ho ukladania d\u00e1t chceli dr\u017ea\u0165 \u010do najjednoduch\u0161\u00edch technick\u00fdch sch\u00e9m. A pridanie novej vrstvy abstrakcie z FS kontajnera do FS rodi\u010dovsk\u00e9ho hostite\u013ea \u2014 u\u017e samo o sebe predstavuje riziko. Ale ke\u010f sa v pr\u00e1ci syst\u00e9mu zabezpe\u010denia kontajneriz\u00e1cie objavuj\u00fa \u0165a\u017ekosti so pren\u00e1\u0161an\u00edm d\u00e1t medzi t\u00fdmito vrstvami, potom sa situ\u00e1cia st\u00e1va skuto\u010dne zlo\u017eitou. V s\u00fa\u010dasnosti bola v\u00e4\u010d\u0161ina zn\u00e1mych probl\u00e9mov, ktor\u00e9 tr\u00e1pili progres\u00edvnych \u013eud\u00ed, zrejme odstr\u00e1nen\u00e1. Ale rozumiete, \u010d\u00edm zlo\u017eitej\u0161\u00ed je mechanizmus, t\u00fdm \u013eah\u0161ie sa poru\u0161uje.<\/p>\n<p>S oh\u013eadom na v\u0161etky tieto \"dobrodru\u017estv\u00e1\" je ove\u013ea v\u00fdhodnej\u0161ie a jednoduch\u0161ie dr\u017ea\u0165 datab\u00e1zu na jednom mieste, a aj ke\u010f potrebujete kontejneriz\u00e1ciu aplik\u00e1cie \u2014 nech sa spust\u00ed sama od seba a cez distribuovan\u00fd br\u00e1nu z\u00edska s\u00fa\u010dasn\u00e9 spojenie s datab\u00e1zou, ktor\u00e1 sa bude \u010d\u00edta\u0165 a zapisova\u0165 iba raz a na jednom mieste. Tento pr\u00edstup zni\u017euje pravdepodobnos\u0165 ch\u00fdb a desynchroniz\u00e1ci\u00ed na minim\u00e1lne hodnoty.<\/p>\n<p>Kam smerujeme? K tomu, \u017ee kontejneriz\u00e1cia datab\u00e1z je opodstatnen\u00e1 tam, kde existuje skuto\u010dn\u00e1 potreba. Nedomnievajte sa, \u017ee m\u00f4\u017eete vlo\u017ei\u0165 datab\u00e1zu pln\u00e9ho aplika\u010dn\u00e9ho bal\u00edka a beh\u00e1\u0165 ju, akoby ste mali dve desiatky mikroservisov \u2014 takto to nefunguje. A toto treba jasne pochopi\u0165.<\/p>\n<h4>Namiesto v\u00fdstupu<\/h4>\n<p>\nAk \u010dak\u00e1te jasn\u00fd z\u00e1ver \u201evirtualizova\u0165 alebo nie datab\u00e1zu\u201c, sklameme v\u00e1s: nebude tu. Preto\u017ee pri vytv\u00e1ran\u00ed ak\u00e9hoko\u013evek infra\u0161trukt\u00farneho rie\u0161enia je potrebn\u00e9 riadi\u0165 sa nie m\u00f3dou a pokrokom, ale predov\u0161etk\u00fdm, zdrav\u00fdm rozumom.<\/p>\n<p>Existuj\u00fa projekty, na ktor\u00e9 sa princ\u00edpy a n\u00e1stroje spojen\u00e9 s Kubernetes hodia perfektne, a v tak\u00fdchto projektoch nast\u00e1va aspo\u0148 pokoj v oblasti backendu. A s\u00fa projekty, ktor\u00fdm treba nie kontejneriz\u00e1ciu, ale norm\u00e1lnu serverov\u00fa infra\u0161trukt\u00faru, preto\u017ee sa z\u00e1sadne nem\u00f4\u017eu preusporiada\u0165 na mikroservisn\u00fd klastrov\u00fd model, inak zlyhaj\u00fa.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/453602\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e IT-\u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u044f \u043f\u043e \u043b\u044e\u0431\u043e\u043c\u0443 \u043f\u043e\u0432\u043e\u0434\u0443 \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0430 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u043b\u0430\u0433\u0435\u0440\u044f: \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u00ab\u0437\u0430\u00bb \u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u00ab\u043f\u0440\u043e\u0442\u0438\u0432\u00bb. \u041f\u0440\u0438\u0447\u0435\u043c \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0441\u043f\u043e\u0440\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c. \u041a\u0430\u043a\u0430\u044f \u041e\u0421 \u043b\u0443\u0447\u0448\u0435: Win \u0438\u043b\u0438 Linux? \u041d\u0430 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0435 Android \u0438\u043b\u0438 iOS? \u0425\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0432 \u043e\u0431\u043b\u0430\u043a\u0430\u0445 \u0438\u043b\u0438 \u0437\u0430\u043b\u0438\u0432\u0430\u0442\u044c \u043d\u0430 \u0445\u043e\u043b\u043e\u0434\u043d\u044b\u0435 RAID-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0438 \u043a\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u043d\u0442\u044b \u0432 \u0441\u0435\u0439\u0444? \u0418\u043c\u0435\u044e\u0442 \u043b\u0438 PHP-\u0448\u043d\u0438\u043a\u0438 \u043f\u0440\u0430\u0432\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34596","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e IT-\u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u044f \u043f\u043e.\" \/>\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\/sk\/blog\/administrirovanie\/zhivut-li-bazy-dannyh-v-kubernetes\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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\u0416\u0438\u0432\u0443\u0442 \u043b\u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Kubernetes? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e IT-\u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u044f \u043f\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/zhivut-li-bazy-dannyh-v-kubernetes\" \/>\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:59:16+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:59:16+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\udd47\u017dij\u00fa datab\u00e1zy v Kubernetes? | ProHoster","description":"Historicky sa to akosi vyvinulo, \u017ee IT priemysel tak.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/zhivut-li-bazy-dannyh-v-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\u0416\u0438\u0432\u0443\u0442 \u043b\u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Kubernetes? | ProHoster","og:description":"\u041a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e IT-\u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u044f \u043f\u043e.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/zhivut-li-bazy-dannyh-v-kubernetes","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:59:16+00:00","article:modified_time":"2019-10-31T18:59:16+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34596","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 21:46:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:18:36","updated":"2026-02-09 21:46:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/34596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=34596"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/34596\/revisions"}],"predecessor-version":[{"id":159764,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/34596\/revisions\/159764"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=34596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=34596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=34596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}