{"id":34450,"date":"2019-10-31T21:58:24","date_gmt":"2019-10-31T18:58:24","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kubernetes-zahvatit-mir-kogda-i-kak\/"},"modified":"2019-10-31T21:58:24","modified_gmt":"2019-10-31T18:58:24","slug":"kubernetes-zahvatit-mir-kogda-i-kak","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kubernetes-zahvatit-mir-kogda-i-kak","title":{"rendered":"Kubernetes ovl\u00e1dne sv\u011bt. Kdy a jak?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u0159ed <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf<\/a><\/noindex> <b>Vitalij Chabarov<\/b> ud\u011blal rozhovor s\u00a0<b>Dmitrijem Stoljarem<\/b> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/distol\/\" class=\"user_link\">distol<\/a><\/noindex>), technick\u00fdm \u0159editelem a spoluzakladatelem spole\u010dnosti \u201eFlant\u201c. Vitalij se ptal Dmitrije, \u010d\u00edm se \u201eFlant\u201c zab\u00fdv\u00e1, na Kubernetes, v\u00fdvoj ekosyst\u00e9mu, podporu. Diskutovali o tom, pro\u010d je Kubernetes pot\u0159ebn\u00fd a zda je v\u016fbec nutn\u00fd. Tak\u00e9 o mikroservisech, Amazon AWS, p\u0159\u00edstupu \u201eM\u00e1m \u0161t\u011bst\u00ed\u201c v DevOps, budoucnosti samotn\u00e9ho Kubernetes, pro\u010d, kdy a jak ovl\u00e1dne sv\u011bt, perspektiv\u00e1ch DevOps a na co by se m\u011bli in\u017een\u00fd\u0159i p\u0159ipravit v bl\u00edzk\u00e9 budoucnosti s zjednodu\u0161ov\u00e1n\u00edm a neuronov\u00fdmi s\u00edt\u011bmi.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/devopsdeflope.ru\/posts\/2019\/047.html\">Origin\u00e1l rozhovoru<\/a><\/noindex> ve form\u011b podcastu si m\u016f\u017eete poslechnout na DevOps Deflop \u2014 rusky mluven\u00e9m podcastu o DevOps, a n\u00ed\u017ee je textov\u00e1 verze. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes ovl\u00e1dne sv\u011bt. Kdy a jak?\" src=\"\/wp-content\/uploads\/6341673ac500424dcaccce28967be5a5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZde a d\u00e1le ot\u00e1zky klade <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/vitkhab\">Vitalij Chabarov<\/a><\/noindex> in\u017een\u00fdr z Express42.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>O \u201eFlant\u201c<\/h2>\n<p>\n<b>\u2014 Dima, ahoj. Jsi technick\u00fd \u0159editel \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/\">Flant<\/a><\/noindex>\u201c a tak\u00e9 jeho zakladatel. Pros\u00edm, pov\u011bz n\u00e1m, \u010d\u00edm se spole\u010dnost a ty v n\u00ed zab\u00fdv\u00e1te?<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes ovl\u00e1dne sv\u011bt. Kdy a jak?\" src=\"\/wp-content\/uploads\/5bec6fcb38b142cc13f75f8eb4dfd834.jpg\" style=\"display:block;margin: 0 auto;\" \/><b>Dmitrij<\/b>: Na venek to vypad\u00e1, jako bychom byli takov\u00ed kluci, kte\u0159\u00ed chod\u00ed a v\u0161em instaluj\u00ed Kubernetes a n\u011bco s n\u00edm d\u011blaj\u00ed. Ale to nen\u00ed pravda. Za\u010d\u00ednali jsme jako spole\u010dnost, kter\u00e1 se zab\u00fdvala Linuxem, ale u\u017e velmi dlouho je na\u0161\u00ed hlavn\u00ed \u010dinnost\u00ed zaji\u0161t\u011bn\u00ed chodu produk\u010dn\u00edch a high-load projekt\u016f na kl\u00ed\u010d. Obvykle budujeme celou infrastrukturu od nuly a pot\u00e9 ji dlouho spravujeme. Proto je hlavn\u00ed prac\u00ed, kterou \u201eFlant\u201c vykon\u00e1v\u00e1, za co\u017e tak\u00e9 dost\u00e1v\u00e1me zaplaceno \u2014 to je <b>p\u0159eb\u00edr\u00e1n\u00ed odpov\u011bdnosti a realizace produkce na kl\u00ed\u010d<\/b>.<br \/>\n<br clear=\"left\"><br \/>\n<br clear=\"left\"><br \/>\nJako technick\u00fd \u0159editel a jeden ze spoluzakladatel\u016f spole\u010dnosti se neust\u00e1le zab\u00fdv\u00e1m t\u00edm, jak zv\u00fd\u0161it dostupnost produkce, zjednodu\u0161it jej\u00ed provoz, uleh\u010dit \u017eivot administr\u00e1tor\u016fm a zp\u0159\u00edjemnit \u017eivot v\u00fdvoj\u00e1\u0159\u016fm.<\/p>\n<h2>O Kubernetes<\/h2>\n<p>\n<b>\u2014 V posledn\u00ed dob\u011b vid\u00edm od \u201eFlantu\u201c hodn\u011b p\u0159edn\u00e1\u0161ek a\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/431500\/\">\u010dl\u00e1nk\u016f<\/a><\/noindex> o Kubernetes. Jak jste se k n\u011bmu dostali?<\/b><\/p>\n<p><b>Dmitrij<\/b>: O tom jsem ji\u017e mnohokr\u00e1t vypr\u00e1v\u011bl, ale v\u016fbec mi nen\u00ed l\u00edto to zopakovat. Pova\u017euji za spr\u00e1vn\u00e9 tuto t\u00e9matiku opakovat, proto\u017ee doch\u00e1z\u00ed k z\u00e1m\u011bn\u011b p\u0159\u00ed\u010diny a n\u00e1sledku.<\/p>\n<p>Pot\u0159ebovali jsme n\u00e1stroj. Setk\u00e1vali jsme se s mnoha probl\u00e9my, bojovali jsme s nimi, p\u0159ekon\u00e1vali je r\u016fzn\u00fdmi improvizovan\u00fdmi \u0159e\u0161en\u00edmi a c\u00edtili jsme pot\u0159ebu n\u00e1stroje. Prozkoumali jsme mnoho r\u016fzn\u00fdch variant, vytv\u00e1\u0159eli sv\u00e9 vlastn\u00ed verze a sb\u00edrali zku\u0161enosti. Postupn\u011b jsme dosp\u011bli k tomu, \u017ee jsme za\u010dali pou\u017e\u00edvat Docker t\u00e9m\u011b\u0159 ihned po jeho vzniku \u2013 p\u0159ibli\u017en\u011b v roce 2013. V dob\u011b jeho vzniku jsme ji\u017e m\u011bli hodn\u011b zku\u0161enost\u00ed s kontejnery, u\u017e jsme napsali obdobu \u201eDockeru\u201c \u2013 n\u011bjak\u00e9 na\u0161e improvizovan\u00e9 \u0159e\u0161en\u00ed na Pythonu. S p\u0159\u00edchodem Dockeru jsme m\u011bli mo\u017enost tyto improvizace zahodit a pou\u017e\u00edt spolehliv\u00e9 a komunitn\u011b podporovan\u00e9 \u0159e\u0161en\u00ed.<\/p>\n<p>S Kubernetes je to podobn\u00e9. V dob\u011b, kdy za\u010dal nab\u00edrat na s\u00edle \u2013 pro n\u00e1s verze 1.2 \u2013 jsme ji\u017e m\u011bli spoustu improvizovan\u00fdch \u0159e\u0161en\u00ed jak na Shell, tak na Chef, kter\u00e9 jsme se sna\u017eili orchestrac\u00ed pro Docker. Z\u00e1va\u017en\u011b jsme zva\u017eovali Rancher a r\u016fzn\u00e1 dal\u0161\u00ed \u0159e\u0161en\u00ed, ale pak se objevil Kubernetes, v n\u011bm\u017e je v\u0161e realizov\u00e1no p\u0159esn\u011b tak, jak bychom to ud\u011blali my, mo\u017en\u00e1 i l\u00e9pe. Nen\u00ed co vytknout.<\/p>\n<p>Ano, je tu n\u011bjak\u00e1 nedod\u011blanost, tam je n\u011bjak\u00e1 nedod\u011blanost \u2014 hodn\u011b nedod\u011blanost\u00ed, a 1.2 je v\u016fbec \u0161\u00edlen\u00e9, ale\u2026 Kubernetes je jako budova v procesu stavby \u2014 pod\u00edv\u00e1\u0161 se na projekt a v\u00ed\u0161, \u017ee to bude skv\u011bl\u00e9. Pokud m\u00e1 budova te\u010f z\u00e1klady a dv\u011b patra, v\u00ed\u0161, \u017ee je lep\u0161\u00ed se zat\u00edm neusazovat, ale u softwaru takov\u00e9 probl\u00e9my nejsou \u2014 u\u017e se d\u00e1 pou\u017e\u00edvat.<\/p>\n<blockquote><p>Nem\u011bli jsme moment, kdybychom zva\u017eovali, zda pou\u017e\u00edt Kubernetes \u010di nikoli. \u010cekali jsme na n\u011bj dlouho p\u0159edt\u00edm, ne\u017e se objevil, a sna\u017eili se sami vytvo\u0159it analogie.<\/p><\/blockquote>\n<p><\/p>\n<h2>Kubernetes<\/h2>\n<p>\n<b>\u2014 \u00da\u010dastn\u00edte se p\u0159\u00edmo v\u00fdvoje samotn\u00e9ho Kubernetes?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Nep\u0159\u00edmo. Sp\u00ed\u0161e se pod\u00edl\u00edme na rozvoji ekosyst\u00e9mu. Odes\u00edl\u00e1me n\u011bjak\u00e9 mno\u017estv\u00ed pull request\u016f: do Prometheus, do r\u016fzn\u00fdch oper\u00e1tor\u016f, do Helm \u2013 do ekosyst\u00e9mu. Bohu\u017eel, nejsem schopen sledovat v\u0161e, co d\u011bl\u00e1me, a mohu se m\u00fdlit, ale od n\u00e1s nen\u00ed ani jeden pull request do j\u00e1dra.<\/p>\n<p><b>\u2014 P\u0159itom vy vyv\u00edj\u00edte i mnoho sv\u00fdch n\u00e1stroj\u016f kolem Kubernetes?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Strategie je takov\u00e1: jdeme a odes\u00edl\u00e1me pull requesty v\u0161ude, kde to u\u017e je. Pokud tam pull requesty nejsou p\u0159ij\u00edm\u00e1ny, prost\u011b si je forkneme k sob\u011b a \u017eijeme, dokud nejsou p\u0159ijaty s na\u0161imi buildy. Pot\u00e9, kdy\u017e to dolet\u00ed k upstream, vrac\u00edme se zp\u011bt na upstreamovou verzi.<\/p>\n<p>Nap\u0159\u00edklad m\u00e1me Prometheus oper\u00e1tora, se kter\u00fdm jsme se u\u017e asi p\u011btkr\u00e1t p\u0159eklik\u00e1vali na upstream na\u0161\u00ed sestavy. Pot\u0159ebujeme n\u011bjakou funkci, poslali jsme pull request, chceme ji nasadit z\u00edtra, ale \u010dekat, a\u017e ji uvoln\u00ed do upstreamu, se n\u00e1m nechce. Tak\u017ee si sestav\u00edme vlastn\u00ed verzi s pot\u0159ebnou funkc\u00ed a nasad\u00edme ji na v\u0161echny na\u0161e clustery. Pak to nap\u0159\u00edklad v upstreamu zabal\u00ed s n\u00e1vrhem: \u201eKluci, poj\u010fme to ud\u011blat pro obecn\u011bj\u0161\u00ed p\u0159\u00edpad,\u201c a my, nebo n\u011bkdo jin\u00fd, to dod\u011bl\u00e1me, a nakonec se to op\u011bt slou\u010d\u00ed zp\u011bt.<\/p>\n<p><b>V\u0161echno, co existuje, se sna\u017e\u00edme rozv\u00edjet.<\/b>. Mnoho prvk\u016f, kter\u00e9 je\u0161t\u011b neexistuj\u00ed, nebylo vymysleno nebo bylo vymy\u0161leno, ale nebylo realizov\u00e1no \u2013 ty d\u011bl\u00e1me. A ne proto, \u017ee n\u00e1s bav\u00ed samotn\u00fd proces nebo stav\u011bn\u00ed bicykl\u016f jako obor, ale prost\u011b proto, \u017ee tento n\u00e1stroj pot\u0159ebujeme. \u010casto se n\u00e1s ptaj\u00ed, pro\u010d jsme ud\u011blali to \u010di ono? Odpov\u011b\u010f je jednoduch\u00e1 \u2013 proto\u017ee jsme museli j\u00edt d\u00e1l, vy\u0159e\u0161it n\u011bjak\u00fd praktick\u00fd probl\u00e9m, a tento probl\u00e9m jsme vy\u0159e\u0161ili t\u00edmto n\u00e1strojem.<\/p>\n<blockquote><p>Cesta je v\u017edy takov\u00e1: velmi pe\u010dliv\u011b hled\u00e1me a pokud nenajdeme \u017e\u00e1dn\u00e9 \u0159e\u0161en\u00ed, jak z bochn\u00edku chleba ud\u011blat trolejbus, vyrob\u00edme si sv\u016fj bochn\u00edk a sv\u016fj trolejbus.<\/p><\/blockquote>\n<p><\/p>\n<h2>N\u00e1stroje Flanty<\/h2>\n<p>\n<b>\u2014 V\u00edm, \u017ee nyn\u00ed m\u00e1 Flanta addon oper\u00e1tory, shell oper\u00e1tory, n\u00e1stroje dapp\/werf. Jak ch\u00e1pu, je to stejn\u00fd n\u00e1stroj v r\u016fzn\u00fdch inkarnac\u00edch. Tak\u00e9 ch\u00e1pu, \u017ee uvnit\u0159 Flanty je je\u0161t\u011b mnoho r\u016fzn\u00fdch n\u00e1stroj\u016f. Je to tak?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Na GitHubu m\u00e1me je\u0161t\u011b spoustu dal\u0161\u00edch v\u011bc\u00ed. Z toho, co si te\u010f pamatuji, m\u00e1me statusmap \u2013 panel pro Grafanu, kter\u00fd si z\u00edskal v\u0161echny. Zmi\u0148uje se t\u00e9m\u011b\u0159 v ka\u017ed\u00e9m druh\u00e9m \u010dl\u00e1nku o monitorov\u00e1n\u00ed Kubernetes na Mediumu. Nen\u00ed mo\u017en\u00e9 to stru\u010dn\u011b popsat, co statusmap je \u2013 pot\u0159ebujeme na to samostatn\u00fd \u010dl\u00e1nek, ale je to velmi u\u017eite\u010dn\u00e1 v\u011bc pro sledov\u00e1n\u00ed stavu v \u010dase, proto\u017ee v Kubernetes \u010dasto pot\u0159ebujeme zobrazit stav v \u010dase. Tak\u00e9 m\u00e1me LogHouse \u2013 to je v\u011bc na b\u00e1zi ClickHouse a \u010dern\u00e9 magie pro sb\u011br log\u016f v Kubernetes.<\/p>\n<p>Mnoho utilit! A bude jich je\u0161t\u011b v\u00edce, proto\u017ee ur\u010dit\u00e9 intern\u00ed \u0159e\u0161en\u00ed bude vyd\u00e1no tento rok. Z velmi velk\u00fdch, na z\u00e1klad\u011b addon oper\u00e1tora, existuje spousta addon\u016f pro Kubernetes, nap\u0159\u00edklad jak spr\u00e1vn\u011b nainstalovat certifik\u00e1t manager \u2013 n\u00e1stroj pro spr\u00e1vu certifik\u00e1t\u016f, jak spr\u00e1vn\u011b nainstalovat Prometheus s celou \u0159adou dopl\u0148k\u016f \u2013 to jsou des\u00edtky r\u016fzn\u00fdch bin\u00e1rn\u00edch soubor\u016f, kter\u00e9 exportuj\u00ed data a n\u011bco shroma\u017e\u010fuj\u00ed, k tomu Prometheus m\u00e1 skv\u011blou grafiku a alerty. To v\u0161e jsou vlastn\u011b spousty addon\u016f pro Kubernetes, kter\u00e9 se instaluj\u00ed do clusteru, a t\u00edm se prom\u011b\u0148uje z jednoduch\u00e9ho na v\u00fdkonn\u011bj\u0161\u00ed, sofistikovan\u00fd a automatizovan\u00fd, ve kter\u00e9m je mnoho probl\u00e9m\u016f ji\u017e vy\u0159e\u0161eno. Ano, d\u011bl\u00e1me hodn\u011b.<\/p>\n<h2>Rozvoj ekosyst\u00e9mu<\/h2>\n<p>\n<b>\u2014 Mysl\u00edm, \u017ee to je velmi velk\u00fd p\u0159\u00edsp\u011bvek k rozvoji tohoto n\u00e1stroje a jeho metod pou\u017eit\u00ed. M\u016f\u017ee\u0161 n\u011bjak odhadnout, kdo by je\u0161t\u011b p\u0159isp\u011bl stejn\u00fdm zp\u016fsobem k rozvoji ekosyst\u00e9mu?<\/b><\/p>\n<p><b>Dmitrij<\/b>: <b>V Rusku z t\u011bch spole\u010dnost\u00ed, kter\u00e9 p\u016fsob\u00ed na na\u0161em trhu \u2013 nikdo ani zdaleka<\/b>. Samoz\u0159ejm\u011b, to je siln\u00e9 vyj\u00e1d\u0159en\u00ed, proto\u017ee tu jsou velc\u00ed hr\u00e1\u010di, jako Mail s Yandexem \u2013 ti tak\u00e9 n\u011bco d\u011blaj\u00ed s Kubernetes, ale ani oni se ani zdaleka nep\u0159ibl\u00ed\u017eili k p\u0159\u00edsp\u011bvk\u016fm spole\u010dnost\u00ed po cel\u00e9m sv\u011bt\u011b, kter\u00e9 d\u011blaj\u00ed mnohem v\u00edc ne\u017e my. T\u011b\u017eko se srovn\u00e1v\u00e1 \u201eFlant\u201c s t\u00fdmem o 80 lidech a Red Hat, ve kter\u00e9m je pouze na jedno Kubernetes 300 in\u017een\u00fdr\u016f, pokud se nepletu. Je obt\u00ed\u017en\u00e9 srovn\u00e1vat. U n\u00e1s v odd\u011blen\u00ed RnD je 6 lid\u00ed v\u010detn\u011b m\u011b, kte\u0159\u00ed vyv\u00edjej\u00ed v\u0161echny na\u0161e n\u00e1stroje. 6 lid\u00ed proti 300 in\u017een\u00fdr\u016fm Red Hat \u2013 takov\u00e9 srovn\u00e1n\u00ed je slo\u017eit\u00e9.<\/p>\n<p><b>\u2014 P\u0159esto, kdy\u017e i t\u011bchto 6 lid\u00ed dok\u00e1\u017ee ud\u011blat n\u011bco opravdu u\u017eite\u010dn\u00e9ho a p\u0159enosn\u00e9ho, kdy\u017e se setkaj\u00ed s praktick\u00fdm \u00fakolem a p\u0159edaj\u00ed \u0159e\u0161en\u00ed komunit\u011b \u2013 to je zaj\u00edmav\u00fd p\u0159\u00edpad. Ch\u00e1pu, \u017ee ve velk\u00fdch technologick\u00fdch spole\u010dnostech, kde maj\u00ed vlastn\u00ed v\u00fdvoj a t\u00fdm podpory Kubernetes, by tak\u00e9 mohly b\u00fdt vyv\u00edjeny podobn\u00e9 n\u00e1stroje. To je pro n\u011b p\u0159\u00edklad, \u017ee je mo\u017en\u00e9 vyvinout n\u00e1stroj a p\u0159edat ho komunit\u011b, co\u017e ud\u011bl\u00e1 impuls pro celou komunitu, kter\u00e1 pou\u017e\u00edv\u00e1 Kubernetes.<\/b><\/p>\n<p><b>Dmitrij<\/b>: Je to pravd\u011bpodobn\u011b zvl\u00e1\u0161tnost integr\u00e1tora, jeho odli\u0161nost. V na\u0161em p\u0159\u00edpad\u011b m\u00e1me mnoho projekt\u016f a vid\u00edme r\u016fzn\u00e9 situace. Hlavn\u00ed zp\u016fsob, jak vytv\u00e1\u0159\u00edme p\u0159idanou hodnotu, je analyzovat tyto p\u0159\u00edpady, naj\u00edt spole\u010dn\u00e9 rysy a co nejv\u00edce je zlevnit. T\u00edm se aktivn\u011b zab\u00fdv\u00e1me. O Rusku a sv\u011bt\u011b mohu hovo\u0159it obt\u00ed\u017en\u011b, ale m\u00e1me p\u0159ibli\u017en\u011b 40 DevOps in\u017een\u00fdr\u016f, kte\u0159\u00ed se v\u011bnuj\u00ed Kubernetes. Nemysl\u00edm si, \u017ee v Rusku existuje mnoho firem srovnateln\u00e9ho po\u010dtu specialist\u016f, kte\u0159\u00ed se vyznaj\u00ed v Kubernetes, pokud v\u016fbec n\u011bjak\u00e9 jsou.<\/p>\n<p>Rozum\u00edm v\u0161emu ohledn\u011b n\u00e1zvu pozice DevOps in\u017een\u00fdr, v\u0161ichni to ch\u00e1pou a zvykl\u00ed naz\u00fdvat DevOps in\u017een\u00fdry DevOps in\u017een\u00fdry, o tom se bavit nebudeme. V\u0161ech t\u011bchto 40 skv\u011bl\u00fdch DevOps in\u017een\u00fdr\u016f se ka\u017ed\u00fd den setk\u00e1v\u00e1 s probl\u00e9my a \u0159e\u0161\u00ed je, my jen analyzujeme tuto zku\u0161enost a sna\u017e\u00edme se ji generalizovat. Ch\u00e1peme, \u017ee pokud to z\u016fstane uvnit\u0159, za rok nebo dva bude n\u00e1stroj k ni\u010demu, proto\u017ee n\u011bkde v komunit\u011b se objev\u00ed hotov\u00fd n\u00e1stroj. Nen\u00ed smysl hromadit tuto zku\u0161enost uvnit\u0159 \u2014 to je jen vypl\u00fdv\u00e1n\u00ed sil a \u010dasu do dev\/null. Proto n\u00e1m nen\u00ed l\u00edto. S velkou radost\u00ed v\u0161e publikujeme a ch\u00e1peme, \u017ee je t\u0159eba to publikovat, rozv\u00edjet, propagovat, aby lid\u00e9 pou\u017e\u00edvali a p\u0159id\u00e1vali sv\u00e9 zku\u0161enosti \u2014 pak v\u0161e roste a \u017eije. Tehdy za dva roky n\u00e1stroj nekon\u010d\u00ed na smeti\u0161ti. Nepohne n\u00e1s pokra\u010dovat v investov\u00e1n\u00ed sil, proto\u017ee je vid\u011bt, \u017ee n\u011bkdo tv\u016fj n\u00e1stroj pou\u017e\u00edv\u00e1, a za dva roky u\u017e ho pou\u017e\u00edvaj\u00ed v\u0161ichni.<\/p>\n<p><b>To je sou\u010d\u00e1st na\u0161\u00ed velk\u00e9 strategie s dapp\/werf<\/b>. Nepamatuji se, kdy jsme ho za\u010dali d\u011blat, zd\u00e1 se, \u017ee p\u0159ed t\u0159emi lety. P\u016fvodn\u011b byl v\u016fbec na shellu. Bylo to skv\u011bl\u00e9 proof of concept, vy\u0159e\u0161ili jsme n\u011bjak\u00e9 na\u0161e soukrom\u00e9 \u00fakoly \u2014 povedlo se! Ale se shellem jsou tam probl\u00e9my, d\u00e1l to nen\u00ed mo\u017en\u00e9 rozv\u00edjet, programovat v shellu je tak trochu \u010dinnost. M\u011bli jsme zvyk ps\u00e1t v Ruby, a tak jsme n\u011bco p\u0159ed\u011blali, rozv\u00edjeli, rozv\u00edjeli, a narazili jsme na to, \u017ee komunita, z\u00e1stupci, kte\u0159\u00ed ne\u0159\u00edkaj\u00ed \"chceme nebo nechceme\", krout\u00ed nos od Ruby, jak to nen\u00ed sm\u011b\u0161n\u00e9. Pochopili jsme, \u017ee to v\u0161echno mus\u00edme ps\u00e1t v Go, abychom jednodu\u0161e splnili prvn\u00ed bod v kontroln\u00edm seznamu: <b>DevOps n\u00e1stroj by m\u011bl b\u00fdt statick\u00fdm bin\u00e1rn\u00edm souborem<\/b>Na Go nebo ne na Go nen\u00ed tak d\u016fle\u017eit\u00e9, ale je lep\u0161\u00ed m\u00edt statick\u00fd bin\u00e1rn\u00ed soubor napsan\u00fd v Go.<\/p>\n<p>Vynalo\u017eili jsme \u00fasil\u00ed a p\u0159epracovali dapp na Go a nazvali ho werf. Dapp u\u017e nen\u00ed podporov\u00e1n, nevyv\u00edj\u00ed se, funguje v n\u011bjak\u00e9 posledn\u00ed verzi, ale existuje absolutn\u00ed cesta ke zlep\u0161en\u00ed, kterou lze sledovat.<\/p>\n<h2>Pro\u010d byl dapp vytv\u00e1\u0159en<\/h2>\n<p>\n<b>\u2014 M\u016f\u017ee\u0161 stru\u010dn\u011b \u0159\u00edct, pro\u010d byl dapp vytv\u00e1\u0159en, jak\u00e9 probl\u00e9my \u0159e\u0161\u00ed?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Prvn\u00ed d\u016fvod je ve stavb\u011b. P\u016fvodn\u011b jsme m\u011bli v\u00e1\u017en\u00e9 probl\u00e9my se stavbou, kdy\u017e Docker neum\u011bl multi-stage, a my jsme vytvo\u0159ili multi-stage vlastn\u00edmi silami. Pak jsme m\u011bli je\u0161t\u011b spoustu ot\u00e1zek s \u00faklidem obraz\u016f. V\u0161ichni, kdo d\u011blaj\u00ed CI\/CD, se sp\u00ed\u0161e d\u0159\u00edve ne\u017e pozd\u011bji setk\u00e1vaj\u00ed s probl\u00e9mem, \u017ee existuje spousta vytvo\u0159en\u00fdch obraz\u016f, a je pot\u0159eba n\u011bjak vy\u010distit to, co nen\u00ed pot\u0159eba, a nechat to, co je pot\u0159eba.<\/p>\n<p>Druh\u00fd d\u016fvod je v nasazen\u00ed. Ano, existuje Helm, ale ten \u0159e\u0161\u00ed pouze \u010d\u00e1st \u00fakol\u016f. Jak vtipn\u011b, je naps\u00e1no, \u017ee \"Helm - spr\u00e1vce bal\u00ed\u010dk\u016f pro Kubernetes\". P\u0159esn\u011b, \u017ee \"the\". Jsou tu je\u0161t\u011b slova \"spr\u00e1vce bal\u00ed\u010dk\u016f\" - jak\u00e1 jsou obvykle o\u010dek\u00e1v\u00e1n\u00ed od spr\u00e1vy bal\u00ed\u010dk\u016f? \u0158\u00edk\u00e1me: \"Spr\u00e1vce bal\u00ed\u010dk\u016f - nainstaluj bal\u00ed\u010dek!\" a o\u010dek\u00e1v\u00e1me, \u017ee n\u00e1m \u0159ekne: \"Bal\u00ed\u010dek je nainstalov\u00e1n.\" <\/p>\n<p>Zaj\u00edmav\u00e9 je, \u017ee \u0159\u00edk\u00e1me: \"Helm, nainstaluj bal\u00ed\u010dek\", a kdy\u017e odpov\u00ed, \u017ee nainstaloval, zjist\u00ed se, \u017ee teprve za\u010dal instalaci - uk\u00e1zal Kubernetes: \"Tento kousek spus\u0165!\", a zda byl spu\u0161t\u011bn nebo ne, zafungoval \u010di ne, Helm tuto ot\u00e1zku v\u016fbec ne\u0159e\u0161\u00ed.<\/p>\n<blockquote><p>Tak se tedy ukazuje, \u017ee Helm je jen textov\u00fd preprocessore, kter\u00fd na\u010d\u00edt\u00e1 data do Kubernetes.<\/p><\/blockquote>\n<p>\nAle v r\u00e1mci jak\u00e9hokoliv nasazen\u00ed chceme v\u011bd\u011bt - aplikace byla nasazena do produkce \u010di nikoli? Nasazena do produkce znamen\u00e1, \u017ee aplikace se tam dostala, byla nasazena nov\u00e1 verze a ta tam minim\u00e1ln\u011b nespadne a spr\u00e1vn\u011b odpov\u00edd\u00e1. Helm tuto \u00falohu v\u016fbec ne\u0159e\u0161\u00ed. Abychom ji vy\u0159e\u0161ili, je nutn\u00e9 vynalo\u017eit spoustu \u00fasil\u00ed, proto\u017ee je t\u0159eba d\u00e1t Kubernetes p\u0159\u00edkaz k nasazen\u00ed a sledovat, co se tam d\u011bje - zda se nasadilo, zda bylo vyd\u00e1no. A je\u0161t\u011b je pot\u0159eba vy\u0159e\u0161it spoustu \u00fakol\u016f, kter\u00e9 souvisej\u00ed s nasazen\u00edm, \u00faklidem, se stavbou.<\/p>\n<h2>Pl\u00e1ny<\/h2>\n<p>\nJe\u0161t\u011b letos se pust\u00edme do lok\u00e1ln\u00edho v\u00fdvoje. Chceme dos\u00e1hnout toho, co bylo d\u0159\u00edve ve Vagrant \u2013 zadali jsme \"vagrant up\" a na\u0161e virtu\u00e1ln\u00ed stroje se rozb\u011bhly. Chceme dos\u00e1hnout stavu, kdy m\u00e1me projekt na Git, nap\u00ed\u0161eme tam \"werf up\" a to zvedne lok\u00e1ln\u00ed kopii tohoto projektu, nasazenou v lok\u00e1ln\u00edm mini-Kub, se v\u0161emi p\u0159ipojen\u00fdmi adres\u00e1\u0159i, kter\u00e9 jsou vhodn\u00e9 pro v\u00fdvoj. V z\u00e1vislosti na jazyce v\u00fdvoje to prob\u00edh\u00e1 r\u016fzn\u00fdmi zp\u016fsoby, ale p\u0159esto, aby bylo mo\u017en\u00e9 pohodln\u011b v\u00e9st lok\u00e1ln\u00ed v\u00fdvoj s namontovan\u00fdmi soubory.<\/p>\n<p>Dal\u0161\u00ed krok pro n\u00e1s je v\u00fdrazn\u011b <b>investovat do pohodl\u00ed pro v\u00fdvoj\u00e1\u0159e<\/b>. Aby bylo mo\u017en\u00e9 jedn\u00edm n\u00e1strojem rychle lok\u00e1ln\u011b nasadit projekt, vyvinout, poslat do Git, a ten se stejn\u011b tak nasad\u00ed na staging nebo do test\u016f, v z\u00e1vislosti na pipeline, a pak stejn\u00fdm n\u00e1strojem p\u0159ej\u00edt na produkci. Tato jednotnost, unifikace, reprodukovatelnost infrastruktury od lok\u00e1ln\u00edho prost\u0159ed\u00ed a\u017e po produkci je pro n\u00e1s velmi d\u016fle\u017eit\u00fdm bodem. Ale to zat\u00edm ve werf nen\u00ed \u2013 jen to pl\u00e1nujeme.<\/p>\n<p>Ale cesta k dapp\/werf byla v\u017edy podobn\u00e1, jako ta s Kubernetes na za\u010d\u00e1tku. Narazili jsme na probl\u00e9my, \u0159e\u0161ili je alternativn\u00edmi cestami \u2013 vym\u00fd\u0161leli jsme si n\u011bjak\u00e1 \u0159e\u0161en\u00ed na shellu, na \u010demkoliv. Potom jsme se sna\u017eili tyto alternativn\u00ed cesty n\u011bjak zjednodu\u0161it, zobecnit a konsolidovat do bin\u00e1rek, kter\u00e9 pak prost\u011b sd\u00edl\u00edme.<\/p>\n<p>Existuje je\u0161t\u011b jin\u00fd pohled na celou tuto historii, s analogiemi. <\/p>\n<blockquote><p>Kubernetes je r\u00e1m auta s motorem. Nen\u00ed tam \u017e\u00e1dn\u00e9 dve\u0159e, skla, r\u00e1dio, ani vonn\u00e1 ty\u010dinka \u2013 v\u016fbec nic. Jen r\u00e1m a motor. A je tu Helm \u2013 to je volant. Super \u2013 volant je, ale pot\u0159ebujeme je\u0161t\u011b \u0159\u00edzen\u00ed, \u0159\u00edzen\u00ed, p\u0159evodovku a kola, a bez nich to nejde.<\/p><\/blockquote>\n<p>\nV p\u0159\u00edpad\u011b werf \u2013 to je dal\u0161\u00ed komponenta k Kubernetes. Jen nyn\u00ed m\u00e1me v alfa verzi werf, kde se nap\u0159\u00edklad Helm v\u016fbec kompiluje dovnit\u0159 werf, proto\u017ee n\u00e1s u\u017e nebav\u00ed to d\u011blat sami. D\u016fvod\u016f, pro\u010d jsme to ud\u011blali, a podrobn\u011b o tom, pro\u010d jsme zkompilovali Helm spolu s tiller dovnit\u0159 werf, v\u00e1m \u0159eknu pr\u00e1v\u011b <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\/abstracts\/5136\">na p\u0159edn\u00e1\u0161ce na RIT++<\/a><\/noindex>.<\/p>\n<p>Nyn\u00ed je werf v\u00edce integrovanou sou\u010d\u00e1st\u00ed. Dost\u00e1v\u00e1me hotov\u00fd volant, \u0159\u00edzen\u00ed \u2014 nejsem moc zdatn\u00fd v automobilech, ale je to velk\u00fd blok, kter\u00fd \u0159e\u0161\u00ed u\u017e dost \u0161irok\u00e9 spektrum \u00fakol\u016f. Nemus\u00edme sami proch\u00e1zet katalog, vyb\u00edrat si jednotliv\u00e9 d\u00edly, p\u0159em\u00fd\u0161let, jak je k sob\u011b p\u0159ipevnit. Dost\u00e1v\u00e1me hotov\u00fd kombajn, kter\u00fd okam\u017eit\u011b \u0159e\u0161\u00ed velk\u00e9 mno\u017estv\u00ed \u00fakol\u016f. Ale uvnit\u0159 je st\u00e1le postaven ze stejn\u00fdch open-source komponent, st\u00e1le pou\u017e\u00edv\u00e1 Docker pro sestaven\u00ed, Helm pro \u010d\u00e1st funkcionality, a je tu je\u0161t\u011b n\u011bkolik dal\u0161\u00edch knihoven. Je to integrovan\u00fd n\u00e1stroj, aby bylo mo\u017en\u00e9 rychle a pohodln\u011b z\u00edskat skv\u011bl\u00fd CI\/CD z krabice.<\/p>\n<h2>Je obt\u00ed\u017en\u00e9 udr\u017eovat Kubernetes?<\/h2>\n<p>\n<b>\u2014 Mluv\u00ed\u0161 o zku\u0161enostech, \u017ee jste za\u010dali pou\u017e\u00edvat Kubernetes, \u017ee to je pro v\u00e1s r\u00e1m, motor, a \u017ee na to lze p\u0159ipevnit r\u016fzn\u00e9 sou\u010d\u00e1sti: karoserii, volant, p\u0159ipevnit ped\u00e1ly, sedadla. Vznik\u00e1 ot\u00e1zka \u2014 jak t\u011b\u017ek\u00e9 je pro v\u00e1s udr\u017eov\u00e1n\u00ed Kubernetes? M\u00e1te bohat\u00e9 zku\u0161enosti, kolik \u010dasu a zdroj\u016f v\u011bnujete konkr\u00e9tn\u011b udr\u017eov\u00e1n\u00ed Kubernetes od ostatn\u00edch v\u011bc\u00ed?<\/b><\/p>\n<p><b>Dmitrij<\/b>: To je velmi slo\u017eit\u00e1 ot\u00e1zka a abychom mohli odpov\u011bd\u011bt, mus\u00edme pochopit, co je podpora, a co chceme od Kubernetes. M\u016f\u017ee\u0161 to objasnit?<\/p>\n<p><b>\u2014 Jak m\u011b informovali a jak vid\u00edm, nyn\u00ed mnoho t\u00fdm\u016f chce zkusit Kubernetes. V\u0161ichni se do toho pou\u0161t\u011bj\u00ed, instaluj\u00ed ho na koleni. M\u00e1m pocit, \u017ee lid\u00e9 ne v\u017edy ch\u00e1pou slo\u017eitost tohoto syst\u00e9mu.<\/b><\/p>\n<p><b>Dmitrij<\/b>: P\u0159esn\u011b tak.<\/p>\n<p><b>\u2014 Jak t\u011b\u017ek\u00e9 je vz\u00edt a nainstalovat Kubernetes z ni\u010deho, aby to bylo p\u0159ipraven\u00e9 na produkci?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Jak si mysl\u00ed\u0161, jak t\u011b\u017ek\u00e9 je transplantovat srdce? Ch\u00e1pu, ot\u00e1zka je provokativn\u00ed. Opatrn\u011b pou\u017e\u00edt skalpel a neud\u011blat chybu \u2014 to nen\u00ed tak t\u011b\u017ek\u00e9. Pokud ti \u0159eknou, kde od\u0159\u00edznout a kde za\u0161\u00edt, tak samotn\u00fd postup nen\u00ed slo\u017eit\u00fd. Slo\u017eit\u011bj\u0161\u00ed je zaru\u010dit, \u017ee to vyjde poka\u017ed\u00e9.<\/p>\n<blockquote><p>Nainstalovat Kubernetes a donutit ho fungovat je jednoduch\u00e9: \u0161up! \u2014 nainstaloval se, existuje spousta zp\u016fsob\u016f instalace. Ale co se stane, kdy\u017e nastanou probl\u00e9my?<\/p><\/blockquote>\n<p>\nV\u017edy se objevuj\u00ed ot\u00e1zky \u2014 co jsme je\u0161t\u011b nezohlednili? Co jsme je\u0161t\u011b neud\u011blali? Jak\u00e9 parametry j\u00e1dra Linuxu jsme zadali \u0161patn\u011b? Bo\u017ee, zadali jsme je v\u016fbec?! Jak\u00e9 komponenty Kubernetes jsme nainstalovali a jak\u00e9 ne? Objevuj\u00ed se tis\u00edce ot\u00e1zek, a abychom na n\u011b odpov\u011bd\u011bli, je pot\u0159eba 15-20 let se pohybovat v tomto odv\u011btv\u00ed.<\/p>\n<p>M\u00e1m \u010derstv\u00fd p\u0159\u00edklad na toto t\u00e9ma, kter\u00fd m\u016f\u017ee objasnit probl\u00e9m \"Je t\u011b\u017ek\u00e9 spravovat Kubernetes?\". P\u0159ed n\u011bjak\u00fdm \u010dasem jsme v\u00e1\u017en\u011b uva\u017eovali, zda bychom m\u011bli vyzkou\u0161et zav\u00e9st Cilium jako s\u00ed\u0165 v Kubernetes.<\/p>\n<p>Vysv\u011btl\u00edm, co je Cilium. V Kubernetes existuje mnoho r\u016fzn\u00fdch implementac\u00ed s\u00ed\u0165ov\u00e9ho subsyst\u00e9mu a jedna z nich je velmi zaj\u00edmav\u00e1 \u2013 to je Cilium. Jak\u00fd je jej\u00ed smysl? V j\u00e1dru se p\u0159ed n\u011bjakou dobou objevila mo\u017enost ps\u00e1t h\u00e1\u010dky pro j\u00e1dro, kter\u00e9 zasahuj\u00ed do s\u00ed\u0165ov\u00e9ho subsyst\u00e9mu a dal\u0161\u00edch r\u016fzn\u00fdch subsyst\u00e9m\u016f a umo\u017e\u0148uj\u00ed obej\u00edt velk\u00e9 \u010d\u00e1sti j\u00e1dra.<\/p>\n<p>V linuxov\u00e9m j\u00e1dru historicky existuj\u00ed ip rout, netfiltry, mosty a mnoho r\u016fzn\u00fdch star\u00fdch komponent, kter\u00fdm je 15, 20 i 30 let. V z\u00e1sad\u011b funguj\u00ed, v\u0161e je skv\u011bl\u00e9, ale v sou\u010dasnosti jsme postavili spoustu kontejner\u016f, a to vypad\u00e1 jako v\u011b\u017e ze 15 cihel jedna na druh\u00e9, a ty na n\u00ed stoj\u00ed\u0161 na jedn\u00e9 noze \u2013 zvl\u00e1\u0161tn\u00ed pocit. Tento syst\u00e9m historicky vyv\u00edjel s mnoha nuancemi, podobn\u011b jako apendix v organismu. V n\u011bkter\u00fdch situac\u00edch jsou s v\u00fdkonem probl\u00e9my, nap\u0159\u00edklad.<\/p>\n<p>Existuje \u00fa\u017easn\u00fd BPF a mo\u017enost ps\u00e1t h\u00e1\u010dky pro j\u00e1dro \u2013 kluci napsali sv\u00e9 vlastn\u00ed h\u00e1\u010dky pro j\u00e1dro. Paket p\u0159ich\u00e1z\u00ed do linuxov\u00e9ho j\u00e1dra, oni ho p\u0159\u00edmo na vstupu vytahuj\u00ed, zpracov\u00e1vaj\u00ed podle pot\u0159eby bez most\u016f, bez TCP, bez IP z\u00e1sobn\u00edku \u2013 zkr\u00e1tka, obejdou v\u0161e, co je naps\u00e1no v linuxov\u00e9m j\u00e1d\u0159e, a hned ho vyplyvnou do kontejneru.<\/p>\n<p>Co se stalo? Velmi skv\u011bl\u00fd v\u00fdkon, \u00fa\u017easn\u00e9 funkce \u2013 prost\u011b super! Ale d\u00edv\u00e1me se na to a vid\u00edme, \u017ee na ka\u017ed\u00e9m stroji b\u011b\u017e\u00ed program, kter\u00fd se p\u0159ipojuje k API Kubernetes a na z\u00e1klad\u011b dat, kter\u00e9 z\u00edsk\u00e1 z tohoto API, generuje C k\u00f3d a kompiluje bin\u00e1rn\u00ed soubory, kter\u00e9 nahr\u00e1v\u00e1 do j\u00e1dra, aby tyto h\u00e1\u010dky pracovaly v kernel space.<\/p>\n<p>Co se stane, kdy\u017e n\u011bco nevyjde? Nev\u00edme. Abychom to pochopili, mus\u00edme p\u0159e\u010d\u00edst cel\u00fd ten k\u00f3d, pochopit celou logiku, a to je neskute\u010dn\u011b slo\u017eit\u00e9. Ale na druh\u00e9 stran\u011b, jsou tu ty mosty, netfiltry, ip rout \u2013 j\u00e1 jsem jejich zdrojov\u00e9 k\u00f3dy ne\u010detl, a 40 in\u017een\u00fdr\u016f, kte\u0159\u00ed pracuj\u00ed v na\u0161\u00ed spole\u010dnosti tak\u00e9 ne. Mo\u017en\u00e1, \u017ee n\u011bkter\u00e9 kousky ch\u00e1pou jen jednotlivci.<\/p>\n<p>A jak\u00fd je rozd\u00edl? Ukazuje se, \u017ee m\u00e1me ip rout, j\u00e1dro Linuxu a je tu nov\u00fd n\u00e1stroj - jak\u00fd je v tom rozd\u00edl, ob\u011b mo\u017enosti nerozum\u00edme. Ale boj\u00edme se pou\u017e\u00edt to nov\u00e9 - pro\u010d? Proto\u017ee pokud m\u00e1 n\u00e1stroj 30 let, za t\u011bch 30 let byly nalezeny v\u0161echny chyby, na v\u0161echny \u00faskal\u00ed jsme narazili a nen\u00ed t\u0159eba o v\u0161em v\u011bd\u011bt - funguje to jako \u010dern\u00e1 sk\u0159\u00ed\u0148ka a funguje to v\u017edy. V\u0161ichni v\u00ed, kterou diagnostickou \u0161roubov\u00e1k do kter\u00e9 d\u00edry vlo\u017eit, kter\u00fd tcpdump v jak\u00e9m okam\u017eiku spustit. V\u0161ichni dob\u0159e znaj\u00ed diagnostick\u00e9 n\u00e1stroje a rozum\u00ed tomu, jak soubor komponent\u016f pracuje v j\u00e1dru Linuxu - ne jak je to postaveno, ale jak to pou\u017e\u00edvat.<\/p>\n<p>A skv\u011bl\u00e9mu Ciliu nen\u00ed 30 let, je\u0161t\u011b nen\u00ed zral\u00e9. Stejn\u00fd probl\u00e9m m\u00e1me s Kubernetes; je to kopie. Jak Cilium, tak Kubernetes se instaluj\u00ed skv\u011ble, ale kdy\u017e n\u011bco nep\u016fjde podle pl\u00e1nu v produkci, jste schopni rychle pochopit, co se stalo v kritick\u00e9 situaci? <\/p>\n<blockquote><p>Kdy\u017e mluv\u00edme o tom, zda je t\u011b\u017ek\u00e9 udr\u017eovat Kubernetes - ne, je to velmi jednoduch\u00e9, a ano, je to neuv\u011b\u0159iteln\u011b slo\u017eit\u00e9. Kubernetes funguje skv\u011ble s\u00e1m o sob\u011b, ale s miliardou nuanc\u00ed.<\/p><\/blockquote>\n<p><\/p>\n<h2>O p\u0159\u00edstupu 'budu m\u00edt \u0161t\u011bst\u00ed'<\/h2>\n<p>\n<b>- Existuj\u00ed spole\u010dnosti, kde se tyto nuance t\u00e9m\u011b\u0159 garantovan\u011b objev\u00ed? P\u0159edstavme si, \u017ee Yandex n\u00e1hle p\u0159enese v\u0161echny sv\u00e9 slu\u017eby na Kubernetes, bude to obrovsk\u00e1 z\u00e1t\u011b\u017e.<\/b><\/p>\n<p><b>Dmitrij<\/b>: Ne, tohle nen\u00ed rozhovor o z\u00e1t\u011b\u017ei, ale o nejjednodu\u0161\u0161\u00edch v\u011bcech. Nap\u0159\u00edklad m\u00e1me Kubernetes, nasadili jsme tam aplikaci. Jak zjistit, \u017ee funguje? Nen\u00ed k dispozici \u017e\u00e1dn\u00fd hotov\u00fd n\u00e1stroj, kter\u00fd by uk\u00e1zal, \u017ee aplikace nekles\u00e1. Neexistuje hotov\u00fd syst\u00e9m, kter\u00fd pos\u00edl\u00e1 upozorn\u011bn\u00ed - mus\u00edme nastavit tato upozorn\u011bn\u00ed a ka\u017ed\u00fd graf. A my pr\u00e1v\u011b aktualizujeme Kubernetes.<\/p>\n<p>M\u00e1te Ubuntu 16.04. M\u016f\u017eeme \u0159\u00edci, \u017ee je to star\u00e1 verze, ale st\u00e1le na n\u00ed jsme, proto\u017ee je to LTS. Obsahuje systemd, jeho\u017e nuance spo\u010d\u00edv\u00e1 v tom, \u017ee ne\u010dist\u00ed C-skupiny. Kubernetes spou\u0161t\u00ed pody, vytv\u00e1\u0159\u00ed C-skupiny, pak pody odstra\u0148uje a n\u011bjak tak doch\u00e1z\u00ed k tomu \u2013 nepamatuji si detaily, omlouv\u00e1m se \u2013 \u017ee z\u016fst\u00e1vaj\u00ed kusy systemd. To zp\u016fsobuje, \u017ee s \u010dasem jak\u00fdkoli stroj za\u010dne siln\u011b zpo\u017e\u010fovat. Nebo\u0165 to nen\u00ed ani ot\u00e1zka highload. Pokud se spou\u0161t\u00ed st\u00e1l\u00e9 pody, nap\u0159\u00edklad jestli je Cron Job, kter\u00fd neust\u00e1le generuje pody, tak stroj s Ubuntu 16.04 za\u010dne po t\u00fddnu zpomalovat. Bude m\u00edt neust\u00e1le vysok\u00fd load average, proto\u017ee byla vytvo\u0159ena spousta C-skupin. To je probl\u00e9m, se kter\u00fdm se setk\u00e1v\u00e1 kdokoli, kdo si jen nainstaluje Ubuntu 16 a nad to Kubernetes.<\/p>\n<p>P\u0159edstavme si, \u017ee n\u011bjak aktualizuje systemd nebo n\u011bco jin\u00e9ho, ale v j\u00e1d\u0159e Linuxu do 4.16 je to je\u0161t\u011b vtipn\u011bj\u0161\u00ed \u2013 p\u0159i odstra\u0148ov\u00e1n\u00ed C-skupin se v j\u00e1d\u0159e projevuj\u00ed a v podstat\u011b se neodstra\u0148uj\u00ed. Proto po m\u011bs\u00edci pr\u00e1ce na tomto stroji nebude mo\u017en\u00e9 pod\u00edvat se na statistiky pam\u011bti podle pod\u016f. Vytahujeme soubor, ot\u00e1\u010d\u00edme ho v programu a jeden soubor se ot\u00e1\u010d\u00ed 15 sekund, proto\u017ee j\u00e1dro velmi dlouho po\u010d\u00edt\u00e1 uvnit\u0159 sebe milion C-skupin, kter\u00e9 sice byly odstran\u011bny, ale ne \u2013 ony se projevuj\u00ed.<\/p>\n<p>Takov\u00fdch mali\u010dkost\u00ed je st\u00e1le velmi mnoho tam a tady. To nen\u00ed ot\u00e1zka, s kterou se mohou ob\u0159\u00ed spole\u010dnosti n\u011bkdy setkat p\u0159i velmi vysok\u00fdch z\u00e1t\u011b\u017e\u00edch \u2013 ne, to je ot\u00e1zka ka\u017edodenn\u00edch v\u011bc\u00ed. Lid\u00e9 mohou \u017e\u00edt m\u011bs\u00edce takto \u2013 nainstalovali Kubernetes, nasadili aplikaci \u2013 vypad\u00e1 to, \u017ee funguje. Mnoh\u00fdm to tak vyhovuje. O tom, \u017ee tato aplikace jednou z n\u011bjak\u00e9ho d\u016fvodu spadne, se ani nedozv\u011bd\u00ed, upozorn\u011bn\u00ed nedojde, ale pro n\u011b je to norma. D\u0159\u00edve \u017eili na virtu\u00e1ln\u00edch stroj\u00edch bez monitorov\u00e1n\u00ed, nyn\u00ed p\u0159e\u0161li na Kubernetes tak\u00e9 bez monitorov\u00e1n\u00ed \u2013 jak\u00fd je rozd\u00edl?<\/p>\n<p>Ot\u00e1zkou je, \u017ee kdy\u017e kr\u00e1\u010d\u00edme po ledu, nikdy nev\u00edme jeho tlou\u0161\u0165ku, pokud jsme to p\u0159edem nezm\u011b\u0159ili. Mnoz\u00ed chod\u00ed a nestaraj\u00ed se, proto\u017ee d\u0159\u00edve chodili.<\/p>\n<blockquote><p>Z m\u00e9ho pohledu spo\u010d\u00edv\u00e1 nuance a slo\u017eitost provozu jak\u00e9hokoli syst\u00e9mu v tom, abychom zajistili, \u017ee tlou\u0161\u0165ka ledu je p\u0159esn\u011b dostate\u010dn\u00e1 k vy\u0159e\u0161en\u00ed na\u0161ich \u00faloh. O tom to je.<\/p><\/blockquote>\n<p>\nV IT je podle m\u011b p\u0159\u00edli\u0161 mnoho p\u0159\u00edstup\u016f ''Bude mi p\u0159\u00e1t \u0161t\u011bst\u00ed''. Mnoz\u00ed instaluj\u00ed software, pou\u017e\u00edvaj\u00ed knihovny v nad\u011bji, \u017ee jim \u0161t\u011bst\u00ed p\u0159inese. Celkov\u011b se mnoh\u00fdm da\u0159\u00ed. Pravd\u011bpodobn\u011b proto to funguje.<\/p>\n<p><b>\u2014 Z m\u00e9 pesimistick\u00e9 perspektivy to vypad\u00e1 takto: kdy\u017e jsou rizika vysok\u00e1 a aplikace mus\u00ed fungovat, je pot\u0159eba podpora od \u201eFlant\u201c, mo\u017en\u00e1 od Red Hat, nebo je zapot\u0159eb\u00ed vlastn\u00ed intern\u00ed t\u00fdm, kter\u00fd se v\u011bnuje p\u0159\u00edmo Kubernetes a je p\u0159ipraven ho spravovat.<\/b><\/p>\n<p><b>Dmitrij<\/b>: Objektivn\u011b je to pravda. Vstupovat samostatn\u011b do problematiky Kubernetes s mal\u00fdm t\u00fdmem \u2014 to p\u0159edstavuje ur\u010dit\u00e9 mno\u017estv\u00ed rizik.<\/p>\n<h2>Pot\u0159ebujeme kontejnery?<\/h2>\n<p>\n<b>\u2014 M\u016f\u017ee\u0161 \u0159\u00edct, jak roz\u0161\u00ed\u0159en\u00fd je Kubernetes v Rusku?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Nem\u00e1m tato data a nejsem si jist\u00fd, zda je m\u00e1 opravdu n\u011bkdo. \u0158\u00edk\u00e1me: ''Kubernetes, Kubernetes'', ale existuje jin\u00fd pohled na tuto ot\u00e1zku. Jak jsou roz\u0161\u00ed\u0159en\u00e9 kontejnery, to tak\u00e9 nev\u00edm, ale zn\u00e1m \u010d\u00edslo z internetov\u00fdch zpr\u00e1v, \u017ee 70 % kontejner\u016f orchestruje Kubernetes. To byl d\u016fv\u011bryhodn\u00fd zdroj na dost velk\u00e9m vzorku z cel\u00e9ho sv\u011bta.<\/p>\n<p><b>Dal\u0161\u00ed ot\u00e1zka je \u2014 pot\u0159ebujeme v\u016fbec kontejnery?<\/b> M\u00e1m osobn\u00ed pocit a celkov\u011b pozici spole\u010dnosti \u201eFlant\u201c, \u017ee Kubernetes je de facto standard.<\/p>\n<blockquote><p>Nic jin\u00e9ho ne\u017e Kubernetes nebude.<\/p><\/blockquote>\n<p>\nTo je absolutn\u00ed game-changer v oblasti spr\u00e1vy infrastruktury. Prost\u011b absolutn\u00ed \u2014 u\u017e \u017e\u00e1dn\u00fd Ansible, Chef, virtu\u00e1ln\u00ed stroje, Terraform. O star\u00fdch provizorn\u00edch metod\u00e1ch u\u017e ani nemluv\u00edm. <b>Kubernetes je absolutn\u00ed changer<\/b>, a nyn\u00ed to bude jen tak.<\/p>\n<p>Je jasn\u00e9, \u017ee n\u011bkomu m\u016f\u017ee trvat p\u00e1r let, jin\u00e9mu p\u00e1r des\u00edtek, ne\u017e si to uv\u011bdom\u00ed. Nem\u00e1m \u017e\u00e1dn\u00e9 pochybnosti, \u017ee krom\u011b Kubernetes a tohoto nov\u00e9ho pohledu nic jin\u00e9ho nebude: u\u017e nezap\u00edn\u00e1me opera\u010dn\u00ed syst\u00e9m, ale pou\u017e\u00edv\u00e1me <b>infrastructure as code<\/b>, jen ne s k\u00f3dem, ale s yml \u2014 deklarovanou infrastrukturou. M\u00e1m pocit, \u017ee to tak bude v\u017edy.<\/p>\n<p><b>\u2014 Tak\u017ee ty spole\u010dnosti, kter\u00e9 je\u0161t\u011b nep\u0159e\u0161ly na Kubernetes, nutn\u011b na n\u011bj p\u0159ejdou, nebo z\u016fstanou zapomenuty. Rozum\u00edm t\u011b spr\u00e1vn\u011b?<\/b><\/p>\n<p><b>Dmitrij<\/b>: To tak\u00e9 nen\u00ed \u00fapln\u011b pravda. Nap\u0159\u00edklad, pokud m\u00e1me \u00fakol spustit DNS server, m\u016f\u017eeme ho spustit na FreeBSD 4.10 a ten m\u016f\u017ee bez probl\u00e9m\u016f fungovat 20 let. Jen fungovat a to je v\u0161e. Mo\u017en\u00e1, \u017ee za 20 let bude pot\u0159eba n\u011bco jednou aktualizovat. Pokud hovo\u0159\u00edme o softwaru v tom smyslu, \u017ee jsme ho spustili a on re\u00e1ln\u011b funguje mnoho let bez n\u011bjak\u00fdch aktualizac\u00ed, bez zm\u011bn, pak tam samoz\u0159ejm\u011b nebude Kubernetes. Ten tam nen\u00ed pot\u0159eba.<\/p>\n<blockquote><p>V\u0161e, co se t\u00fdk\u00e1 CI\/CD \u2014 v\u0161ude, kde pot\u0159ebujete Continuous Delivery, kde je t\u0159eba aktualizovat verze, prov\u00e1d\u011bt aktivn\u00ed zm\u011bny, v\u0161ude, kde je nutn\u00e9 vybudovat odolnost proti v\u00fdpadk\u016fm \u2014 jen Kubernetes.<\/p><\/blockquote>\n<p><\/p>\n<h2>O mikroslu\u017eb\u00e1ch<\/h2>\n<p>\n<b>\u2014 Tady m\u00e1m mal\u00fd disonance. Aby bylo mo\u017en\u00e9 pracovat s Kubernetes, pot\u0159ebujete extern\u00ed nebo intern\u00ed podporu \u2014 to je prvn\u00ed v\u011bc. Druh\u00e1 \u2014 kdy\u017e teprve za\u010d\u00edn\u00e1me s v\u00fdvojem, jsme mal\u00fd startup, nem\u00e1me je\u0161t\u011b nic, v\u00fdvoj pro Kubernetes nebo v\u016fbec pro mikroslu\u017ebovou architekturu m\u016f\u017ee b\u00fdt slo\u017eit\u00fd a ekonomicky ne v\u017edy opr\u00e1vn\u011bn\u00fd. Zaj\u00edm\u00e1 m\u011b tv\u016fj n\u00e1zor \u2014 m\u011bly by startupy hned od za\u010d\u00e1tku ps\u00e1t pro Kubernetes, nebo je mo\u017en\u00e9 nejd\u0159\u00edve napsat monolit a teprve potom p\u0159ej\u00edt k Kubernetes?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Skv\u011bl\u00e1 ot\u00e1zka. M\u00e1m p\u0159edn\u00e1\u0161ku o mikroslu\u017eb\u00e1ch. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424531\/\">\u00abMikroslu\u017eby: velikost m\u00e1 v\u00fdznam\u00bb.<\/a><\/noindex> Mnohokr\u00e1t jsem se setkal s t\u00edm, \u017ee lid\u00e9 se sna\u017e\u00ed zatloukat h\u0159eb\u00edky mikroskopem. Samotn\u00fd p\u0159\u00edstup je spr\u00e1vn\u00fd, my sami navrhujeme intern\u00ed software t\u00edmto zp\u016fsobem. Ale kdy\u017e to d\u011bl\u00e1te, mus\u00edte jasn\u011b rozum\u011bt, co d\u011bl\u00e1te. Nejv\u00edce nen\u00e1vid\u00edm slovo \u201emikro\u201c v mikroslu\u017eb\u00e1ch. Historicky se to slovo tam objevilo a z n\u011bjak\u00e9ho d\u016fvodu lid\u00e9 si mysl\u00ed, \u017ee mikro \u2014 to je velmi mal\u00e9, men\u0161\u00ed ne\u017e milimetr, jako mikrometr. To nen\u00ed pravda.<\/p>\n<p>Nap\u0159\u00edklad existuje monolit, kter\u00fd p\u00ed\u0161e 300 lid\u00ed, a v\u0161ichni, kdo se pod\u00edleli na v\u00fdvoji, v\u011bd\u00ed, \u017ee tam jsou probl\u00e9my, a je t\u0159eba ho rozd\u011blit na mikroskopick\u00e9 kusy \u2014 asi 10, p\u0159i\u010dem\u017e ka\u017ed\u00fd z nich p\u00ed\u0161e minim\u00e1ln\u011b 30 lid\u00ed. To je d\u016fle\u017eit\u00e9, pot\u0159ebn\u00e9 a skv\u011bl\u00e9. Ale kdy\u017e k n\u00e1m p\u0159ijde startup, kde 3 velmi schopn\u00ed a talentovan\u00ed kluci napsali na koleni 60 mikroslu\u017eeb, ka\u017edou chv\u00edli hled\u00e1m korvalol.<\/p>\n<p>Mysl\u00edm, \u017ee o tom u\u017e bylo \u0159e\u010deno tis\u00edckr\u00e1t \u2014 dostali jsme distribuovan\u00fd monolit v jedn\u00e9 nebo druh\u00e9 podob\u011b. Je to ekonomicky neudr\u017eiteln\u00e9, velmi slo\u017eit\u00e9 v\u016fbec ve v\u0161em. Jen jsem to vid\u011bl tolikr\u00e1t, \u017ee m\u011b to doslova bol\u00ed, proto o tom st\u00e1le mluv\u00edm.<\/p>\n<p>K po\u010d\u00e1te\u010dn\u00ed ot\u00e1zce, \u017ee existuje konflikt mezi t\u00edm, \u017ee z jedn\u00e9 strany je Kubernetes stra\u0161n\u00e9 pou\u017e\u00edvat, proto\u017ee nen\u00ed jasn\u00e9, co se m\u016f\u017ee porouchat nebo nefungovat, a z druh\u00e9 strany je z\u0159ejm\u00e9, \u017ee v\u0161echno sm\u011b\u0159uje tam a nic krom\u011b Kubernetes nebude. Odpov\u011b\u010f je \u2014 <b>zv\u00e1\u017eit objem p\u0159\u00ednosu, kter\u00fd p\u0159ich\u00e1z\u00ed, a objem \u00fakol\u016f, kter\u00e9 m\u016f\u017eete vy\u0159e\u0161it<\/b>. To je na jedn\u00e9 stran\u011b vah. Na druh\u00e9 stran\u011b \u2014 rizika, kter\u00e1 souvisej\u00ed s prostojem nebo s poklesem doby odezvy, \u00farovn\u011b dostupnosti \u2014 s poklesem v\u00fdkonnostn\u00edch ukazatel\u016f.<\/p>\n<p>Tady to je tak \u2014 bu\u010f se rychle pohybujeme, a Kubernetes umo\u017e\u0148uje mnoh\u00e9 v\u011bci d\u011blat mnohem rychleji a l\u00e9pe, nebo pou\u017e\u00edv\u00e1me spolehliv\u00e1, l\u00e9ty prov\u011b\u0159en\u00e1 \u0159e\u0161en\u00ed, ale pohybujeme se mnohem pomaleji. Toto rozhodnut\u00ed by m\u011bly u\u010dinit ka\u017ed\u00e9 spole\u010dnosti. M\u016f\u017eete to pova\u017eovat za stezku v d\u017eungli \u2014 kdy\u017e jdete poprv\u00e9, m\u016f\u017eete potkat hada, tygra nebo zu\u0159iv\u00e9ho jezev\u010d\u00edka, a kdy\u017e jdete 10kr\u00e1t \u2014 vy\u0161lapete si cestu, odstran\u00edte v\u011btve a jde to l\u00e9pe. S ka\u017ed\u00fdm dal\u0161\u00edm krokem je stezka \u0161ir\u0161\u00ed. Pozd\u011bji je to u\u017e asfaltov\u00e1 cesta, a pozd\u011bji kr\u00e1sn\u00e1 t\u0159\u00edda.<\/p>\n<p>Kubernetes nestoj\u00ed na m\u00edst\u011b. Op\u011bt ot\u00e1zka: Kubernetes, z jedn\u00e9 strany, to jsou 4-5 bin\u00e1rek, z druh\u00e9 strany \u2014 to je cel\u00fd ekosyst\u00e9m. To je opera\u010dn\u00ed syst\u00e9m, kter\u00fd m\u00e1me na stroj\u00edch. Co to je? Ubuntu nebo Curios? To je j\u00e1dro Linuxu, spousta dal\u0161\u00edch komponent\u016f. V\u0161echny tyto v\u011bci tu jednu jedovatou zmiji vyhodili z cesty, tam postavili plot. Kubernetes se velmi rychle a dynamicky vyv\u00edj\u00ed, a objem rizik, objem nezn\u00e1ma s ka\u017ed\u00fdm m\u011bs\u00edcem kles\u00e1 a, podle toho, tyto v\u00e1hy se p\u0159ebalancov\u00e1vaj\u00ed.<\/p>\n<p>Kdy\u017e odpov\u00edd\u00e1m na ot\u00e1zku, co d\u011blat se startupem, \u0159ekl bych \u2013 p\u0159ijd\u011bte k \"Flantu\", zapla\u0165te 150 tis\u00edc rubl\u016f a z\u00edskejte DevOps easy service na kl\u00ed\u010d. Pokud jste mal\u00fd startup s n\u011bkolika v\u00fdvoj\u00e1\u0159i \u2013 to funguje. M\u00edsto naj\u00edm\u00e1n\u00ed vlastn\u00edho DevOps, kter\u00fd se mus\u00ed u\u010dit, jak \u0159e\u0161it va\u0161e probl\u00e9my, a platit mu v tuto dobu mzdu, obdr\u017e\u00edte \u0159e\u0161en\u00ed v\u0161ech ot\u00e1zek na kl\u00ed\u010d. Ano, jsou tam n\u011bkter\u00e9 nev\u00fdhody. Jako outsourcer nem\u016f\u017eeme b\u00fdt tak zapojeni a rychle reagovat na zm\u011bny. Ale m\u00e1me spoustu odbornosti, hotov\u00e9 praktiky. Zaru\u010dujeme, \u017ee v jak\u00e9koli situaci rychle vy\u0159e\u0161\u00edme a znovu vyvedeme na sv\u011btlo ka\u017ed\u00fd Kubernetes. <\/p>\n<blockquote><p>Kategorie d\u016frazn\u011b doporu\u010duji outsourcing startup\u016fm a ust\u00e1len\u00fdm podnik\u016fm, dokud nedos\u00e1hnete velikosti, kdy m\u016f\u017eete vy\u010dlenit na provoz t\u00fdm deseti lid\u00ed, proto\u017ee jinak to ned\u00e1v\u00e1 smysl. To d\u00e1v\u00e1 smysl ka\u017ed\u00fd z pohledu outsourcingu.<\/p><\/blockquote>\n<p><\/p>\n<h2>O Amazonu a Googlu<\/h2>\n<p>\n<b>\u2013 Lze \u0159e\u0161it jako outsourcing hosting od \u0159e\u0161en\u00ed od Amazonu nebo Googlu?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Ano, ur\u010dit\u011b, to \u0159e\u0161\u00ed ur\u010ditou \u010d\u00e1st ot\u00e1zek. Ale znovu, jsou tu nuanse. Po\u0159\u00e1d je t\u0159eba pochopit, jak to pou\u017e\u00edvat. Nap\u0159\u00edklad v pr\u00e1ci Amazon AWS je tis\u00edc drobnost\u00ed: Load Balancer je t\u0159eba zah\u0159\u00e1t nebo p\u0159edem napsat \u017e\u00e1dost, \u017ee \"chlapi, p\u0159ijdou n\u00e1m provoz, zah\u0159ejte n\u00e1m Load Balancer!\" Tyto nuance je t\u0159eba zn\u00e1t.<\/p>\n<p>Kdy\u017e se obrac\u00edte na lidi, kte\u0159\u00ed se na to specializuj\u00ed, z\u00edsk\u00e1te t\u00e9m\u011b\u0159 v\u0161echny typov\u00e9 v\u011bci uzav\u0159en\u00e9. V sou\u010dasnosti m\u00e1me 40 in\u017een\u00fdr\u016f, na konci roku to bude pravd\u011bpodobn\u011b 60 \u2013 ur\u010dit\u011b jsme se s t\u011bmito v\u011bcmi setkali. I kdy\u017e se na n\u011bjak\u00e9m projektu znovu setk\u00e1v\u00e1me s t\u00edmto probl\u00e9mem, rychle se jeden druh\u00e9ho pt\u00e1me a v\u00edme, jak to vy\u0159e\u0161it.<\/p>\n<p>Odpov\u011b\u010f je takov\u00e1 \u2013 samoz\u0159ejm\u011b, hosted historie usnad\u0148uje ur\u010ditou \u010d\u00e1st. Ot\u00e1zka je, zda jste p\u0159ipraveni d\u016fv\u011b\u0159ovat t\u011bmto hostitel\u016fm, a zda vy\u0159e\u0161\u00ed va\u0161e probl\u00e9my. Amazon a Google se uk\u00e1zali dob\u0159e. Pro v\u0161echny na\u0161e p\u0159\u00edpady \u2013 p\u0159esn\u011b. V\u00edce pozitivn\u00edch zku\u0161enost\u00ed nem\u00e1me. V\u0161echny ostatn\u00ed cloudy, se kter\u00fdmi jsme se pokou\u0161eli pracovat, vytv\u00e1\u0159ej\u00ed spoustu probl\u00e9m\u016f \u2013 a Ager, a v\u0161e, co je v Rusku, a r\u016fzn\u00e9 implementace OpenStack: Headster, Overage \u2013 cokoliv, co chcete. V\u0161echny vytv\u00e1\u0159ej\u00ed probl\u00e9my, kter\u00e9 se nechcete \u0159e\u0161it.<\/p>\n<p>Proto je odpov\u011b\u010f \u2013 ano, ale ve skute\u010dnosti nen\u00ed moc zral\u00fdch hosted \u0159e\u0161en\u00ed.<\/p>\n<h2>Komu je Kubernetes pot\u0159ebn\u00fd?<\/h2>\n<p>\n<b>\u2014 A p\u0159ece komu je Kubernetes pot\u0159ebn\u00fd? Kdo by m\u011bl p\u0159ej\u00edt na Kubernetes, kdo je typick\u00fd klient \"Flanta\", kter\u00fd p\u0159ich\u00e1z\u00ed pr\u00e1v\u011b pro Kubernetes?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Ot\u00e1zka je zaj\u00edmav\u00e1, proto\u017ee nyn\u00ed je na vln\u011b Kubernetes mnoho lid\u00ed: \"Chlapci, v\u00edme, \u017ee d\u011bl\u00e1te Kubernetes, ud\u011blejte n\u00e1m to!\" Odpov\u00edd\u00e1me: \"P\u00e1ni, my Kubernetes ned\u011bl\u00e1me, d\u011bl\u00e1me produkci a v\u0161e, co s t\u00edm souvis\u00ed.\" Proto\u017ee ud\u011blat produkci, ani\u017e by se ud\u011blalo cel\u00e9 CI\/CD a cel\u00e1 tato historie, je v sou\u010dasnosti prost\u011b nemo\u017en\u00e9. V\u0161ichni se vzdali rozd\u011blen\u00ed mezi t\u00edm, co je v\u00fdvoj a co je provoz.<\/p>\n<p>Na\u0161i klienti o\u010dek\u00e1vaj\u00ed r\u016fznorod\u00e9 v\u011bci, ale v\u0161ichni o\u010dek\u00e1vaj\u00ed n\u011bjak\u00fd z\u00e1zrak, \u017ee maj\u00ed ur\u010dit\u00e9 probl\u00e9my, a te\u010f \u2014 hop! \u2014 Kubernetes je vy\u0159e\u0161\u00ed. Lid\u00e9 v\u011b\u0159\u00ed v z\u00e1zraky. Rozumov\u011b ch\u00e1pou, \u017ee z\u00e1zrak nebude, ale du\u0161\u00ed doufaj\u00ed \u2014 a co kdy\u017e n\u00e1m te\u010f Kubernetes v\u0161echno vy\u0159e\u0161\u00ed, tolik o n\u011bm mluv\u00ed! Najednou to je \u2014 chich! \u2014 a st\u0159\u00edbrn\u00e1 kulka, chich! \u2014 a m\u00e1me 100% uptime, v\u0161ichni v\u00fdvoj\u00e1\u0159i mohou zve\u0159ejnit co jen cht\u011bj\u00ed 50kr\u00e1t na produkci, a nic nespadne. Celkov\u011b, z\u00e1zrak!<\/p>\n<p>Kdy\u017e takov\u00ed lid\u00e9 p\u0159ich\u00e1zej\u00ed, \u0159\u00edk\u00e1me: \"Omlouv\u00e1me se, ale z\u00e1zraky neexistuj\u00ed.\" Abyste byli zdrav\u00ed, mus\u00edte se spr\u00e1vn\u011b stravovat a cvi\u010dit. Abyste m\u011bli spolehlivou produkci, mus\u00edte ji ud\u011blat pevn\u011b. Abyste m\u011bli pohodln\u00e9 CI\/CD, mus\u00edte ho ud\u011blat tak. Je to spousta pr\u00e1ce, kterou je t\u0159eba vykonat.<\/p>\n<blockquote><p>Odpov\u00eddaj\u00edc\u00ed na ot\u00e1zku, komu je Kubernetes pot\u0159ebn\u00fd \u2014 Kubernetes nen\u00ed pot\u0159eba nikomu.<\/p><\/blockquote>\n<p>\nN\u011bkte\u0159\u00ed lid\u00e9 maj\u00ed myln\u00fd pocit, \u017ee pot\u0159ebuj\u00ed Kubernetes. Lidem je pot\u0159eba, maj\u00ed hlubokou touhu p\u0159estat myslet, zaob\u00edrat se a zaj\u00edmat o v\u0161echny probl\u00e9my infrastruktury a spu\u0161t\u011bn\u00ed jejich aplikac\u00ed. Cht\u011bj\u00ed, aby aplikace prost\u011b fungovaly a prost\u011b se nasazovaly. Pro n\u011b je Kubernetes nad\u011bj\u00ed, \u017ee p\u0159estanou sly\u0161et p\u0159\u00edb\u011bhy, \u017ee \"jsme tam le\u017eeli\", nebo \"nem\u016f\u017eeme se nasadit\", nebo n\u011bco jin\u00e9ho.<\/p>\n<p>Obvykle k n\u00e1m p\u0159ich\u00e1z\u00ed technick\u00fd \u0159editel. Po\u017eaduj\u00ed dv\u011b v\u011bci: z jedn\u00e9 strany, p\u0159ineste n\u00e1m funkce, z druh\u00e9 strany \u2014 stabilitu. Nab\u00edz\u00edme, \u017ee to vezmeme na sebe a ud\u011bl\u00e1me to. St\u0159\u00edbrn\u00e1 kulka, p\u0159esn\u011bji, st\u0159\u00edbrn\u011bn\u00e1, je v tom, \u017ee p\u0159estanete myslet na tyto probl\u00e9my a pl\u00fdtvat \u010dasem. Budete m\u00edt specializovan\u00e9 lidi, kte\u0159\u00ed vy\u0159e\u0161\u00ed tuto ot\u00e1zku.<\/p>\n<blockquote><p>Formulace, \u017ee pot\u0159ebujeme Kubernetes, je nespr\u00e1vn\u00e1.<\/p><\/blockquote>\n<p>\nKubernetes je velmi u\u017eite\u010dn\u00fd pro administr\u00e1tory, proto\u017ee je to fascinuj\u00edc\u00ed n\u00e1stroj, se kter\u00fdm si mohou hr\u00e1t a experimentovat. Bu\u010fme up\u0159\u00edmn\u00ed - v\u0161ichni m\u00e1me r\u00e1di hra\u010dky. V\u0161ichni jsme trochu d\u011bti, a kdy\u017e vid\u00edme n\u011bco nov\u00e9ho, chceme si s t\u00edm hr\u00e1t. N\u011bkdy to m\u016f\u017ee b\u00fdt odrazen\u00e9, nap\u0159\u00edklad u administr\u00e1tor\u016f, kte\u0159\u00ed u\u017e si s t\u00edm dost hr\u00e1li a maj\u00ed toho dost, a\u017e to p\u0159est\u00e1v\u00e1 b\u00fdt zaj\u00edmav\u00e9. Ale nikdo to nem\u00e1 \u00fapln\u011b p\u0159era\u017een\u00e9. Pokud m\u011b hra\u010dky v oblasti syst\u00e9mov\u00e9ho administrativn\u00edho a DevOps u\u017e d\u00e1vno omrzely, st\u00e1le si kupuji n\u011bjak\u00e9 nov\u00e9. V\u0161ichni lid\u00e9 tak \u010di onak st\u00e1le cht\u011bj\u00ed n\u011bjak\u00e9 hra\u010dky.<\/p>\n<p>Nehrajte si s produkc\u00ed. Co bych v\u00e1m d\u016frazn\u011b nedoporu\u010doval a co nyn\u00ed vid\u00edm roz\u0161\u00ed\u0159en\u00e9: \"A, nov\u00e1 hra\u010dka!\" - b\u011b\u017e\u00edme ji koupit, zakoupili a: \"Poj\u010fme ji vz\u00edt do \u0161koly, uk\u00e1\u017eeme ji v\u0161em kamar\u00e1d\u016fm.\" Ned\u011blejte to. Omlouv\u00e1m se, moje d\u011bti rostou, neust\u00e1le vid\u00edm n\u011bco v d\u011btech, vn\u00edm\u00e1m to v sob\u011b a pak to je\u0161t\u011b zobec\u0148uji na ostatn\u00ed.<\/p>\n<blockquote><p>Kone\u010dn\u00e1 odpov\u011b\u010f: Kubernetes nepot\u0159ebujete. Pot\u0159ebujete vy\u0159e\u0161it sv\u00e9 probl\u00e9my.<\/p><\/blockquote>\n<p>\nM\u016f\u017eete dos\u00e1hnout toho, \u017ee:<\/p>\n<ul>\n<li>produkce nepad\u00e1;\n<\/li>\n<li>i kdy\u017e se sna\u017e\u00ed spadnout, v\u00edme o tom p\u0159edem a m\u016f\u017eeme n\u011bco ud\u011blat;\n<\/li>\n<li>m\u016f\u017eeme ji m\u011bnit takovou rychlost\u00ed, jakou pot\u0159ebujeme pro byznys, a d\u011blat to pohodln\u011b, bez probl\u00e9m\u016f.\n<\/li>\n<\/ul>\n<p>\nSkute\u010dn\u00e9 pot\u0159eby jsou dv\u011b: spolehlivost a dynamika \/ flexibilita nasazen\u00ed. V\u0161em, kdo se nyn\u00ed v\u011bnuj\u00ed n\u011bjak\u00fdm IT projekt\u016fm, nez\u00e1visle na oboru - softwaru pro usnadn\u011bn\u00ed sv\u011bta, a kte\u0159\u00ed to ch\u00e1pou, mus\u00ed tyto pot\u0159eby vy\u0159e\u0161it. Kubernetes, pokud je pou\u017e\u00edv\u00e1no spr\u00e1vn\u011b, s jasn\u00fdm porozum\u011bn\u00edm a dostate\u010dn\u00fdmi zku\u0161enostmi, umo\u017e\u0148uje jejich \u0159e\u0161en\u00ed.<\/p>\n<h2>O serverless<\/h2>\n<p>\n<b>Pokud se pod\u00edv\u00e1me o n\u011bco d\u00e1l do budoucnosti, sna\u017e\u00edc se vy\u0159e\u0161it probl\u00e9m absence bolest\u00ed hlavy s infrastrukturou, rychlost\u00ed nasazen\u00ed a zm\u011bnami aplikac\u00ed, objevuj\u00ed se nov\u00e1 \u0159e\u0161en\u00ed, nap\u0159\u00edklad serverless. Vid\u00ed\u0161 v tomto sm\u011bru n\u011bjak\u00fd potenci\u00e1l a, \u0159ekn\u011bme, hrozbu pro Kubernetes a podobn\u00e1 \u0159e\u0161en\u00ed?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Tady je pot\u0159eba ud\u011blat pozn\u00e1mku, \u017ee nejsem v\u011b\u0161tec, kter\u00fd se d\u00edv\u00e1 vp\u0159ed a \u0159\u00edk\u00e1 \u2013 bude to takhle! A\u010dkoli jsem pr\u00e1v\u011b d\u011blal tot\u00e9\u017e. D\u00edv\u00e1m se pod nohy a vid\u00edm tam spoustu probl\u00e9m\u016f, nap\u0159\u00edklad jak v po\u010d\u00edta\u010di funguj\u00ed tranzistory. A\u017e k sm\u00edchu, co? Nar\u00e1\u017e\u00edme na n\u011bjak\u00e9 chyby v CPU.<\/p>\n<p>Ud\u011bl\u00e1n\u00ed serverless dostate\u010dn\u011b spolehliv\u00fdm, levn\u00fdm, efektivn\u00edm a pohodln\u00fdm, vy\u0159e\u0161en\u00edm v\u0161ech ekosyst\u00e9mov\u00fdch ot\u00e1zek. Tady souhlas\u00edm s Ilonem Muskem, \u017ee pot\u0159ebujeme druhou planetu, abychom zajistili odolnost pro lidstvo. I kdy\u017e nev\u00edm, co \u0159\u00edk\u00e1, ch\u00e1peme, \u017ee nejsem p\u0159ipraven let\u011bt na Mars a \u017ee to nebude z\u00edtra.<\/p>\n<p>Se serverless je jasn\u00e9, \u017ee je to ideologicky spr\u00e1vn\u00e1 v\u011bc, jako odolnost pro lidstvo \u2013 m\u00edt dv\u011b planety je lep\u0161\u00ed ne\u017e jednu. Ale jak to ud\u011blat nyn\u00ed? Poslat jednu expedici \u2013 to nen\u00ed probl\u00e9m, pokud se soust\u0159ed\u00edme na tuto snahu. Odeslat n\u011bkolik expedic a os\u00eddlit tam n\u011bkolik tis\u00edc lid\u00ed, mysl\u00edm, \u017ee to je tak\u00e9 realistick\u00e9. Ale prov\u00e9st kompletn\u00ed odolnost, aby tam \u017eila polovina lidstva, mi nyn\u00ed p\u0159ipad\u00e1 nemo\u017en\u00e9, nerealizovateln\u00e9.<\/p>\n<p>Se serverless je to identick\u00e9: super v\u011bc, ale daleko od probl\u00e9m\u016f roku 2019. Bl\u00ed\u017ee k roku 2030 \u2013 poj\u010fme se do\u017e\u00edt. Nezpochyb\u0148uji, \u017ee se do\u017eijeme, ur\u010dit\u011b se do\u017eijeme (opakujte si to p\u0159ed span\u00edm), ale nyn\u00ed je t\u0159eba \u0159e\u0161it jin\u00e9 probl\u00e9my. Je to jako v\u011b\u0159it na poh\u00e1dkov\u00e9ho pon\u00edka Duhov\u00e9ho. Ano, p\u00e1r procent p\u0159\u00edpad\u016f se \u0159e\u0161\u00ed a \u0159e\u0161\u00ed se skv\u011ble, ale subjektivn\u011b serverless \u2013 to je duha\u2026 Tohle t\u00e9ma je pro m\u011b p\u0159\u00edli\u0161 vzd\u00e1len\u00e9 a p\u0159\u00edli\u0161 nejasn\u00e9. Nejsem p\u0159ipraven o tom mluvit. V roce 2019 nevytvo\u0159\u00edte \u017e\u00e1dnou aplikaci se serverless.<\/p>\n<h2>Jak se bude vyv\u00edjet Kubernetes<\/h2>\n<p>\n<b>\u2014 Zat\u00edmco jdeme k tomuto potenci\u00e1ln\u011b kr\u00e1sn\u00e9mu vzd\u00e1len\u00e9mu budoucnu, jak si mysl\u00ed\u0161, jak se bude vyv\u00edjet Kubernetes a ekosyst\u00e9m kolem n\u011bj?<\/b><\/p>\n<p><b>Dmitrij<\/b>: O tom jsem hodn\u011b p\u0159em\u00fd\u0161lel a m\u00e1m na to jasnou odpov\u011b\u010f. Prvn\u00ed je stateful - ud\u011blat stateless je p\u0159ece jen snadn\u011bj\u0161\u00ed. Kubernetes do toho zprvu investoval v\u00edce, od n\u011bj to v\u0161echno za\u010dalo. Stateless funguje prakticky dokonale v Kubernetes, nen\u00ed na co si st\u011b\u017eovat. U stateful z\u016fst\u00e1v\u00e1 je\u0161t\u011b hromada probl\u00e9m\u016f, vlastn\u011b nuanc\u00ed. U n\u00e1s u\u017e to funguje skv\u011ble, ale to jsme my. Aby to fungovalo pro v\u0161echny, pot\u0159ebujeme je\u0161t\u011b minim\u00e1ln\u011b p\u00e1r let. To nen\u00ed vypo\u010d\u00edtan\u00e1 metrika, ale m\u016fj pocit z hlavy.<\/p>\n<p>Zkr\u00e1tka, stateful by m\u011bl - a bude - v\u00fdrazn\u011b r\u016fst, proto\u017ee v\u0161echny na\u0161e aplikace uchov\u00e1vaj\u00ed stav, neexistuj\u00ed stateless aplikace. To je iluze, v\u017edy je pot\u0159eba n\u011bjak\u00e1 datab\u00e1ze a n\u011bco nav\u00edc. Stateful je zam\u011b\u0159en\u00ed na v\u0161e, co je mo\u017en\u00e9, opravy v\u0161ech chyb a zlep\u0161en\u00ed v\u0161ech probl\u00e9m\u016f, se kter\u00fdmi se te\u010f pot\u00fdk\u00e1me - nazv\u011bme to adopce.<\/p>\n<p>\u00darove\u0148 neprob\u00e1dan\u00e9ho, \u00farove\u0148 nevy\u0159e\u0161en\u00fdch probl\u00e9m\u016f, \u00farove\u0148 pravd\u011bpodobnosti, \u017ee se s n\u011b\u010d\u00edm setk\u00e1me, v\u00fdrazn\u011b klesne. To je d\u016fle\u017eit\u00fd p\u0159\u00edb\u011bh. A oper\u00e1to\u0159i - v\u0161e, co souvis\u00ed s kodifikac\u00ed logiky administrace, logiky \u0159\u00edzen\u00ed, abychom z\u00edskali snadnou slu\u017ebu: MySQL snadn\u00e1 slu\u017eba, RabbitMQ snadn\u00e1 slu\u017eba, Memcache snadn\u00e1 slu\u017eba - vlastn\u011b v\u0161echny tyto komponenty, kter\u00e9 pot\u0159ebujeme, abychom m\u011bli garantovanou funk\u010dnost z krabice. To pr\u00e1v\u011b \u0159e\u0161\u00ed tyto bolesti, \u017ee chceme datab\u00e1zi, ale nechceme ji administrativn\u011b \u0159\u00eddit, nebo chceme Kubernetes, ale nechceme ho administrativn\u011b \u0159\u00eddit.<\/p>\n<p>Tento p\u0159\u00edb\u011bh s v\u00fdvojem operator\u016f v n\u011bjak\u00e9 podob\u011b bude d\u016fle\u017eit\u00fd v n\u00e1sleduj\u00edc\u00edch n\u011bkolika letech.<\/p>\n<blockquote><p>Mysl\u00edm, \u017ee by m\u011bla v\u00fdrazn\u011b vzr\u016fst jednoduchost provozu - krabice se bude st\u00e1vat st\u00e1le \u010dern\u011bj\u0161\u00ed, st\u00e1le spolehliv\u011bj\u0161\u00ed, s st\u00e1le jednodu\u0161\u0161\u00edmi ovl\u00e1dac\u00edmi prvky.<\/p><\/blockquote>\n<p>\nNed\u00e1vno jsem poslouchal star\u00fd rozhovor Isaaca Asimova z 80. let na YouTube v show Saturday Night Live - po\u0159ad typu Urgant, jen\u017ee zaj\u00edmav\u00fd. Tam se ho ptali na budoucnost po\u010d\u00edta\u010d\u016f. \u0158ekl, \u017ee budoucnost je v jednoduchosti, tak jako to bylo u r\u00e1di\u00ed. R\u00e1diov\u00fd p\u0159ij\u00edma\u010d byl zpo\u010d\u00e1tku slo\u017eit\u00e1 v\u011bc. Abychom zachytili vlnu, museli jsme 15 minut to\u010dit ovlada\u010di, ot\u00e1\u010det knofl\u00edky a v\u016fbec rozum\u011bt, jak to cel\u00e9 funguje, ch\u00e1pat fyziku p\u0159enosu r\u00e1diov\u00fdch vln. V\u00fdsledkem je, \u017ee u r\u00e1dia z\u016fstala jen jedna kli\u010dka.<\/p>\n<p>Jak\u00e9 r\u00e1dio je te\u010f, v roce 2019? V aut\u011b r\u00e1dio zachyt\u00e1v\u00e1 v\u0161echny vlny a n\u00e1zvy stanic. Fyzika procesu se za 100 let nezm\u011bnila, zm\u011bnila se v\u0161ak jednoduchost pou\u017eit\u00ed. Dnes, a nejen dnes, u\u017e v roce 1980, kdy\u017e bylo interview s Asimovem, v\u0161ichni pou\u017e\u00edvali r\u00e1dio a nikdo se nezam\u00fd\u0161lel nad t\u00edm, jak to funguje. V\u017edy to fungovalo \u2013 to je dan\u00e9.<\/p>\n<p>Asimov tehdy \u0159\u00edkal, \u017ee s po\u010d\u00edta\u010di to bude podobn\u00e9 \u2013 <b>jednoduchost pou\u017eit\u00ed vzroste.<\/b>Pokud v roce 1980 bylo pot\u0159eba m\u00edt speci\u00e1ln\u00ed vzd\u011bl\u00e1n\u00ed, abyste mohli stisknout tla\u010d\u00edtka na po\u010d\u00edta\u010di, v budoucnu to tak nebude.<\/p>\n<p>M\u00e1m pocit, \u017ee s Kubernetes a infrastrukturou tak\u00e9 dojde k v\u00fdrazn\u00e9mu zv\u00fd\u0161en\u00ed jednoduchosti pou\u017eit\u00ed. To je podle m\u011b z\u0159ejm\u00e9 \u2013 le\u017e\u00ed to na povrchu.<\/p>\n<h2>Co ud\u011blat s in\u017een\u00fdry?<\/h2>\n<p>\n<b>\u2014 A co se pak stane s in\u017een\u00fdry, syst\u00e9mov\u00fdmi administr\u00e1tory, kte\u0159\u00ed podporuj\u00ed Kubernetes?<\/b><\/p>\n<p><b>Dmitrij<\/b>: A co se stalo s \u00fa\u010detn\u00edmi po p\u0159\u00edchodu 1C? P\u0159ibli\u017en\u011b to stejn\u00e9. D\u0159\u00edve se po\u010d\u00edtalo na pap\u00ed\u0159e \u2013 nyn\u00ed v programu. Produktivita pr\u00e1ce vzrostla n\u011bkolik n\u00e1sobn\u011b, a pr\u00e1ce t\u00edm nezmizela. Kdy\u017e d\u0159\u00edve pot\u0159ebovalo p\u0159i v\u00fdm\u011bn\u011b \u017e\u00e1rovky 10 in\u017een\u00fdr\u016f, nyn\u00ed bude sta\u010dit jeden.<\/p>\n<p>Po\u010det softwaru a po\u010det \u00fakol\u016f, mi p\u0159ijde, \u017ee nyn\u00ed roste rychlost\u00ed vy\u0161\u0161\u00ed, ne\u017e se objevuj\u00ed nov\u00ed DevOps a zvy\u0161uje se efektivita. Nyn\u00ed je na trhu konkr\u00e9tn\u00ed nedostatek a ten potrv\u00e1 dlouho. Pozd\u011bji se v\u0161e dostane do ur\u010dit\u00e9 normy, p\u0159i kter\u00e9 efektivita pr\u00e1ce vzroste, bude st\u00e1le v\u00edce serverless, k Kubernetes se p\u0159ipoj\u00ed neuronka, kter\u00e1 bude vyb\u00edrat ve\u0161ker\u00e9 zdroje p\u0159esn\u011b tak, jak je pot\u0159eba, a v\u0161echno ud\u011bl\u00e1 sama, jak m\u00e1 \u2013 \u010dlov\u011bk se odt\u00e1hne a nebude p\u0159ek\u00e1\u017eet.<\/p>\n<p>Ale rozhodnut\u00ed bude st\u00e1le muset n\u011bkdo p\u0159ij\u00edmat. Je jasn\u00e9, \u017ee \u00farove\u0148 kvalifikace a specializace tohoto \u010dlov\u011bka je vy\u0161\u0161\u00ed. Nyn\u00ed na \u00fa\u010detn\u00edm odd\u011blen\u00ed nepot\u0159ebujete 10 zam\u011bstnanc\u016f, kte\u0159\u00ed vedou \u00fa\u010detn\u00ed knihy, aby se jejich ruka neunavila. To je prost\u011b zbyte\u010dn\u00e9. Mnoho dokument\u016f se automaticky skenuje, rozpozn\u00e1v\u00e1 syst\u00e9mem elektronick\u00e9ho ob\u011bhu dokument\u016f. Sta\u010d\u00ed jeden chytr\u00fd hlavn\u00ed \u00fa\u010detn\u00ed, s mnohem lep\u0161\u00edmi dovednostmi a dobr\u00fdm porozum\u011bn\u00edm.<\/p>\n<p>Celkov\u011b je to tak ve v\u0161ech odv\u011btv\u00edch. S automobily je to obdobn\u00e9: d\u0159\u00edve byl k automobilu p\u0159id\u011blen mechanik a t\u0159i \u0159idi\u010di. Dnes je \u0159\u00edzen\u00ed automobilu jednoduch\u00fd proces, kter\u00e9ho se \u00fa\u010dastn\u00edme ka\u017ed\u00fd den. Nikdo si neuv\u011bdomuje, \u017ee auto je n\u011bco slo\u017eit\u00e9ho.<\/p>\n<blockquote><p>DevOps nebo syst\u00e9mov\u00e9 in\u017een\u00fdrstv\u00ed se nikam neztrat\u00ed \u2014 \u00farove\u0148 efektivity pr\u00e1ce bude r\u016fst.<\/p><\/blockquote>\n<p>\n<b>\u2014 Je\u0161t\u011b jsem sly\u0161el zaj\u00edmavou my\u0161lenku, \u017ee ve skute\u010dnosti pr\u00e1ce vzroste.<\/b><\/p>\n<p><b>Dmitrij<\/b>: Samoz\u0159ejm\u011b, sto procent! Proto\u017ee mno\u017estv\u00ed softwaru, kter\u00e9 p\u00ed\u0161eme, neust\u00e1le roste. Mno\u017estv\u00ed probl\u00e9m\u016f, kter\u00e9 \u0159e\u0161\u00edme pomoc\u00ed softwaru, neust\u00e1le roste. Mno\u017estv\u00ed pr\u00e1ce roste. Trh DevOps je nyn\u00ed siln\u011b p\u0159epln\u011bn\u00fd. Je to vid\u011bt na o\u010dek\u00e1v\u00e1n\u00edch plat\u016f. Opravdu, ani\u017e bychom se zab\u00fdvali detaily, by m\u011bly b\u00fdt juniory, kte\u0159\u00ed cht\u011bj\u00ed X, middle, kte\u0159\u00ed cht\u011bj\u00ed 1,5X, a senio\u0159i, kte\u0159\u00ed cht\u011bj\u00ed 2X. A nyn\u00ed, pokud se pod\u00edv\u00e1me na moskevsk\u00fd trh plat\u016f DevOps, junior chce od X do 3X a senior chce od X do 3X.<\/p>\n<blockquote><p>Nikdo nev\u00ed, kolik to stoj\u00ed. \u00darove\u0148 platu se m\u011b\u0159\u00ed va\u0161\u00ed jistotou \u2014 je to naprost\u00fd chaos, up\u0159\u00edmn\u011b, siln\u011b p\u0159epln\u011bn\u00fd trh.<\/p><\/blockquote>\n<p>\nSamoz\u0159ejm\u011b, tato situace se velmi brzy zm\u011bn\u00ed \u2014 m\u011blo by doj\u00edt k ur\u010dit\u00e9mu nasycen\u00ed. Se softwarem to v\u0161ak nen\u00ed tak \u2014 i kdy\u017e jsou v\u00fdvoj\u00e1\u0159i pot\u0159ebn\u00ed a v\u0161ichni cht\u011bj\u00ed dobr\u00e9 v\u00fdvoj\u00e1\u0159e, trh ch\u00e1pe, kolik kdo stoj\u00ed \u2014 odv\u011btv\u00ed se usadilo. S DevOps to nen\u00ed stejn\u00e9.<\/p>\n<p><b>\u2014 Z toho, co jsem sly\u0161el, jsem dosp\u011bl k z\u00e1v\u011bru, \u017ee aktu\u00e1ln\u00ed syst\u00e9mov\u00fd administr\u00e1tor se nem\u00e1 p\u0159\u00edli\u0161 ob\u00e1vat, ale je \u010das na zlep\u0161en\u00ed dovednost\u00ed a p\u0159ipravit se na to, \u017ee z\u00edtra bude v\u00edce pr\u00e1ce, ale bude vysoce kvalifikovan\u00e1.<\/b><\/p>\n<p><b>Dmitrij<\/b>: Stoprocentn\u011b. Celkov\u011b \u017eijeme v roce 2019 a pravidlo \u017eivota je takov\u00e9: <b>lifetime learning \u2014 u\u010d\u00edme se po cel\u00fd \u017eivot<\/b>. Mysl\u00edm, \u017ee to nyn\u00ed v\u0161ichni v\u011bd\u00ed a c\u00edt\u00ed, ale nesta\u010d\u00ed jen v\u011bd\u011bt \u2014 je t\u0159eba jednat. Ka\u017ed\u00fd den se mus\u00edme m\u011bnit. Pokud to ned\u011bl\u00e1me, tak d\u0159\u00edve nebo pozd\u011bji n\u00e1s vykopnou na okraj profese. <\/p>\n<p>Bu\u010fte p\u0159ipraveni na n\u00e1hl\u00e9 zm\u011bny o 180 stup\u0148\u016f. Nezavrhuji situace, kdy se n\u011bco z\u00e1sadn\u011b zm\u011bn\u00ed, vymysl\u00ed se n\u011bco nov\u00e9ho \u2014 to se st\u00e1v\u00e1. Hop! \u2014 a te\u010f jedn\u00e1me jinak. Je d\u016fle\u017eit\u00e9 b\u00fdt na to p\u0159ipraven a ned\u011blat si s t\u00edm starosti. M\u016f\u017ee se st\u00e1t, \u017ee z\u00edtra v\u0161echno, co d\u011bl\u00e1m, bude zbyte\u010dn\u00e9 \u2014 to nevad\u00ed, cel\u00fd \u017eivot jsem se u\u010dil a jsem p\u0159ipraven u\u010dit se n\u011bco jin\u00e9ho. Nen\u00ed to probl\u00e9m. Nebojte se o pracovn\u00ed stabilitu, ale bu\u010fte p\u0159ipraveni neust\u00e1le se u\u010dit nov\u00e9 v\u011bci.<\/p>\n<h2>P\u0159\u00e1n\u00ed a chvilka reklamy<\/h2>\n<p>\n<b>\u2014 M\u00e1\u0161 n\u011bjak\u00e9 p\u0159\u00e1n\u00ed?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Ano, m\u00e1m n\u011bkolik p\u0159\u00e1n\u00ed.<\/p>\n<p>Prvn\u00ed a materi\u00e1ln\u00ed \u2014 p\u0159ihla\u0161te se na\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/channel\/UCjmwHCZ-qh3ro7hHTQhqYQg\">YouTube<\/a><\/noindex>. V\u00e1\u017een\u00ed \u010dten\u00e1\u0159i, nav\u0161tivte YouTube a p\u0159ihlaste se k na\u0161emu kan\u00e1lu. Asi za m\u011bs\u00edc za\u010dneme aktivn\u011b expandovat na video slu\u017eby, m\u00e1me spoustu vzd\u011bl\u00e1vac\u00edho obsahu o Kubernetes, otev\u0159en\u00e9ho a r\u016fznorod\u00e9ho: od praktick\u00fdch v\u011bc\u00ed, a\u017e po laborato\u0159e, a hlubok\u00e9 teoretick\u00e9 principy, a jak aplikovat Kubernetes na \u00farovni princip\u016f a vzor\u016f.<\/p>\n<p>Druh\u00e9 materi\u00e1ln\u00ed p\u0159\u00e1n\u00ed \u2014 nav\u0161tivte\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\">GitHub<\/a><\/noindex> a dejte n\u00e1m hv\u011bzdi\u010dky, proto\u017ee t\u00edm se \u017eiv\u00edme. Pokud n\u00e1m ned\u00e1te hv\u011bzdi\u010dky, nebudeme m\u00edt co j\u00edst. Je to jako mana v po\u010d\u00edta\u010dov\u00e9 h\u0159e. D\u011bl\u00e1me n\u011bco, d\u011bl\u00e1me, sna\u017e\u00edme se, n\u011bkdo \u0159\u00edk\u00e1, \u017ee to jsou hrozn\u00e9 bicykly, n\u011bkdo, \u017ee je to v\u0161echno \u00fapln\u011b \u0161patn\u011b, a my pokra\u010dujeme a jedn\u00e1me naprosto \u010destn\u011b. Vid\u00edme probl\u00e9m, \u0159e\u0161\u00edme ho a sd\u00edl\u00edme zku\u0161enosti. Proto n\u00e1m dejte hv\u011bzdi\u010dku, v\u00e1m to neubere, a n\u00e1m to p\u0159id\u00e1, proto\u017ee t\u00edm se \u017eiv\u00edme.<\/p>\n<p>T\u0159et\u00ed, d\u016fle\u017eit\u00e9, a u\u017e ne materi\u00e1ln\u00ed p\u0159\u00e1n\u00ed \u2014 <b>p\u0159esta\u0148te v\u011b\u0159it na poh\u00e1dky<\/b>. Jste profesion\u00e1lov\u00e9. DevOps je velmi v\u00e1\u017en\u00e1 a odpov\u011bdn\u00e1 profese. P\u0159esta\u0148te si hr\u00e1t na pracovi\u0161ti. Nech\u0165 v\u00e1s to zas\u00e1hne, a vy si to uv\u011bdom\u00edte. P\u0159edstavte si, \u017ee p\u0159ijdete do nemocnice, a tam na v\u00e1s doktor experimentuje. Ch\u00e1pu, \u017ee to m\u016f\u017ee b\u00fdt n\u011bkoho urazit, ale pravd\u011bpodobn\u011b to nen\u00ed o v\u00e1s, ale o n\u011bkom jin\u00e9m. \u0158ekn\u011bte ostatn\u00edm, aby tak\u00e9 p\u0159estali. Opravu to kaz\u00ed \u017eivot n\u00e1m v\u0161em \u2014 mnoz\u00ed za\u010d\u00ednaj\u00ed vn\u00edmat spr\u00e1vu, administr\u00e1tory a DevOps jako kluky, kte\u0159\u00ed znovu n\u011bco rozbili. To \u201erozbili\u201c je v\u011bt\u0161inou kv\u016fli tomu, \u017ee jsme se \u0161li bavit, a ne s chladn\u00fdm rozumem se pod\u00edvali, \u017ee tady to je tak a tady tak.<\/p>\n<p>To neznamen\u00e1, \u017ee bychom nem\u011bli experimentovat. Experimentovat je t\u0159eba, my sami to d\u011bl\u00e1me. Pokud budeme up\u0159\u00edmn\u00ed, ob\u010das si tak\u00e9 hrajeme \u2013 to je samoz\u0159ejm\u011b \u0161patn\u011b, ale nic lidsk\u00e9ho n\u00e1m nen\u00ed ciz\u00ed. Vyhl\u00e1s\u00edme rok 2019 rokem v\u00e1\u017en\u00fdch a promy\u0161len\u00fdch experiment\u016f, nikoliv hrami na produkci. Pravd\u011bpodobn\u011b tak.<\/p>\n<p><b>\u2013 D\u011bkuji v\u00e1m moc!<\/b><\/p>\n<p><b>Dmitrij<\/b>: D\u011bkuji Tob\u011b, Vitali, za \u010das a za rozhovor. Draz\u00ed \u010dten\u00e1\u0159i, d\u011bkuji v\u00e1m velmi, pokud jste n\u00e1hodou do\u0161li a\u017e sem. Douf\u00e1m, \u017ee jsme v\u00e1m p\u0159inesli alespo\u0148 p\u00e1r my\u0161lenek.<\/p>\n<blockquote><p>V rozhovoru se Dmitrij dotkl ot\u00e1zky werf. Nyn\u00ed je to univerz\u00e1ln\u00ed \u0161v\u00fdcarsk\u00fd n\u016f\u017e, kter\u00fd \u0159e\u0161\u00ed t\u00e9m\u011b\u0159 v\u0161echny \u00fakoly. Ale nebylo tomu tak v\u017edy.\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf <\/a><\/noindex>\u00a0na festivalu <noindex><a rel=\"nofollow\" href=\"https:\/\/ritfest.ru\/2019\">RIT++<\/a><\/noindex> Dmitrij Stolyarov o tomto n\u00e1stroji podrobn\u011b pov\u00ed. V p\u0159edn\u00e1\u0161ce <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\/abstracts\/5136\">\u201ewerf \u2013 n\u00e1\u0161 n\u00e1stroj pro CI\/CD v Kubernetes\u201c<\/a><\/noindex> bude v\u0161e: probl\u00e9my a skryt\u00e9 nuance Kubernetes, mo\u017enosti \u0159e\u0161en\u00ed t\u011bchto obt\u00ed\u017e\u00ed a aktu\u00e1ln\u00ed realizace werf v podrobnostech. P\u0159ipojte se 27. a 28. kv\u011btna, budeme vytv\u00e1\u0159et ide\u00e1ln\u00ed n\u00e1stroje.<\/p><\/blockquote>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/453306\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u00a0\u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 DevOpsConf \u0412\u0438\u0442\u0430\u043b\u0438\u0439 \u0425\u0430\u0431\u0430\u0440\u043e\u0432 \u0432\u0437\u044f\u043b \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0443\u00a0\u0414\u043c\u0438\u0442\u0440\u0438\u044f \u0421\u0442\u043e\u043b\u044f\u0440\u043e\u0432\u0430 (distol), \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u0438\u00a0\u0441\u043e\u0443\u0447\u0440\u0435\u0434\u0438\u0442\u0435\u043b\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0424\u043b\u0430\u043d\u0442\u00bb. \u0412\u0438\u0442\u0430\u043b\u0438\u0439 \u0440\u0430\u0441\u0441\u043f\u0440\u043e\u0441\u0438\u043b \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u043f\u0440\u043e\u00a0\u0442\u043e, \u0447\u0435\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u00ab\u0424\u043b\u0430\u043d\u0442\u00bb, \u043f\u0440\u043e Kubernetes, \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443. \u041e\u0431\u0441\u0443\u0434\u0438\u043b\u0438, \u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u0435\u043d Kubernetes \u0438\u00a0\u043d\u0443\u0436\u0435\u043d\u00a0\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435. \u0410\u00a0\u0435\u0449\u0435 \u043f\u0440\u043e \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b, Amazon AWS, \u043f\u043e\u0434\u0445\u043e\u0434 \u00ab\u041c\u043d\u0435 \u043f\u043e\u0432\u0435\u0437\u0435\u0442\u00bb \u0432\u00a0DevOps, \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \u0441\u0430\u043c\u043e\u0433\u043e Kubernetes, \u043f\u043e\u0447\u0435\u043c\u0443, \u043a\u043e\u0433\u0434\u0430 \u0438\u00a0\u043a\u0430\u043a \u043e\u043d\u00a0\u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442 \u043c\u0438\u0440, \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u044b DevOps \u0438\u00a0\u043a\u00a0\u0447\u0435\u043c\u0443 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430\u043c \u0432\u00a0\u0441\u0432\u0435\u0442\u043b\u043e\u043c [&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-34450","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=\"\u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 DevOpsConf \u0412\u0438\u0442\u0430\u043b\u0438\u0439 \u0425\u0430\u0431\u0430\u0440\u043e\u0432 \u0432\u0437\u044f\u043b \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0443 \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u0421\u0442\u043e\u043b\u044f\u0440\u043e\u0432\u0430 (\" \/>\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\/kubernetes-zahvatit-mir-kogda-i-kak\" \/>\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\udd47Kubernetes \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442 \u043c\u0438\u0440. \u041a\u043e\u0433\u0434\u0430 \u0438 \u043a\u0430\u043a? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 DevOpsConf \u0412\u0438\u0442\u0430\u043b\u0438\u0439 \u0425\u0430\u0431\u0430\u0440\u043e\u0432 \u0432\u0437\u044f\u043b \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0443 \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u0421\u0442\u043e\u043b\u044f\u0440\u043e\u0432\u0430 (\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kubernetes-zahvatit-mir-kogda-i-kak\" \/>\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:58:24+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:58:24+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\udd47Kubernetes ovl\u00e1dne sv\u011bt. Kdy a jak? | ProHoster","description":"V p\u0159edve\u010der DevOpsConf vzal Vitalij Chabarov rozhovor s Dmitrijem Stolyarovem (","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kubernetes-zahvatit-mir-kogda-i-kak","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\udd47Kubernetes \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442 \u043c\u0438\u0440. \u041a\u043e\u0433\u0434\u0430 \u0438 \u043a\u0430\u043a? | ProHoster","og:description":"\u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 DevOpsConf \u0412\u0438\u0442\u0430\u043b\u0438\u0439 \u0425\u0430\u0431\u0430\u0440\u043e\u0432 \u0432\u0437\u044f\u043b \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0443 \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u0421\u0442\u043e\u043b\u044f\u0440\u043e\u0432\u0430 (","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kubernetes-zahvatit-mir-kogda-i-kak","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:58:24+00:00","article:modified_time":"2019-10-31T18:58:24+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34450","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-01-21 19:20:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:20:56","updated":"2026-01-21 19:20: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\/34450","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=34450"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/34450\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=34450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=34450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=34450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}