{"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\/cs\/blog\/administrirovanie\/zhivut-li-bazy-dannyh-v-kubernetes","title":{"rendered":"\u017dij\u00ed datab\u00e1ze v Kubernetes?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"\u017dij\u00ed datab\u00e1ze v Kubernetes?\" src=\"\/wp-content\/uploads\/2019\/05\/cb3f08969f3cfbb103416def0db0ef8d.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHistoricky se uk\u00e1zalo, \u017ee IT pr\u016fmysl se p\u0159i ka\u017ed\u00e9 p\u0159\u00edle\u017eitosti d\u011bl\u00ed na dva zcela podm\u00edn\u011bn\u00e9 t\u00e1bory: ty, kter\u00e9 \u201eza\u201c a ty, kter\u00e9 \u201eproti\u201c. P\u0159edm\u011btem spor\u016f p\u0159itom mohou b\u00fdt zcela n\u00e1hodn\u00e9 z\u00e1le\u017eitosti. Kter\u00fd opera\u010dn\u00ed syst\u00e9m je lep\u0161\u00ed: Windows nebo Linux? Chcete m\u00edt smartphone s Androidem nebo iOS? Uchov\u00e1vat v\u0161e v cloudu, nebo ukl\u00e1dat na studen\u00e9 RAID \u00falo\u017ei\u0161t\u011b a d\u00e1vat disky do trezoru? Maj\u00ed PHP v\u00fdvoj\u00e1\u0159i pr\u00e1vo naz\u00fdvat se program\u00e1tory? Tyto spory maj\u00ed ob\u010das ryze existen\u010dn\u00ed charakter a nemaj\u00ed \u017e\u00e1dn\u00fd jin\u00fd z\u00e1klad ne\u017e sportovn\u00ed z\u00e1jem.<\/p>\n<p>Jak se uk\u00e1zalo, s n\u00e1stupem kontejner\u016f a cel\u00e9 t\u00e9to na\u0161\u00ed obl\u00edben\u00e9 kuchyn\u011b s Dockerem a hypotetick\u00fdm Kubernetes za\u010daly tak\u00e9 spory \u201eza\u201c a \u201eproti\u201c pou\u017eit\u00ed nov\u00fdch mo\u017enost\u00ed v r\u016fzn\u00fdch oblastech backendu. (Omlouv\u00e1me se p\u0159edem, \u017ee v t\u00e9to \u00favaze bude jako orchestr\u00e1tor \u010dasto uv\u00e1d\u011bno Kubernetes, volba pr\u00e1v\u011b tohoto n\u00e1stroje v\u0161ak nem\u00e1 z\u00e1sadn\u00ed v\u00fdznam. M\u016f\u017eete m\u00edsto n\u011bj pou\u017e\u00edt jak\u00fdkoli jin\u00fd, kter\u00fd v\u00e1m p\u0159ipad\u00e1 nejpohodln\u011bj\u0161\u00ed a nejzn\u00e1m\u011bj\u0161\u00ed.)<\/p>\n<p>A zd\u00e1lo by se, \u017ee by to byl jednoduch\u00fd spor mezi dv\u011bma stranami jedn\u00e9 mince. Stejn\u011b bezv\u00fdznamn\u00fd a krut\u00fd, jako v\u011b\u010dn\u00e9 nep\u0159\u00e1telstv\u00ed Windows vs Linux, kde rozumn\u00ed lid\u00e9 celkem norm\u00e1ln\u011b existuj\u00ed n\u011bkde uprost\u0159ed. Jen\u017ee v p\u0159\u00edpad\u011b kontejnerizace to nen\u00ed tak jednoduch\u00e9. Obvykle v takov\u00fdch sporech neexistuje prav\u00e1 strana, ale kdy\u017e p\u0159ijde na \u201epou\u017e\u00edvat\u201c nebo \u201enepou\u017e\u00edvat\u201c kontejnery pro ukl\u00e1d\u00e1n\u00ed datab\u00e1z\u00ed, v\u0161echno se obr\u00e1t\u00ed naruby. Proto\u017ee v ur\u010dit\u00e9m smyslu maj\u00ed pravdu jak zast\u00e1nci, tak odp\u016frci tohoto p\u0159\u00edstupu.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Sv\u011btl\u00e1 Strana<\/h4>\n<p>\nStru\u010dn\u011b \u0159e\u010deno, argumentaci Sv\u011btl\u00e9 Strany lze shrnout jednou v\u011btou: \u201cHalo, 2k19 za oknem!\u201d Zn\u00ed to jako populismus, bezpochyby, ale pokud se pod\u00edv\u00e1te na situaci podrobn\u011b, maj\u00ed sv\u00e9 v\u00fdhody. Ty si nyn\u00ed rozebereme.<\/p>\n<p>P\u0159edstavte si, \u017ee m\u00e1te velk\u00fd webov\u00fd projekt. Mohl b\u00fdt od za\u010d\u00e1tku zalo\u017een na mikroslu\u017eb\u00e1ch, nebo k nim mohl dosp\u011bt evolu\u010dn\u011b v ur\u010dit\u00e9m okam\u017eiku \u2014 to ve skute\u010dnosti nen\u00ed a\u017e tak d\u016fle\u017eit\u00e9. Rozlo\u017eili jste projekt do samostatn\u00fdch mikroslu\u017eeb, nastavili orchestraci, vyva\u017eov\u00e1n\u00ed z\u00e1t\u011b\u017ee, \u0161k\u00e1lov\u00e1n\u00ed. A nyn\u00ed s \u010dist\u00fdm sv\u011bdom\u00edm pop\u00edj\u00edte mohito v houpac\u00ed s\u00edti b\u011bhem efekty Habr, m\u00edsto abyste se zab\u00fdvali p\u00e1dy server\u016f. Ale ve v\u0161em je t\u0159eba b\u00fdt d\u016fsledn\u00fd. Velmi \u010dasto je kontejnerizov\u00e1na pouze samotn\u00e1 aplikace \u2014 k\u00f3d. A co je\u0161t\u011b m\u00e1me krom\u011b k\u00f3du?<\/p>\n<p>Spr\u00e1vn\u011b, data. Srdcem ka\u017ed\u00e9ho projektu jsou jeho data: m\u016f\u017ee to b\u00fdt b\u011b\u017en\u00e1 datab\u00e1ze \u2014 MySQL, Postgre, MongoDB, nebo \u00falo\u017ei\u0161t\u011b pro vyhled\u00e1v\u00e1n\u00ed (ElasticSearch), key-value \u00falo\u017ei\u0161t\u011b pro caching \u2014 nap\u0159\u00edklad redis atd. Nyn\u00ed nebudeme mluvit o k\u0159iv\u00fdch variant\u00e1ch implementace backendu, kdy doch\u00e1z\u00ed k selh\u00e1n\u00ed datab\u00e1ze kv\u016fli \u0161patn\u011b napsan\u00fdm dotaz\u016fm, ale m\u00edsto toho budeme hovo\u0159it o zaji\u0161t\u011bn\u00ed odolnosti t\u00e9to datab\u00e1ze v\u016f\u010di zat\u00ed\u017een\u00ed ze strany klienta. Kdy\u017e kontejnerizujeme na\u0161i aplikaci a dovol\u00edme j\u00ed voln\u011b \u0161k\u00e1lovat tak, aby zvl\u00e1dla libovoln\u00e9 mno\u017estv\u00ed p\u0159\u00edchoz\u00edch po\u017eadavk\u016f, z\u00e1konit\u011b to zvy\u0161uje tak\u00e9 z\u00e1t\u011b\u017e na datab\u00e1zi.<\/p>\n<p>Fakticky se kan\u00e1l pro p\u0159\u00edstup k datab\u00e1zi a server, na kter\u00e9m b\u011b\u017e\u00ed, st\u00e1vaj\u00ed \u00fazk\u00fdm hrdlem v na\u0161em kr\u00e1sn\u00e9m kontejnerizovan\u00e9m backendu. Hlavn\u00edm motivem kontejnerov\u00e9 virtualizace je toti\u017e pohyblivost a plasticita struktury, kter\u00e9 umo\u017e\u0148uj\u00ed maxim\u00e1ln\u011b efektivn\u011b organizovat rozlo\u017een\u00ed \u0161pi\u010dkov\u00fdch z\u00e1t\u011b\u017e\u00ed po cel\u00e9 dostupn\u00e9 infrastruktu\u0159e. To znamen\u00e1, \u017ee pokud nekontejnerizujeme a nerozlo\u017e\u00edme do clusteru v\u0161echny existuj\u00edc\u00ed prvky syst\u00e9mu \u2014 d\u011bl\u00e1me velkou chybu.<\/p>\n<p>Je mnohem logi\u010dt\u011bj\u0161\u00ed klastrovat nejen samotnou aplikaci, ale tak\u00e9 slu\u017eby odpov\u011bdn\u00e9 za ukl\u00e1d\u00e1n\u00ed dat. P\u0159i klastrov\u00e1n\u00ed a nasazov\u00e1n\u00ed nez\u00e1visle pracuj\u00edc\u00edch a zat\u00ed\u017een\u00ed mezi sebou rozd\u011bluj\u00edc\u00edch webov\u00fdch server\u016f v k8s ji\u017e \u0159e\u0161\u00edme probl\u00e9m synchronizace dat \u2014 nap\u0159\u00edklad koment\u00e1\u0159\u016f k p\u0159\u00edsp\u011bvk\u016fm, pokud uv\u00e1d\u00edme p\u0159\u00edklad n\u011bjak\u00fdch m\u00e9di\u00ed nebo blogovac\u00edch platforem. U n\u00e1s se v ka\u017ed\u00e9m p\u0159\u00edpad\u011b vytv\u00e1\u0159\u00ed intraklastrov\u00e9, i kdy\u017e virtu\u00e1ln\u00ed, zobrazen\u00ed DB jako ExternalService. Ot\u00e1zka je, \u017ee samotn\u00e1 DB zat\u00edm nen\u00ed klastrov\u00e1na \u2014 nasazen\u00e9 webov\u00e9 servery v kubu z\u00edsk\u00e1vaj\u00ed informace o zm\u011bn\u00e1ch z na\u0161\u00ed statick\u00e9 bojov\u00e9 datab\u00e1ze, kter\u00e1 b\u011b\u017e\u00ed samostatn\u011b.<\/p>\n<p>C\u00edt\u00edte \u00faskok? Pou\u017e\u00edv\u00e1me k8s nebo Swarm k rozlo\u017een\u00ed z\u00e1t\u011b\u017ee a vyhnut\u00ed se p\u00e1du hlavn\u00edho syst\u00e9mu, <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/server\/\"   title=\"webov\u00e9ho serveru\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1172\">webov\u00e9ho serveru<\/a>, ale ned\u011bl\u00e1me to pro DB. Ale pokud spadne DB, tak v na\u0161\u00ed klastrov\u00e9 infrastruktu\u0159e nen\u00ed \u017e\u00e1dn\u00fd smysl \u2014 jak\u00fd to m\u00e1 v\u00fdznam pro pr\u00e1zdn\u00e9 webov\u00e9 str\u00e1nky, kter\u00e9 vracej\u00ed chybu p\u0159\u00edstupu k datab\u00e1zi?<\/p>\n<p>Pr\u00e1v\u011b proto je pot\u0159eba klastrovat nejen webov\u00e9 servery, jak se obvykle d\u011bl\u00e1, ale tak\u00e9 infrastrukturu datab\u00e1ze. Jen tak m\u016f\u017eeme zajistit pln\u011b funk\u010dn\u00ed, ale p\u0159itom nez\u00e1vislou strukturu. A i kdy\u017e n\u00e1m \u201espadne\u201c polovina na\u0161eho backendu pod z\u00e1t\u011b\u017e\u00ed \u2014 zbytek p\u0159e\u017eije, a syst\u00e9m synchronizace DB mezi sebou v r\u00e1mci klastru a mo\u017enost nekone\u010dn\u00e9 \u0161k\u00e1lovatelnosti a nasazov\u00e1n\u00ed nov\u00fdch klastr\u016f pom\u016f\u017ee rychle dos\u00e1hnout pot\u0159ebn\u00e9ho v\u00fdkonu \u2014 sta\u010d\u00ed m\u00edt stojany v datov\u00e9m centru.<\/p>\n<p>Krom\u011b toho distribuovan\u00fd klastrov\u00fd model DB umo\u017e\u0148uje p\u0159en\u00e1\u0161et tuto samotnou DB tam, kde je pot\u0159eba; pokud hovo\u0159\u00edme o glob\u00e1ln\u00ed slu\u017eb\u011b, je pon\u011bkud nelogick\u00e9 provozovat webov\u00fd klastr n\u011bkde v oblasti San Francisca a z\u00e1rove\u0148 sm\u011brovat pakety p\u0159i dotazech na datab\u00e1zi do Moskevsk\u00e9 oblasti a zp\u011bt.<\/p>\n<p>Tak\u00e9 kontejnerizace DB umo\u017e\u0148uje vytvo\u0159it v\u0161echny prvky syst\u00e9mu na jedn\u00e9 \u00farovni abstrakce. Co\u017e zase umo\u017e\u0148uje spravovat tento syst\u00e9m p\u0159\u00edmo z k\u00f3du, v\u00fdvoj\u00e1\u0159i, bez aktivn\u00edho zapojen\u00ed administr\u00e1tor\u016f. Napadlo v\u00fdvoj\u00e1\u0159e, \u017ee pot\u0159ebuj\u00ed samostatnou S\u0158BD pro nov\u00fd d\u00edl\u010d\u00ed projekt \u2014 snadno! napsali yaml soubor, nahr\u00e1li do klastru a hotovo.<\/p>\n<p>A samoz\u0159ejm\u011b, intern\u00ed provoz se n\u011bkolikan\u00e1sobn\u011b zjednodu\u0161uje. \u0158ekn\u011bte n\u00e1m, kolikr\u00e1t jste p\u0159iv\u0159eli o\u010di v momentech, kdy nov\u00fd \u010dlen t\u00fdmu s\u00e1hnul do provozn\u00ed DB? Kter\u00e1 je, prakticky, jedin\u00e1 a pr\u00e1v\u011b te\u010f b\u011b\u017e\u00ed? Samoz\u0159ejm\u011b, v\u0161ichni jsme dosp\u011bl\u00ed lid\u00e9 a n\u011bkde m\u00e1me \u010derstvou z\u00e1lohu, a je\u0161t\u011b d\u00e1l \u2014 za polic\u00ed s babi\u010d\u010din\u00fdmi okurkami a star\u00fdmi ly\u017eemi \u2014 je\u0161t\u011b jednu z\u00e1lohu, mo\u017en\u00e1 dokonce na studen\u00e9m \u00falo\u017ei\u0161ti, proto\u017ee jednou u\u017e va\u0161e kancel\u00e1\u0159 ho\u0159ela. Ale st\u00e1le, ka\u017ed\u00e9 p\u0159ijet\u00ed nov\u00e9ho \u010dlena t\u00fdmu, kter\u00fd m\u00e1 p\u0159\u00edstup k provozn\u00ed infrastruktu\u0159e a samoz\u0159ejm\u011b k provozn\u00ed datab\u00e1zi \u2014 to je kbel\u00edk validolu pro v\u0161echny kolem. Kdo v\u00ed, co ten nov\u00e1\u010dek um\u00ed, mo\u017en\u00e1 je ne\u0161ika? D\u011bsiv\u00e9, souhlas\u00edte?<\/p>\n<p>Kontejnerizace a v podstat\u011b distribuovan\u00e1 fyzick\u00e1 topologie DB va\u0161eho projektu pom\u00e1h\u00e1 vyhnout se podobn\u00fdm validolov\u00fdm moment\u016fm. Ned\u016fv\u011b\u0159ujete nov\u00e1\u010dkovi? Dob\u0159e! Zalo\u017e\u00edme mu vlastn\u00ed klastr pro pr\u00e1ci a odpoj\u00edme od ostatn\u00edch klastra DB \u2014 synchronizace pouze ru\u010dn\u00edm pushem a synchronn\u00edm oto\u010den\u00edm dvou kl\u00ed\u010d\u016f (jedin\u00fd pro t\u00fdmov\u00e9ho vedouc\u00edho, druh\u00fd pro administr\u00e1tora). A v\u0161ichni jsou \u0161\u0165astn\u00ed.<\/p>\n<p>A nyn\u00ed nastal \u010das obr\u00e1tit se proti klasterizaci DB.<\/p>\n<h4>Temn\u00e1 strana<\/h4>\n<p>\nRozva\u017eujme, pro\u010d kontejnerizovat datab\u00e1zi a pokra\u010dovat ve b\u011bhu na jednom centr\u00e1ln\u00edm <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/server\/dts-dronten\/\"   title=\"serveru\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2482\">serveru<\/a>, nep\u016fjdem tak daleko, abychom se uch\u00fdlili k r\u00e9torice ortodoxn\u00edch a tvrzen\u00ed typu \u201ed\u011bdov\u00e9 b\u011b\u017eeli DB na \u017eeleze, a my budeme!\u201d M\u00edsto toho se pokusme vymyslet situaci, ve kter\u00e9 by kontejnerizace skute\u010dn\u011b p\u0159in\u00e1\u0161ela hmatateln\u00e9 dividendy.<\/p>\n<p>Souhlas\u00edte, \u017ee projekty, kter\u00e9 skute\u010dn\u011b pot\u0159ebuj\u00ed datab\u00e1zi v kontejneru, je mo\u017en\u00e9 spo\u010d\u00edtat na prstech jedn\u00e9 ruky ne moc dobr\u00e9ho fr\u00e9za\u0159e. V drtiv\u00e9 v\u011bt\u0161in\u011b p\u0159\u00edpad\u016f je i samotn\u00e9 pou\u017eit\u00ed k8s nebo Docker Swarm nadbyte\u010dn\u00e9 \u2014 velmi \u010dasto se tyto n\u00e1stroje pou\u017e\u00edvaj\u00ed kv\u016fli obecn\u00e9mu hype a pokyn\u016fm \u201ev\u0161emohouc\u00edch\u201d v podob\u011b mana\u017eer\u016f natla\u010dit v\u0161echno do oblak a kontejner\u016f. No, proto\u017ee te\u010f je to modern\u00ed a v\u0161ichni to d\u011blaj\u00ed.<\/p>\n<p>V polovin\u011b p\u0159\u00edpad\u016f je pou\u017e\u00edv\u00e1n\u00ed Kubernetes nebo pouze Dockeru v projektu nadbyte\u010dn\u00e9. Ot\u00e1zkou je, \u017ee ne v\u0161echny t\u00fdmy nebo outsourcingov\u00e9 spole\u010dnosti najat\u00e9 k obsluze klientsk\u00e9 infrastruktury si toho jsou v\u011bdomy. Hor\u0161\u00ed je, kdy\u017e jsou kontejnery vnucov\u00e1ny, proto\u017ee to klientovi p\u0159in\u00e1\u0161\u00ed ur\u010dit\u00e9 v\u00fddaje.<\/p>\n<p>Obecn\u011b panuje n\u00e1zor, \u017ee Docker\/K8s mafie jednodu\u0161e podmanila klienty, kte\u0159\u00ed deleguj\u00ed tyto infrastrukturn\u00ed z\u00e1le\u017eitosti na outsourcing. Aby bylo mo\u017en\u00e9 pracovat s clustery, pot\u0159ebujete in\u017een\u00fdry, kte\u0159\u00ed maj\u00ed schopnosti a porozum\u011bn\u00ed pro architekturu implementovan\u00e9ho \u0159e\u0161en\u00ed. U\u017e jsme popisovali n\u00e1\u0161 p\u0159\u00edpad s vyd\u00e1n\u00edm Republic \u2014 tam jsme \u0161kolili t\u00fdm klienta, jak pracovat v podm\u00ednk\u00e1ch Kubernetes, a v\u0161ichni byli spokojeni. A to bylo fair. \u010casto v\u0161ak \u201aimplement\u00e1to\u0159i\u2018 K8s berou klientskou infrastrukturu jako rukojm\u00ed \u2014 nyn\u00ed pouze oni ch\u00e1pou, jak v\u0161e funguje, a na stran\u011b klienta specialist\u00e9 chyb\u00ed.<\/p>\n<p>A te\u010f si p\u0159edstavte, \u017ee takov\u00fdm zp\u016fsobem p\u0159ed\u00e1v\u00e1me nejen webovou serverovou \u010d\u00e1st na pospas outsourcingu, ale tak\u00e9 spr\u00e1vu datab\u00e1z\u00ed. \u0158\u00edkali jsme, \u017ee datab\u00e1ze je srdcem, a ztr\u00e1ta srdce je fat\u00e1ln\u00ed pro jak\u00fdkoli \u017eiv\u00fd organismus. Zkr\u00e1tka, vyhl\u00eddky nejsou nejlep\u0161\u00edch. M\u00edsto hypovan\u00e9ho Kubernetes by mnoha projekt\u016fm sta\u010dilo ne\u0161et\u0159it na norm\u00e1ln\u00ed tarifu na AWS, kter\u00fd by vy\u0159e\u0161il v\u0161echny probl\u00e9my s n\u00e1ro\u010dnost\u00ed na jejich web\/projekt. Ale AWS u\u017e nen\u00ed trendy, a pr\u00e1zdn\u00e9 znaky jsou dra\u017e\u0161\u00ed ne\u017e pen\u00edze \u2014 bohu\u017eel, i v IT prost\u0159ed\u00ed.<\/p>\n<p>Okej. Mo\u017en\u00e1 clustering projektu skute\u010dn\u011b pot\u0159ebuje, ale pokud u\u017e je s stateless aplikacemi v\u0161e jasn\u00e9, jak potom zajistit kvalitn\u00ed s\u00ed\u0165ovou konektivitu pro klastry datab\u00e1z\u00ed?<\/p>\n<p>Pokud mluv\u00edme o bezprobl\u00e9mov\u00e9m in\u017een\u00fdrsk\u00e9m \u0159e\u0161en\u00ed, kter\u00fdm je p\u0159echod na k8s, na\u0161e hlavn\u00ed starost spo\u010d\u00edv\u00e1 v replikaci dat v clusterovan\u00e9 datab\u00e1zi. N\u011bkter\u00e9 DBMS od za\u010d\u00e1tku toleruj\u00ed rozd\u011blen\u00ed dat mezi jednotliv\u00fdmi instancemi. Mnoh\u00e9 jin\u00e9 v\u0161ak tolik nep\u0159ej\u00ed. A \u010dasto se rozhoduj\u00edc\u00edm argumentem pro v\u00fdb\u011br DBMS pro n\u00e1\u0161 projekt st\u00e1v\u00e1 zdaleka ne schopnost replikace s minim\u00e1ln\u00edmi n\u00e1roky na zdroje a in\u017een\u00fdrsk\u00e9 n\u00e1klady. Zvl\u00e1\u0161\u0165 pokud projekt nebyl p\u016fvodn\u011b pl\u00e1nov\u00e1n jako mikroslu\u017ebov\u00fd a jednodu\u0161e se vyvinul t\u00edmto sm\u011brem. <\/p>\n<p>O rychlosti provozu s\u00ed\u0165ov\u00fdch disk\u016f asi nen\u00ed t\u0159eba \u0159\u00edkat, \u017ee jsou pomal\u00e9. Tzn. re\u00e1lnou mo\u017enost p\u0159enastavit instanci DBMS n\u011bkde, kde jsou nap\u0159\u00edklad v\u011bt\u0161\u00ed procesorov\u00e9 mo\u017enosti nebo dostupn\u00e1 opera\u010dn\u00ed pam\u011b\u0165, stejn\u011b nem\u00e1me. Velmi brzy naraz\u00edme na v\u00fdkon virtualizovan\u00e9 diskov\u00e9 subsyst\u00e9my. Odpov\u00eddaj\u00edc\u00edm zp\u016fsobem mus\u00ed b\u00fdt DBMS p\u0159ipevn\u011bna ke sv\u00e9mu vlastn\u00edmu osobn\u00edmu souboru stroj\u016f, kter\u00e9 se nach\u00e1zej\u00ed v bezprost\u0159edn\u00ed bl\u00edzkosti. Nebo mus\u00edme n\u011bjak\u00fdm zp\u016fsobem vytvo\u0159it dostate\u010dn\u011b rychlou synchronizaci dat na p\u0159edpokl\u00e1dan\u00e9 rezervy. <\/p>\n<p>Pokud jde o t\u00e9ma virtu\u00e1ln\u00edch FS: Docker Volumes bohu\u017eel nejsou bezprobl\u00e9mov\u00e9. Obecn\u011b, p\u0159i dlouhodob\u00e9m spolehliv\u00e9m ukl\u00e1d\u00e1n\u00ed dat bychom cht\u011bli pou\u017e\u00edvat maxim\u00e1ln\u011b jednoduch\u00e9 technick\u00e9 sch\u00e9mata. A p\u0159id\u00e1n\u00ed nov\u00e9ho abstrahovan\u00e9ho vrstvy z FS kontejneru do FS hostitelsk\u00e9ho syst\u00e9mu je u\u017e samo o sob\u011b riziko. Ale kdy\u017e i b\u011bhem pr\u00e1ce syst\u00e9mu kontejnerizace vznikaj\u00ed pot\u00ed\u017ee s p\u0159enosem dat mezi t\u011bmito vrstvami, pak je to opravdu velk\u00fd probl\u00e9m. V sou\u010dasnosti je v\u011bt\u0161ina zn\u00e1m\u00fdch probl\u00e9m\u016f, kter\u00e9 lidstvu tr\u00e1pily, zd\u00e1 se, vy\u0159e\u0161en\u00e1. Ale rozum\u00edte, \u010d\u00edm slo\u017eit\u011bj\u0161\u00ed mechanismus, t\u00edm sn\u00e1ze se porouch\u00e1.<\/p>\n<p>Vzhledem ke v\u0161em t\u011bmto \u201edobrodru\u017estv\u00edm\u201c je mnohem v\u00fdhodn\u011bj\u0161\u00ed a jednodu\u0161\u0161\u00ed m\u00edt datab\u00e1zi na jednom m\u00edst\u011b, a i kdy\u017e pot\u0159ebujete kontejnerizaci aplikace \u2014 a\u0165 si b\u011b\u017e\u00ed sama a p\u0159es distribu\u010dn\u00ed br\u00e1nu zabezpe\u010duje sou\u010dasn\u00e9 spojen\u00ed s datab\u00e1z\u00ed, kter\u00e1 bude \u010dtena a zapisov\u00e1na pouze jednou a na jednom m\u00edst\u011b. Tento p\u0159\u00edstup sni\u017euje pravd\u011bpodobnost chyb a nesynchronizac\u00ed na minim\u00e1ln\u00ed \u00farove\u0148.<\/p>\n<p>Kam t\u00edm m\u00ed\u0159\u00edme? K tomu, \u017ee kontejnerizace datab\u00e1ze m\u00e1 smysl tam, kde je skute\u010dn\u011b pot\u0159ebn\u00e1. Nelze narvat datab\u00e1zi pln\u00e9ho aplika\u010dn\u00edho bal\u00ed\u010dku a provozovat ji tak, jako byste m\u011bli dv\u011b des\u00edtky mikroslu\u017eeb \u2014 tak to nefunguje. Je d\u016fle\u017eit\u00e9 to jasn\u011b ch\u00e1pat.<\/p>\n<h4>Nam\u00edsto v\u00fdstupu<\/h4>\n<p>\nPokud o\u010dek\u00e1v\u00e1te jasn\u00fd z\u00e1v\u011br \u201evirtualizovat nebo ne datab\u00e1zi\u201c, pak v\u00e1s zklameme: takov\u00fd z\u00e1v\u011br zde nebude. Proto\u017ee p\u0159i vytv\u00e1\u0159en\u00ed jak\u00e9hokoli infrastrukturn\u00edho \u0159e\u0161en\u00ed je t\u0159eba \u0159\u00eddit se nikoli m\u00f3dou a pokrokem, ale p\u0159edev\u0161\u00edm zdrav\u00fdm rozumem.<\/p>\n<p>Existuj\u00ed projekty, na kter\u00e9 principy a n\u00e1stroje spojen\u00e9 s Kubernetes dokonale sed\u00ed, a v takov\u00fdch projektech nast\u00e1v\u00e1 klid alespo\u0148 v oblasti backendu. A jsou projekty, kter\u00e9 nepot\u0159ebuj\u00ed kontejnerizaci, ale norm\u00e1ln\u00ed serverovou infrastrukturu, proto\u017ee nemohou princip\u00e1ln\u011b \u0161k\u00e1lovat pod mikroslu\u017eebn\u00fd clusterov\u00fd model, jinak by zkolabovaly.<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.3 - 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\/cs\/blog\/administrirovanie\/zhivut-li-bazy-dannyh-v-kubernetes\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\u00ed datab\u00e1ze v Kubernetes? | ProHoster","description":"Historicky se n\u011bjak stalo, \u017ee IT pr\u016fmysl po.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/zhivut-li-bazy-dannyh-v-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/34596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=34596"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/34596\/revisions"}],"predecessor-version":[{"id":159764,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/34596\/revisions\/159764"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=34596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=34596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=34596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}