{"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\/ro\/blog\/administrirovanie\/kubernetes-zahvatit-mir-kogda-i-kak","title":{"rendered":"Kubernetes va cuceri lumea. C\u00e2nd \u0219i cum?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00cenainte de <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf<\/a><\/noindex> <b>Vitalii Khabarov<\/b> a realizat un interviu cu\u00a0<b>Dmitri Stolyarov<\/b> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/distol\/\" class=\"user_link\">distol<\/a><\/noindex>), director tehnic \u0219i cofondator al companiei \u201eFlant\u201d. Vitalii l-a \u00eentrebat pe Dmitri despre ce face \u201eFlant\u201d, despre Kubernetes, dezvoltarea ecosistemului, suport. Au discutat despre de ce este nevoie de Kubernetes \u0219i dac\u0103 este cu adev\u0103rat necesar. De asemenea, au vorbit despre microservicii, Amazon AWS, abordarea \u201eAm noroc\u201d \u00een DevOps, viitorul Kubernetes, de ce, c\u00e2nd \u0219i cum va cuceri lumea, perspectivele DevOps \u0219i la ce trebuie s\u0103 se preg\u0103teasc\u0103 inginerii \u00een viitorul apropiat cu simplificarea \u0219i re\u021belele neuronale.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/devopsdeflope.ru\/posts\/2019\/047.html\">Originalul interviului<\/a><\/noindex> \u00een forma unui podcast poate fi ascultat pe DevOps Deflope \u2014 un podcast \u00een limba rus\u0103 despre DevOps, iar mai jos \u2014 versiunea textului. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes va cuceri lumea. C\u00e2nd \u0219i cum?\" src=\"\/wp-content\/uploads\/6341673ac500424dcaccce28967be5a5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAici \u0219i mai departe \u00eentreb\u0103rile sunt adresate de <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/vitkhab\">Vitalii Khabarov<\/a><\/noindex> un inginer de la Express42.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Despre \u201eFlant\u201d<\/h2>\n<p>\n<b>\u2014 Dima, salut. E\u0219ti directorul tehnic al \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/\">Flant<\/a><\/noindex>\u201d \u0219i de asemenea fondator al acesteia. Te rog s\u0103 ne poveste\u0219ti ce face compania \u0219i ce rol ai tu \u00een aceasta?<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes va cuceri lumea. C\u00e2nd \u0219i cum?\" src=\"\/wp-content\/uploads\/5bec6fcb38b142cc13f75f8eb4dfd834.jpg\" style=\"display:block;margin: 0 auto;\" \/><b>Dmitri<\/b>: Din exterior, pare c\u0103 suntem ni\u0219te tipuri care merg \u0219i pun Kubernetes peste tot \u0219i fac ceva cu el. Dar nu este a\u0219a. Am \u00eenceput ca o companie care se ocup\u0103 cu Linux, dar de mult timp activitatea noastr\u0103 principal\u0103 este \u00eentre\u021binerea proiectelor de produc\u021bie \u0219i highload de la A la Z. De obicei, construim \u00eentreaga infrastructur\u0103 de la zero \u0219i apoi ne asum\u0103m responsabilitatea pe termen lung pentru aceasta. Prin urmare, principala activitate pe care o \u00eendepline\u0219te \u201eFlant\u201d, pentru care prime\u0219te bani, este <b>asumarea responsabilit\u0103\u021bii \u0219i implementarea produc\u021biei de la A la Z<\/b>.<br \/>\n<br clear=\"left\"><br \/>\n<br clear=\"left\"><br \/>\nEu, ca director tehnic \u0219i unul dintre cofondatori, m\u0103 ocup non-stop de g\u0103sirea de metode pentru a \u00eembun\u0103t\u0103\u021bi disponibilitatea produc\u021biei, a simplifica exploatarea acesteia, a u\u0219ura via\u021ba administratorilor \u0219i a face via\u021ba dezvoltatorilor mai pl\u0103cut\u0103.<\/p>\n<h2>Despre Kubernetes<\/h2>\n<p>\n<b>\u2014 \u00cen ultima vreme, de la \u201eFlant\u201d observ multe prezent\u0103ri \u0219i\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/431500\/\">articolele noastre<\/a><\/noindex> despre Kubernetes. Cum a\u021bi ajuns la el?<\/b><\/p>\n<p><b>Dmitri<\/b>: Am mai povestit despre asta de multe ori, dar nu-mi pare r\u0103u s\u0103 repet. Consider c\u0103 este corect s\u0103 repet aceast\u0103 tem\u0103, deoarece apare confuzie \u00eentre cauz\u0103 \u0219i efect.<\/p>\n<p>Aveam cu adev\u0103rat nevoie de un instrument. Ne-am confruntat cu o mul\u021bime de probleme, am luptat, le-am dep\u0103\u0219it prin diverse solu\u021bii improvizate \u0219i sim\u021beam nevoia unui instrument. Am examinat multe op\u021biuni diferite, ne-am construit propriile solu\u021bii, acumul\u00e2nd experien\u021b\u0103. Treptat, am ajuns la momentul \u00een care am \u00eenceput s\u0103 folosim Docker aproape imediat dup\u0103 ce a ap\u0103rut - \u00een jurul anului 2013. La apari\u021bia sa, aveam deja mult\u0103 experien\u021b\u0103 cu containerele; chiar am scris o variant\u0103 asem\u0103n\u0103toare cu \u201eDocker\u201d - c\u00e2teva solu\u021bii improvizate pe Python. Odat\u0103 cu apari\u021bia Docker, a ap\u0103rut posibilitatea de a renun\u021ba la improviza\u021bii \u0219i de a utiliza o solu\u021bie fiabil\u0103, sus\u021binut\u0103 de comunitate.<\/p>\n<p>Povestea cu Kubernetes este similar\u0103. La momentul \u00een care a \u00eenceput s\u0103 c\u00e2\u0219tige traction - pentru noi aceasta este versiunea 1.2 - aveam deja o mul\u021bime de solu\u021bii improvizate at\u00e2t pe Shell, c\u00e2t \u0219i pe Chef, pe care \u00eencercam cumva s\u0103 le orchestr\u0103m cu Docker. Ne uitam serios la Rancher \u0219i la alte solu\u021bii, dar atunci a ap\u0103rut Kubernetes, \u00een care totul a fost realizat exact a\u0219a cum am fi f\u0103cut noi sau chiar mai bine. Nu ai ce s\u0103 repro\u0219ezi.<\/p>\n<p>Da, aici exist\u0103 ni\u0219te lucruri neterminate, acolo este \u0219i ceva neterminat - multe nefinalizate, iar 1.2 este cu adev\u0103rat \u00eengrijor\u0103tor, dar... Kubernetes este ca o cl\u0103dire \u00een construc\u021bie - te ui\u021bi la proiect \u0219i realizezi c\u0103 va fi genial. Dac\u0103 la cl\u0103dire acum exist\u0103 o funda\u021bie \u0219i dou\u0103 etaje, atunci \u00een\u021belegi c\u0103 mai bine nu te mu\u021bi \u00eenc\u0103, dar cu software-ul nu sunt astfel de probleme - po\u021bi deja s\u0103 \u00eel folose\u0219ti.<\/p>\n<blockquote><p>Nu am avut niciun moment \u00een care ne-am g\u00e2ndit dac\u0103 s\u0103 folosim Kubernetes sau nu. L-am a\u0219teptat cu mult \u00eenainte de a ap\u0103rea \u0219i \u00eencercam s\u0103 ne facem analogii.<\/p><\/blockquote>\n<p><\/p>\n<h2>Despre Kubernetes<\/h2>\n<p>\n<b>\u2014 Participa\u021bi direct la dezvoltarea Kubernetes \u00een sine?<\/b><\/p>\n<p><b>Dmitri<\/b>: Moderat. Mai degrab\u0103 particip\u0103m la dezvoltarea ecosistemului. Trimitem un anumit num\u0103r de pull requests: \u00een Prometheus, \u00een diverse operatoare, \u00een Helm - \u00een ecosistem. Din p\u0103cate, nu pot urm\u0103ri tot ce facem \u0219i a\u0219 putea gre\u0219i, dar nu avem niciun pull request \u00een nucleu.<\/p>\n<p><b>\u2014 \u00cen acela\u0219i timp, dezvolta\u021bi multe dintre propriile instrumente \u00een jurul Kubernetes?<\/b><\/p>\n<p><b>Dmitri<\/b>: Strategia este aceasta: ne implic\u0103m \u0219i trimitem pull request-uri la tot ce exist\u0103 deja. Dac\u0103 acolo nu sunt acceptate pull requests, pur \u0219i simplu le forckuim pentru noi \u0219i tr\u0103im, p\u00e2n\u0103 c\u00e2nd ele sunt acceptate cu versiunile noastre. Apoi, c\u00e2nd ajunge la upstream, revenim la versiunea upstream.<\/p>\n<p>De exemplu, avem un operator Prometheus, cu care am alternat de c\u00e2teva ori \u00eentre upstream-ul versiunii noastre, probabil de 5 ori. Ne trebuie o caracteristic\u0103, am trimis un pull request, trebuie s\u0103 o lans\u0103m m\u00e2ine \u0219i nu dorim s\u0103 a\u0219tept\u0103m s\u0103 fie lansat\u0103 \u00een upstream. Astfel, ne construim noi versiunea cu caracteristica de care avem nevoie, pe toate clusterele noastre. Apoi, acest lucru, de exemplu, este adus \u00een upstream cu cuvintele: \u201eB\u0103ie\u021bi, hai s\u0103 facem pentru un caz mai general\u201d, iar noi, sau altcineva, finaliz\u0103m asta \u0219i, \u00een timp, se re\u00eentoarce \u00eenapoi.<\/p>\n<p><b>Tot ce exist\u0103, \u00eencerc\u0103m s\u0103 dezvoltam.<\/b>. Multe elemente care nu exist\u0103 \u00eenc\u0103, fie c\u0103 nu au fost create, fie c\u0103 au fost concepute dar nu implementate, le facem noi. \u0218i nu pentru c\u0103 ne place procesul \u00een sine sau construirea de biciclete ca industrie, ci pur \u0219i simplu pentru c\u0103 avem nevoie de acest instrument. Desigur, ni se pune frecvent \u00eentrebarea de ce am realizat un anumit lucru? R\u0103spunsul este simplu - pentru c\u0103 trebuia s\u0103 mergem mai departe, s\u0103 rezolv\u0103m o problem\u0103 practic\u0103, \u0219i am rezolvat-o cu acest instrument.<\/p>\n<blockquote><p>Drumul este \u00eentotdeauna astfel: c\u0103ut\u0103m foarte atent \u0219i, dac\u0103 nu g\u0103sim nicio solu\u021bie, cum s\u0103 transform\u0103m o p\u00e2ine \u00eentr-un troleibuz, atunci ne facem propria p\u00e2ine \u0219i propriul troleibuz.<\/p><\/blockquote>\n<p><\/p>\n<h2>Instrumentele \u201eFlanta\u201d<\/h2>\n<p>\n<b>\u2014 \u0218tiu c\u0103 \u00een prezent \u201eFlanta\u201d dispune de operatori addon, operatori shell, instrumente dapp\/werf. A\u0219a cum \u00een\u021beleg, acesta este acela\u0219i instrument \u00een diferite incarna\u021bii. De asemenea, \u00een\u021beleg c\u0103 \u00een interiorul \u201eFlanta\u201d exist\u0103 multe alte instrumente. Este corect?<\/b><\/p>\n<p><b>Dmitri<\/b>: Avem multe alte lucruri pe GitHub. Din ceea ce \u00eemi amintesc acum, avem statusmap - un panou pentru Grafana, care a fost bine primit de toat\u0103 lumea. Acesta este men\u021bionat aproape \u00een fiecare a doua articol despre monitorizarea Kubernetes pe Medium. Este imposibil s\u0103 explic pe scurt ce este statusmap - este nevoie de un articol separat, dar este un lucru foarte util pentru monitorizarea statutului \u00een timp, deoarece \u00een Kubernetes trebuie adesea s\u0103 ar\u0103t\u0103m statutul \u00een timp. De asemenea, avem LogHouse - este un instrument bazat pe ClickHouse \u0219i magie neagr\u0103 pentru colectarea de loguri \u00een Kubernetes.<\/p>\n<p>Multe utilitare! \u0218i vor fi \u0219i mai multe, deoarece un anumit num\u0103r de solu\u021bii interne vor fi lansate \u00een acest an. Dintre cele mari, pe baza operatorului addon, exist\u0103 o gr\u0103mad\u0103 de addon-uri pentru Kubernetes, cum ar fi cum s\u0103 instal\u0103m corect sert manager - un instrument pentru gestionarea certificatelor, cum s\u0103 instal\u0103m corect Prometheus cu o mul\u021bime de extensii - sunt vreo dou\u0103zeci de binare diferite care exceleaz\u0103 datele \u0219i colecteaz\u0103 ceva, iar pentru acest Prometheus avem o grafic\u0103 fantastic\u0103 \u0219i alerte. Toate acestea sunt doar o gr\u0103mad\u0103 de addon-uri pentru Kubernetes, care se instaleaz\u0103 \u00een cluster, iar acesta se transform\u0103 dintr-un simplu \u00een unul sofisticat, automatizat, \u00een care multe \u00eentreb\u0103ri sunt deja rezolvate. Da, facem multe.<\/p>\n<h2>Dezvoltarea ecosistemului<\/h2>\n<p>\n<b>\u2014 Mi se pare c\u0103 acesta este un aport foarte mare la dezvoltarea acestui instrument \u0219i a metodelor sale de utilizare. Po\u021bi s\u0103-\u021bi dai seama aproximativ cine ar mai contribui la dezvoltarea ecosistemului?<\/b><\/p>\n<p><b>Dmitri<\/b>: <b>\u00cen Rusia, dintre companiile care activeaz\u0103 pe pia\u021ba noastr\u0103 - nimeni nu se apropie.<\/b>. Desigur, aceasta este o afirma\u021bie \u00eendr\u0103znea\u021b\u0103, pentru c\u0103 exist\u0103 juc\u0103tori mari, cum ar fi Mail \u0219i Yandex - \u0219i ei fac ceva cu Kubernetes, dar chiar \u0219i ei nu s-au apropiat de contribu\u021bia companiilor pe plan mondial, care fac mult mai mult dec\u00e2t noi. Este greu s\u0103 compari \"Flant\" cu un personal de 80 de oameni \u0219i Red Hat, care are doar pentru un Kubernetes 300 de ingineri, dac\u0103 nu gre\u0219esc. Este dificil de comparat. La noi \u00een departamentul R&amp;D sunt 6 oameni, inclusiv eu, care dezvolt\u0103m toate uneltele noastre. 6 oameni fa\u021b\u0103 de 300 de ingineri de la Red Hat - este cumva greu de comparat.<\/p>\n<p><b>\u2014 Cu toate acestea, atunci c\u00e2nd chiar \u0219i ace\u0219ti 6 oameni pot s\u0103 fac\u0103 ceva cu adev\u0103rat util \u0219i transferabil, c\u00e2nd se confrunt\u0103 cu o problem\u0103 practic\u0103 \u0219i ofer\u0103 solu\u021bia comunit\u0103\u021bii - este un caz interesant. \u00cen\u021beleg c\u0103 \u00een companiile tehnologice mari, unde exist\u0103 propria dezvoltare \u0219i echip\u0103 de suport Kubernetes, pot fi dezvoltate unelte asem\u0103n\u0103toare. Acesta este un exemplu pentru ele, c\u0103 se poate dezvolta \u0219i oferi comunit\u0103\u021bii, d\u00e2nd un impuls \u00eentregii comunit\u0103\u021bi care folose\u0219te Kubernetes.<\/b><\/p>\n<p><b>Dmitri<\/b>: Probabil c\u0103 este specificitatea integratorului, caracteristica sa. Avem multe proiecte \u0219i vedem multe situa\u021bii diferite. Pentru noi, principala modalitate de a crea valoare ad\u0103ugat\u0103 este s\u0103 analiz\u0103m aceste cazuri, s\u0103 g\u0103sim comunit\u0103\u021bi \u0219i s\u0103 le ieftinim c\u00e2t mai mult posibil. Ne ocup\u0103m activ de asta. \u00cemi e greu s\u0103 vorbesc despre Rusia \u0219i lume, dar avem aproximativ 40 de ingineri DevOps \u00een companie care se ocup\u0103 cu Kubernetes. Nu cred c\u0103 \u00een Rusia sunt multe companii cu un num\u0103r comparabil de speciali\u0219ti care \u00een\u021beleg Kubernetes, dac\u0103 exist\u0103 vreodat\u0103.<\/p>\n<p>\u00centeleg tot ce implic\u0103 denumirea de inginer DevOps, to\u021bi \u00een\u021beleg \u0219i s-au obi\u0219nuit s\u0103 numeasc\u0103 inginerii DevOps ingineri DevOps, nu vom discuta despre asta. Cei 40 de minuna\u021bi ingineri DevOps se confrunt\u0103 zilnic cu probleme \u0219i le rezolv\u0103, noi doar analiz\u0103m aceast\u0103 experien\u021b\u0103 \u0219i \u00eencerc\u0103m s\u0103 generaliz\u0103m. \u00cen\u021belegem c\u0103 dac\u0103 va r\u0103m\u00e2ne \u00een interior, \u00een unul sau doi ani instrumentul va fi inutil, deoarece undeva \u00een comunitate va ap\u0103rea un instrument gata. Nu are sens s\u0103 acumul\u0103m aceast\u0103 experien\u021b\u0103 \u00een interior \u2014 este pur \u0219i simplu o risip\u0103 de resurse \u0219i timp \u00een dev\/null. A\u0219a c\u0103 nu ne pare r\u0103u. Public\u0103m cu mare pl\u0103cere \u0219i \u00een\u021belegem c\u0103 trebuie s\u0103 public\u0103m, s\u0103 dezvolt\u0103m, s\u0103 promov\u0103m, s\u0103 facem cunoscut, pentru ca oamenii s\u0103-l foloseasc\u0103 \u0219i s\u0103 adauge experien\u021ba lor \u2014 atunci totul cre\u0219te \u0219i tr\u0103ie\u0219te. Astfel, \u00een doi ani instrumentul nu ajunge la gunoi. Nu ne pare r\u0103u s\u0103 continu\u0103m s\u0103 investim resurse, deoarece vedem c\u0103 cineva folose\u0219te instrumentul t\u0103u, iar \u00een doi ani deja \u00eel folose\u0219te toat\u0103 lumea.<\/p>\n<p><b>Aceasta face parte din strategia noastr\u0103 mare cu dapp\/werf<\/b>. Nu-mi amintesc c\u00e2nd am \u00eenceput s\u0103-l facem, pare c\u0103 acum 3 ani. Ini\u021bial, a fost complet pe shell. A fost un super proof of concept, am rezolvat anumite sarcini particulare \u2014 a func\u021bionat! Dar cu shell sunt probleme, nu mai po\u021bi dezvolta mai departe, a programa pe shell este o ocupa\u021bie deosebit\u0103. Aveam obiceiul s\u0103 scriem pe Ruby, \u00een consecin\u021b\u0103, am ref\u0103cut ceva pe Ruby, am dezvoltat, dezvoltat, dezvoltat, \u0219i ne-am lovit de realitatea c\u0103 comunitatea, mul\u021bimea, care nu spune \"vrem sau nu vrem\", se fere\u0219te de Ruby, cum nu e amuzant. Am realizat c\u0103 trebuie s\u0103 scriem tot acest lucru pe Go, pentru a corespunde pur \u0219i simplu primului punct din checklist: <b>Instrumentul DevOps trebuie s\u0103 fie un binar static<\/b>Indiferent dac\u0103 este Go sau nu, cel mai bine este un binar static scris \u00een Go.<\/p>\n<p>Am investit resurse, am rescris dapp-ul \u00een Go \u0219i l-am numit werf. Dapp-ul nu mai este sus\u021binut, nu se dezvolt\u0103, func\u021bioneaz\u0103 \u00eentr-o ultim\u0103 versiune, dar exist\u0103 un upgrade absolut pe care \u00eel putem urma.<\/p>\n<h2>De ce a fost creat dapp-ul<\/h2>\n<p>\n<b>\u2014 Po\u021bi s\u0103 ne spui pe scurt de ce a fost creat dapp-ul, ce probleme rezolv\u0103?<\/b><\/p>\n<p><b>Dmitri<\/b>: Prima cauz\u0103 este \u00een procesul de construire. La \u00eenceput, am avut probleme mari cu construirea, c\u00e2nd Docker nu suporta multi-stage, \u0219i am realizat multi-stage pe cont propriu. Apoi, am avut o mul\u021bime de \u00eentreb\u0103ri legate de cur\u0103\u021barea imaginilor. Oricine face CI\/CD se confrunt\u0103, mai devreme sau mai t\u00e2rziu, cu problema c\u0103 sunt o mul\u021bime de imagini construite, trebuie cumva s\u0103 cur\u0103\u021b\u0103m ce nu mai este necesar \u0219i s\u0103 l\u0103s\u0103m doar ce trebuie.<\/p>\n<p>A doua cauz\u0103 este \u00een desf\u0103\u0219urare. Da, exist\u0103 Helm, dar acesta rezolv\u0103 doar o parte din probleme. De\u0219i poate p\u0103rea amuzant, este scris c\u0103 \u201eHelm este Managerul de Pachete pentru Kubernetes\u201d. Exact, \u201ethe\u201d. Mai sunt \u0219i cuvintele \u201eManager de Pachete\u201d \u2014 ce a\u0219tept\u0103m de obicei de la un Manager de Pachete? Spunem: \u201eManager de Pachete \u2014 instaleaz\u0103 pachetul!\u201d \u0219i ne a\u0219tept\u0103m s\u0103 ne spun\u0103: \u201ePachetul a fost instalat\u201d. <\/p>\n<p>Este interesant c\u0103 spunem: \u201eHelm, instaleaz\u0103 pachetul\u201d, iar c\u00e2nd el r\u0103spunde c\u0103 l-a instalat, se dovede\u0219te c\u0103 abia a \u00eenceput instalarea \u2014 a spus Kubernetes: \u201eRuleaz\u0103 aceast\u0103 chestie!\u201d, dar dac\u0103 a fost lansat\u0103 sau nu, dac\u0103 func\u021bioneaz\u0103 sau nu, Helm nu rezolv\u0103 deloc aceast\u0103 \u00eentrebare.<\/p>\n<blockquote><p>Rezult\u0103 c\u0103 Helm este doar un preprocesor de text care \u00eencarc\u0103 date \u00een Kubernetes.<\/p><\/blockquote>\n<p>\nDar \u00een cadrul oric\u0103rei desf\u0103\u0219ur\u0103ri vrem s\u0103 \u0219tim \u2014 aplica\u021bia a fost lansat\u0103 \u00een produc\u021bie sau nu? A fost lansat\u0103 \u00een produc\u021bie \u00eenseamn\u0103 c\u0103 aplica\u021bia a ajuns acolo, o nou\u0103 versiune a fost desf\u0103\u0219urat\u0103 \u0219i func\u021bioneaz\u0103 corect. Helm nu rezolv\u0103 aceast\u0103 problem\u0103. Pentru a o rezolva, trebuie s\u0103 investim mult efort, deoarece trebuie s\u0103 d\u0103m lui Kubernetes comanda de desf\u0103\u0219urare \u0219i s\u0103 monitoriz\u0103m ce se \u00eent\u00e2mpl\u0103 \u2014 s-a desf\u0103\u0219urat sau nu. \u0218i exist\u0103 o mul\u021bime de sarcini legate de desf\u0103\u0219urare, cur\u0103\u021bare \u0219i construire.<\/p>\n<h2>Planuri<\/h2>\n<p>\n\u00cenc\u0103 din acest an vom trece la dezvoltarea local\u0103. Vrem s\u0103 ajungem la ceea ce era odat\u0103 \u00een Vagrant - am dat \u201evagrant up\u201d \u0219i am avut ma\u0219ini virtuale pornite. Vrem s\u0103 ajungem \u00eentr-o stare \u00een care exist\u0103 un proiect \u00een Git, scriem \u201ewerf up\u201d \u0219i acesta ridic\u0103 o copie local\u0103 a acestui proiect, desf\u0103\u0219urat\u0103 \u00een mini-Kub local, cu toate directoarele conectate, convenabile pentru dezvoltare. \u00cen func\u021bie de limbajul de dezvoltare, acest lucru se execut\u0103 diferit, \u00eens\u0103 dorim s\u0103 putem desf\u0103\u0219ura confortabil dezvoltarea local\u0103 sub fi\u0219ierele montate.<\/p>\n<p>Urm\u0103torul pas pentru noi este s\u0103 investim semnificativ <b>\u00een confortul dezvoltatorilor<\/b>. Astfel, cu un singur instrument s\u0103 pornim rapid proiectul local, s\u0103 dezvolt\u0103m, s\u0103 trimitem \u00een Git, iar acesta va fi desf\u0103\u0219urat la fel pe stage sau \u00een teste, \u00een func\u021bie de pipeline-uri, \u0219i apoi s\u0103 ne putem duce pe produc\u021bie cu acela\u0219i instrument. Aceast\u0103 unitate, unificare, reproducibilitate a infrastructurii, de la mediu local la produc\u021bie, este un aspect foarte important pentru noi. Dar acest lucru nu este \u00eenc\u0103 disponibil \u00een werf - tocmai pl\u0103nuim s\u0103-l facem.<\/p>\n<p>\u00cens\u0103 calea c\u0103tre dapp\/werf a fost mereu la fel ca \u0219i cu Kubernetes la \u00eenceput. Ne-am confruntat cu probleme, le-am rezolvat pe c\u0103i ocolitoare - am inventat solu\u021bii pentru noi \u00een Shell, pe orice altceva. Apoi, am \u00eencercat s\u0103 facem aceste solu\u021bii ocolitoare mai directe, s\u0103 le generaliz\u0103m \u0219i s\u0103 le consolid\u0103m \u00een binare, cu care pur \u0219i simplu ne \u00eemp\u0103rt\u0103\u0219im.<\/p>\n<p>Exist\u0103 \u0219i o alt\u0103 perspectiv\u0103 asupra acestei \u00eentregi pove\u0219ti, cu analogii. <\/p>\n<blockquote><p>Kubernetes este \u0219asiul unei ma\u0219ini cu motor. Nu are u\u0219i, geamuri, receptor radio, aromaterapie - nu are absolut nimic. Doar cadrul \u0219i motorul. \u0218i exist\u0103 Helm - acesta este volanul. E grozav c\u0103 avem volan, dar avem nevoie \u0219i de piuli\u021ba de direc\u021bie, de bara de direc\u021bie, de cutia de viteze \u0219i de ro\u021bi, f\u0103r\u0103 acestea nu se poate.<\/p><\/blockquote>\n<p>\n\u00cen cazul werf - acesta este un component adi\u021bional pentru Kubernetes. Acum avem \u00een versiunea alfa werf, de exemplu, Helm este compilat chiar \u00een interiorul werf, deoarece ne-a s\u0103turat s\u0103 o facem singuri. Exist\u0103 multe motive pentru a face asta, despre care voi vorbi detaliat <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\/abstracts\/5136\">\u00een prezentarea de la RIT++<\/a><\/noindex>.<\/p>\n<p>Acum, werf este un component mai integrat. Avem un volan gata, un pin de direc\u021bie \u2013 nu m\u0103 pricep foarte bine la ma\u0219ini, dar este un bloc mare care rezolv\u0103 deja un spectru suficient de mare de sarcini. Nu trebuie s\u0103 c\u0103ut\u0103m \u00een catalog, s\u0103 alegem o pies\u0103 potrivit\u0103 pentru alta, s\u0103 ne g\u00e2ndim cum s\u0103 le mont\u0103m una de cealalt\u0103. Primim un combinezon gata, care rezolv\u0103 imediat o mul\u021bime de sarcini. Dar \u00een interior, este construit tot din acelea\u0219i componente open source, folose\u0219te la fel Docker pentru construc\u021bie, Helm pentru o parte din func\u021bionalitate \u0219i mai sunt c\u00e2teva alte biblioteci. Este un instrument integrat, pentru a ob\u021bine rapid \u0219i convenabil un CI\/CD grozav din cutie.<\/p>\n<h2>Este dificil s\u0103 sus\u021bii Kubernetes?<\/h2>\n<p>\n<b>\u2014 Tu poveste\u0219ti despre experien\u021ba voastr\u0103, c\u0103 a\u021bi \u00eenceput s\u0103 utiliza\u021bi Kubernetes, acesta este pentru voi cadrul, motorul, \u0219i c\u0103 pe el pute\u021bi ad\u0103uga multe lucruri diverse: caroserie, volan, s\u0103 monta\u021bi pedale, scaune. \u00centrebarea care apare este \u2013 c\u00e2t de greu v\u0103 este s\u0103 sus\u021bine\u021bi Kubernetes? Ave\u021bi o experien\u021b\u0103 bogat\u0103, c\u00e2t timp \u0219i resurse aloca\u021bi strict pentru sus\u021binerea Kubernetes \u00een afara tuturor celorlalte?<\/b><\/p>\n<p><b>Dmitri<\/b>: Aceasta este o \u00eentrebare foarte complex\u0103 \u0219i, pentru a r\u0103spunde, trebuie s\u0103 \u00een\u021belegem ce \u00eenseamn\u0103 sus\u021binerea \u0219i ce vrem de la Kubernetes. Poate ne po\u021bi l\u0103muri?<\/p>\n<p><b>\u2014 C\u00e2t timp \u0219tiu \u0219i cum v\u0103d eu, acum multe echipe vor s\u0103 \u00eencerce Kubernetes. To\u021bi se av\u00e2nt\u0103 \u00een el, \u00eel instaleaz\u0103 pe genunchi. Am senza\u021bia c\u0103 oamenii nu \u00een\u021beleg \u00eentotdeauna complexitatea acestui sistem.<\/b><\/p>\n<p><b>Dmitri<\/b>: A\u0219a este.<\/p>\n<p><b>\u2014 C\u00e2t de greu este s\u0103 iei \u0219i s\u0103 instalezi Kubernetes de la zero, astfel \u00eenc\u00e2t s\u0103 fie gata pentru produc\u021bie?<\/b><\/p>\n<p><b>Dmitri<\/b>: Cum crezi, c\u00e2t de greu este s\u0103 transplantezi o inim\u0103? \u00cen\u021beleg, \u00eentrebarea este compromi\u021b\u0103toare. S\u0103 folose\u0219ti un bisturiu \u0219i s\u0103 nu gre\u0219e\u0219ti \u2013 nu este at\u00e2t de greu. Dac\u0103 \u00ee\u021bi spun unde s\u0103 tai \u0219i unde s\u0103 co\u0219i, atunci procedura \u00een sine nu este complicat\u0103. Este greu s\u0103 garant\u0103m de fiecare dat\u0103 c\u0103 va reu\u0219i.<\/p>\n<blockquote><p>S\u0103 instalezi Kubernetes \u0219i s\u0103-l faci s\u0103 func\u021bioneze este simplu: chic! \u2013 s-a instalat, sunt o mul\u021bime de metode de instalare. Dar ce se va \u00eent\u00e2mpla c\u00e2nd apar probleme?<\/p><\/blockquote>\n<p>\n\u00centotdeauna apar \u00eentreb\u0103ri \u2013 ce nu am luat \u00een considerare? Ce nu am f\u0103cut? Ce parametri ai kernel-ului Linux am specificat gre\u0219it? Doamne, dar chiar i-am specificat?! Ce componente Kubernetes am instalat \u0219i ce nu? Apar mii de \u00eentreb\u0103ri, iar pentru a r\u0103spunde la ele, trebuie s\u0103 ai 15-20 de ani de experien\u021b\u0103 \u00een aceast\u0103 industrie.<\/p>\n<p>Am un exemplu recent pe aceast\u0103 tem\u0103 care poate ilustra semnifica\u021bia problemei \u201eEste greu s\u0103 \u00eentre\u021bii Kubernetes?\u201d. Cu ceva vreme \u00een urm\u0103, ne-am g\u00e2ndit serios s\u0103 vedem dac\u0103 nu ar fi util s\u0103 implement\u0103m Cilium ca re\u021bea \u00een Kubernetes.<\/p>\n<p>O s\u0103 explic ce este Cilium. \u00cen Kubernetes exist\u0103 multe implement\u0103ri diferite ale subsistemului de re\u021bea, iar una dintre ele este cu adev\u0103rat interesant\u0103 - este Cilium. Care este ideea sa? \u00cen kernelul Linux, a ap\u0103rut cu ceva timp \u00een urm\u0103 posibilitatea de a scrie hook-uri pentru kernel care intervin \u00een subsistemul de re\u021bea \u0219i \u00een diferite alte subsisteme, permi\u021b\u00e2nd ocolirea unor p\u0103r\u021bi mari din kernel.<\/p>\n<p>\u00cen kernelul Linux exist\u0103 istoric ip rout, netfilter, bridge-uri \u0219i multe alte componente vechi de 15, 20 sau 30 de ani. \u00cen ansamblu, ele func\u021bioneaz\u0103, totul este grozav, dar acum avem o multitudine de containere, iar aceasta arat\u0103 ca un turn din 15 c\u0103r\u0103mizi unele peste altele, \u00een timp ce tu stai \u00een picioare pe el pe o singur\u0103 picior - o senza\u021bie ciudat\u0103. Acest sistem a evoluat istoric cu multe nuan\u021be, ca un apendice \u00een organism. \u00cen unele situa\u021bii, exist\u0103 probleme de performan\u021b\u0103, de exemplu.<\/p>\n<p>Exist\u0103 un BPF minunat \u0219i posibilitatea de a scrie hook-uri pentru kernel - echipa a scris propriile hook-uri pentru kernel. Pachetul ajunge \u00een kernelul Linux, iar ei \u00eel scot imediat la intrare, \u00eel proceseaz\u0103 dup\u0103 cum trebuie f\u0103r\u0103 bridge-uri, f\u0103r\u0103 TCP, f\u0103r\u0103 stiva IP - pe scurt, ocolind tot ce este scris \u00een kernelul Linux, \u0219i imediat \u00eel redirec\u021bioneaz\u0103 c\u0103tre container.<\/p>\n<p>Ce a rezultat? O performan\u021b\u0103 foarte bun\u0103, caracteristici grozave - pur \u0219i simplu fantastic! Dar ne uit\u0103m la asta \u0219i vedem c\u0103 pe fiecare ma\u0219in\u0103 este un program care se conecteaz\u0103 la API-ul Kubernetes \u0219i, pe baza datelor pe care le ob\u021bine din acest API, genereaz\u0103 cod C \u0219i compileaz\u0103 binare pe care le \u00eencarc\u0103 \u00een kernel pentru ca aceste hook-uri s\u0103 func\u021bioneze \u00een kernel space.<\/p>\n<p>Ce se va \u00eent\u00e2mpla dac\u0103 ceva nu merge bine? Nu \u0219tim. Pentru a \u00een\u021belege acest lucru, trebuie s\u0103 citim tot acest cod, s\u0103 \u00een\u021belegem toat\u0103 logica, iar asta este extrem de complicat. Dar, pe de alt\u0103 parte, exist\u0103 aceste bridge-uri, netfiltere, ip rout - nu am citit sursa lor, iar 40 de ingineri care lucreaz\u0103 \u00een compania noastr\u0103 la fel. Poate c\u0103 doar c\u00e2\u021biva cunosc unele p\u0103r\u021bi.<\/p>\n<p>\u0218i care e diferen\u021ba? Se pare c\u0103 exist\u0103 ip rout, nucleul Linux, \u0219i exist\u0103 un nou instrument - care e diferen\u021ba, nu \u00een\u021belegem niciunul, nici pe cel\u0103lalt. Dar ne este fric\u0103 s\u0103 folosim noul - de ce? Pentru c\u0103, dac\u0103 instrumentul are 30 de ani, atunci \u00een 30 de ani toate bug-urile au fost g\u0103site, am trecut peste toate obstacolele \u0219i nu trebuie s\u0103 \u0219tim despre toate - func\u021bioneaz\u0103 ca o cutie neagr\u0103 \u0219i func\u021bioneaz\u0103 mereu. Toat\u0103 lumea \u0219tie ce \u0219urubelni\u021b\u0103 de diagnostic s\u0103 bage \u00een ce loc, ce tcpdump s\u0103 porneasc\u0103 \u00een ce moment. Toat\u0103 lumea cunoa\u0219te bine utilitarele de diagnostic \u0219i \u00een\u021belege cum func\u021bioneaz\u0103 acest set de componente \u00een nucleul Linux - nu cum e structurat, ci cum s\u0103-l folose\u0219ti.<\/p>\n<p>Dar Cilium, care este extrem de tare, nu are 30 de ani, el nu a fost rafinat \u00eenc\u0103. Avem aceea\u0219i problem\u0103 cu Kubernetes, este o copie. C\u0103 Cilium se instaleaz\u0103 perfect, c\u0103 Kubernetes se instaleaz\u0103 perfect, dar c\u00e2nd ceva nu merge bine \u00een produc\u021bie, sunte\u021bi capabili s\u0103 \u00een\u021belege\u021bi rapid ce nu a mers bine \u00een situa\u021bii critice? <\/p>\n<blockquote><p>C\u00e2nd vorbim despre c\u00e2t de greu este s\u0103 \u00eentre\u021bii Kubernetes - nu, este foarte simplu, \u0219i da, incredibil de complicat. Kubernetes func\u021bioneaz\u0103 perfect de unul singur, dar cu un miliard de nuan\u021be.<\/p><\/blockquote>\n<p><\/p>\n<h2>Despre abordarea \u201e\u00cemi va merge bine\u201d<\/h2>\n<p>\n<b>- Exist\u0103 companii unde aceste nuan\u021be vor ap\u0103rea aproape garantat? S\u0103 presupunem c\u0103 Yandex \u00ee\u0219i va transfera brusc toate serviciile pe Kubernetes, acolo va fi o \u00eenc\u0103rcare considerabil\u0103.<\/b><\/p>\n<p><b>Dmitri<\/b>: Nu, nu e vorba despre \u00eenc\u0103rcare, ci despre lucruri simple. De exemplu, avem Kubernetes, am desf\u0103\u0219urat acolo o aplica\u021bie. Cum s\u0103 \u00een\u021belegem c\u0103 func\u021bioneaz\u0103? Nu exist\u0103 un instrument gata f\u0103cut pentru a \u00een\u021belege c\u0103 aplica\u021bia nu se pr\u0103bu\u0219e\u0219te, pur \u0219i simplu nu exist\u0103. Nu exist\u0103 un sistem gata care s\u0103 trimite alerte - trebuie s\u0103 configur\u0103m aceste alerte \u0219i fiecare grafic. Iar noi actualiz\u0103m Kubernetes.<\/p>\n<p>Exist\u0103 Ubuntu 16.04. Poate c\u0103 este o versiune mai veche, dar noi suntem \u00een continuare pe ea, pentru c\u0103 este LTS. Are systemd, iar un aspect al acestuia este c\u0103 nu cur\u0103\u021b\u0103 grupurile C. Kubernetes porne\u0219te poduri, creeaz\u0103 grupuri C, apoi \u0219terge podurile, \u0219i cumva rezultatul este c\u0103 r\u0103m\u00e2n fragmente de systemd. Asta duce la faptul c\u0103, \u00een timp, orice ma\u0219in\u0103 \u00eencepe s\u0103 se blocheze. Nu este nici m\u0103car o problem\u0103 de highload. Dac\u0103 sunt lansate constant poduri, de exemplu, dac\u0103 exist\u0103 un Cron Job care genereaz\u0103 constant poduri, atunci o ma\u0219in\u0103 cu Ubuntu 16.04 va \u00eencepe s\u0103 se blocheze dup\u0103 o s\u0103pt\u0103m\u00e2n\u0103. Va avea \u00een mod constant o medie mare de load din cauza c\u0103 au fost create multe grupuri C. Aceasta este o problem\u0103 cu care se confrunt\u0103 oricine instaleaz\u0103 pur \u0219i simplu Ubuntu 16 \u0219i adaug\u0103 Kubernetes.<\/p>\n<p>S\u0103 zicem c\u0103 cumva el \u00ee\u0219i va actualiza systemd sau altceva, dar \u00een kernelul Linux p\u00e2n\u0103 la 4.16 este \u0219i mai amuzant \u2014 la \u0219tergerea grupurilor C, acestea p\u0103trund \u00een kernel \u0219i, de fapt, nu sunt \u0219terse. A\u0219a c\u0103, dup\u0103 o lun\u0103 de func\u021bionare pe aceast\u0103 ma\u0219in\u0103, va fi imposibil s\u0103 verific\u0103m statistica memoriei pe poduri. Scos un fi\u0219ier, ruleaz\u0103 \u00een program, iar un fi\u0219ier ruleaz\u0103 15 secunde, pentru c\u0103 kernelul calculeaz\u0103 foarte mult timp \u00een interior pe milioane de grupuri C, care par \u0219terse, dar n-a\u0219a \u2014 ele p\u0103trund.<\/p>\n<p>Sunt foarte multe astfel de detalii \u0219i acolo \u0219i aici. Nu este o \u00eentrebare cu care gigantii s\u0103 se confrunte uneori, \u00een condi\u021bii de suprasolicitare \u2014 nu, aceasta este o problem\u0103 a lucrurilor de zi cu zi. Oamenii pot tr\u0103i a\u0219a luni de zile \u2014 au instalat Kubernetes, au deployat aplica\u021bia \u2014 totul pare s\u0103 func\u021bioneze. Multe persoane sunt mul\u021bumite a\u0219a. Despre faptul c\u0103, c\u00e2ndva, aceast\u0103 aplica\u021bie se va pr\u0103bu\u0219i dintr-un motiv oarecare, nici m\u0103car nu vor aflat, alerta nu va veni, dar pentru ei este normal. \u00cen trecut au tr\u0103it pe virtualuri f\u0103r\u0103 monitorizare, acum s-au mutat \u00een Kubernetes, de asemenea f\u0103r\u0103 monitorizare \u2014 care este diferen\u021ba?<\/p>\n<p>Problema este c\u0103, atunci c\u00e2nd mergem pe ghea\u021b\u0103, niciodat\u0103 nu \u0219tim grosimea ei, dac\u0103 nu am m\u0103surat-o dinainte. Mul\u021bi merg \u0219i nu se \u00eengrijoreaz\u0103, pentru c\u0103 au mai mers \u00eenainte.<\/p>\n<blockquote><p>Din punctul meu de vedere, nuan\u021ba \u0219i complexitatea exploat\u0103rii oric\u0103rei sisteme const\u0103 \u00een a garanta c\u0103 grosimea ghe\u021bii este suficient\u0103 pentru a rezolva sarcinile noastre. Despre asta este vorba.<\/p><\/blockquote>\n<p>\n\u00cen IT, cred c\u0103 sunt prea multe abord\u0103ri de tipul \u201eAm noroc\u201d. Mul\u021bi instaleaz\u0103 software, folosesc biblioteci software \u00een speran\u021ba c\u0103 le va merge bine. \u00cen general, mul\u021bi au noroc. Probabil c\u0103 de aceea func\u021bioneaz\u0103.<\/p>\n<p><b>\u2014 Din perspectiva mea pesimist\u0103, arat\u0103 cam a\u0219a: c\u00e2nd riscurile sunt mari, iar aplica\u021bia trebuie s\u0103 func\u021bioneze, atunci este nevoie de suport de la \u201eFlant\u201d, posibil de la Red Hat, sau este nevoie de o echip\u0103 intern\u0103 dedicat\u0103 exact Kubernetes-ului, care s\u0103 fie preg\u0103tit\u0103 s\u0103-l sus\u021bin\u0103.<\/b><\/p>\n<p><b>Dmitri<\/b>: Obiectiv, a\u0219a este. A te implica singur \u00een povestea cu Kubernetes pentru o echip\u0103 mic\u0103 este un anumit grad de risc.<\/p>\n<h2>Avem nevoie de containere?<\/h2>\n<p>\n<b>\u2014 Po\u021bi s\u0103-mi spui c\u00e2t de r\u0103sp\u00e2ndit este Kubernetes \u00een Rusia, de fapt?<\/b><\/p>\n<p><b>Dmitri<\/b>: Nu am aceste date \u0219i nu sunt sigur c\u0103 le are cineva. Vorbim despre \u201eKubernetes, Kubernetes\u201d, dar exist\u0103 \u0219i un alt punct de vedere asupra acestei probleme. C\u00e2t de r\u0103sp\u00e2ndite sunt containerele, nu \u0219tiu nici asta, dar \u0219tiu un num\u0103r din rapoartele de pe internet, c\u0103 70% din containere sunt orchestrate de Kubernetes. A fost o surs\u0103 de \u00eencredere pe un e\u0219antion destul de mare din \u00eentreaga lume.<\/p>\n<p><b>Apoi, o alt\u0103 \u00eentrebare \u2014 avem nevoie de containere?<\/b> Am o senza\u021bie personal\u0103 \u0219i, \u00een general, pozi\u021bia companiei \u201eFlant\u201d este c\u0103 Kubernetes este standardul de facto.<\/p>\n<blockquote><p>Nu va exista nimic \u00een afar\u0103 de Kubernetes.<\/p><\/blockquote>\n<p>\nEste un adev\u0103rat game-changer \u00een domeniul gestion\u0103rii infrastructurii. Pur \u0219i simplu absolut \u2014 nu mai sunt Ansible, Chef, ma\u0219ini virtuale, Terraform. Nu mai vorbesc despre metodele vechi, f\u0103r\u0103 profesionalism. <b>Kubernetes este un adev\u0103rat changer<\/b>, \u0219i acum va fi doar a\u0219a.<\/p>\n<p>Este clar c\u0103 unora le trebuie c\u00e2\u021biva ani, iar altora c\u00e2teva zeci, pentru a-\u0219i da seama de asta. Nu am nicio \u00eendoial\u0103 c\u0103 nu va exista nimic \u00een afar\u0103 de Kubernetes \u0219i aceast\u0103 nou\u0103 viziune: nu mai t\u0103iem sistemul de operare, ci folosim <b>infrastructure as code<\/b>, dar nu cu cod, ci cu yml \u2014 infrastructur\u0103 descris\u0103 declarativ. Am senza\u021bia c\u0103 va fi mereu a\u0219a.<\/p>\n<p><b>\u2014 Deci, companiile care nu au trecut \u00eenc\u0103 la Kubernetes vor trebui s\u0103 fac\u0103 acest pas sau vor r\u0103m\u00e2ne \u00een uitare. Am \u00een\u021beles corect?<\/b><\/p>\n<p><b>Dmitri<\/b>: Asta nu este complet corect. De exemplu, dac\u0103 avem sarcina de a lansa un server DNS, acesta poate fi lansat pe FreeBSD 4.10 \u0219i poate func\u021biona perfect timp de 20 de ani. Pur \u0219i simplu func\u021bioneaz\u0103 \u0219i at\u00e2t. Poate c\u0103, dup\u0103 20 de ani, va fi necesar s\u0103 actualiz\u0103m ceva o singur\u0103 dat\u0103. Dac\u0103 vorbim despre software \u00een formatul \u00een care l-am lansat \u0219i acesta func\u021bioneaz\u0103 cu adev\u0103rat timp de mul\u021bi ani f\u0103r\u0103 actualiz\u0103ri sau modific\u0103ri, atunci, desigur, nu va exista Kubernetes. Nu este necesar acolo.<\/p>\n<blockquote><p>Tot ce \u021bine de CI\/CD \u2013 oriunde este necesar Continuous Delivery, unde este necesar\u0103 actualizarea versiunilor, desf\u0103\u0219urarea de modific\u0103ri active, oriunde trebuie s\u0103 se construiasc\u0103 redundan\u021ba \u2013 doar Kubernetes.<\/p><\/blockquote>\n<p><\/p>\n<h2>Despre microservicii<\/h2>\n<p>\n<b>\u2014 Aici am un mic disonant. Pentru a lucra cu Kubernetes, este nevoie de suport extern sau intern \u2013 acesta este primul punct. Al doilea \u2013 atunci c\u00e2nd abia \u00eencepem dezvoltarea, suntem o mic\u0103 start-up, nu avem \u00eenc\u0103 nimic, dezvoltarea pentru Kubernetes sau chiar pentru o arhitectur\u0103 de microservicii poate fi complicat\u0103 \u0219i nu este \u00eentotdeauna justificat\u0103 din punct de vedere economic. M\u0103 intereseaz\u0103 p\u0103rerea ta \u2013 trebuie oare start-up-urile s\u0103 \u00eenceap\u0103 imediat s\u0103 scrie pentru Kubernetes sau este posibil s\u0103 scrie mai \u00eent\u00e2i un monolit \u0219i apoi s\u0103 ajung\u0103 la Kubernetes?<\/b><\/p>\n<p><b>Dmitri<\/b>: O \u00eentrebare interesant\u0103. Am o prezentare despre microservicii <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424531\/\">\u201eMicroservicii: dimensiunea conteaz\u0103\u201d.<\/a><\/noindex> De multe ori m-am confruntat cu faptul c\u0103 oamenii \u00eencearc\u0103 s\u0103 bat\u0103 cuie cu un microscop. Abordarea \u00een sine este corect\u0103, noi ne proiect\u0103m software-ul intern exact \u00een acest mod. Dar c\u00e2nd faci asta, trebuie s\u0103 \u00een\u021belegi clar ce faci. Cel mai mult \u00een microservicii ur\u0103sc cuv\u00e2ntul \u201emicro\u201d. A ap\u0103rut istoric, iar dintr-un motiv oarecare, oamenii cred c\u0103 micro \u00eenseamn\u0103 foarte mic, mai pu\u021bin de un milimetru, ca un micrometru. Nu este a\u0219a.<\/p>\n<p>De exemplu, exist\u0103 un monolit, care este scris de 300 de oameni, iar to\u021bi cei care au participat la dezvoltare \u00een\u021beleg c\u0103 exist\u0103 probleme \u0219i trebuie s\u0103 fie \u00eemp\u0103r\u021bit \u00een micro-buc\u0103\u021bi \u2013 cam 10, fiecare dintre care este scris de 30 de oameni \u00een varianta minim\u0103. Este important, necesar \u0219i grozav. Dar c\u00e2nd vine la noi un start-up unde 3 b\u0103ie\u021bi foarte talenta\u021bi au scris pe genunchi 60 de microservicii, caut \u00eentotdeauna corvalol.<\/p>\n<p>Mi se pare c\u0103 despre asta s-a vorbit de o mie de ori - am ob\u021binut un monolit distribuit \u00een una sau alta din formele sale. Este economic nejustificat, foarte complicat \u00een general. Pur \u0219i simplu, am v\u0103zut asta de at\u00e2t de multe ori \u00eenc\u00e2t aproape m\u0103 doare, a\u0219a c\u0103 continui s\u0103 vorbesc despre asta.<\/p>\n<p>Referitor la \u00eentrebarea ini\u021bial\u0103, exist\u0103 un conflict \u00eentre faptul c\u0103, pe de o parte, Kubernetes este \u00eenfrico\u0219\u0103tor de utilizat, deoarece nu este clar ce se poate strica sau nu va func\u021biona, iar pe de alt\u0103 parte, este clar c\u0103 to\u021bi se \u00eendreapt\u0103 \u00een aceast\u0103 direc\u021bie \u0219i nimic, \u00een afar\u0103 de Kubernetes, nu va exista. R\u0103spunsul este - <b>a c\u00e2nt\u0103ri volumul de beneficii care vin, volumul de sarcini pe care le pute\u021bi rezolva.<\/b>. Aceasta este o parte a balan\u021bei. Cealalt\u0103 parte sunt riscurile asociate cu \u00eent\u00e2rzierile sau sc\u0103derea timpului de r\u0103spuns, a nivelului de disponibilitate - cu sc\u0103derea indicatorilor de performan\u021b\u0103.<\/p>\n<p>Aici stau lucrurile - fie ne mi\u0219c\u0103m repede, iar Kubernetes permite \u00eendeplinirea multor sarcini mult mai rapid \u0219i mai bine, fie utiliz\u0103m solu\u021bii fiabile, testate \u00een timp, dar ne mi\u0219c\u0103m mult mai lent. Aceast\u0103 alegere trebuie s\u0103 fie f\u0103cut\u0103 de fiecare companie. Poate fi v\u0103zut ca un drum \u00een jungl\u0103 - c\u00e2nd mergi pentru prima dat\u0103, po\u021bi \u00eent\u00e2lni o \u0219arpe, un tigru sau un dihor s\u0103lbatic, iar c\u00e2nd ai mers de 10 ori - ai b\u0103t\u0103torit poteca, ai dat la o parte crengile, \u0219i merge mai u\u0219or. Cu fiecare dat\u0103, poteca devine mai larg\u0103. Apoi, devine o \u0219osea asfaltat\u0103, iar mai t\u00e2rziu un bulevard frumos.<\/p>\n<p>Kubernetes nu st\u0103 pe loc. Din nou, \u00eentrebarea: Kubernetes, pe de o parte, sunt 4-5 binare, pe de alt\u0103 parte, este \u00eentreaga ecosistem\u0103. Este un sistem de operare care se afl\u0103 pe ma\u0219inile noastre. Ce este asta? Ubuntu sau Curios? Este nucleul Linux, o mul\u021bime de componente suplimentare. Toate aceste lucruri au dat la o parte o \u0219arpe veninos de pe drum, acolo au pus un gard. Kubernetes se dezvolt\u0103 foarte rapid \u0219i dinamic, iar volumul riscurilor, volumul necunoscutului se diminueaz\u0103 cu fiecare lun\u0103 \u0219i, respectiv, aceste balan\u021be se reechilibreaz\u0103.<\/p>\n<p>R\u0103spunz\u00e2nd la \u00eentrebarea ce ar trebui s\u0103 fac\u0103 un start-up, a\u0219 spune - veni\u021bi la \u201eFlant\u201d, pl\u0103ti\u021bi 150 de mii de ruble \u0219i ob\u021bine\u021bi serviciul DevOps easy turnkey. Dac\u0103 sunte\u021bi un start-up mic format din c\u00e2\u021biva dezvoltatori, acest lucru func\u021bioneaz\u0103. \u00cen loc s\u0103 angaja\u021bi propriul vostru DevOps, care trebuie s\u0103 \u00eenve\u021be s\u0103 rezolve problemele voastre \u0219i s\u0103-i pl\u0103ti\u021bi un salariu \u00een aceast\u0103 perioad\u0103, ve\u021bi primi o solu\u021bie complet\u0103 la toate problemele. Da, exist\u0103 unele dezavantaje. Noi, ca furnizor extern, nu putem fi la fel de implica\u021bi \u0219i nu putem reac\u021biona rapid la modific\u0103rile solicitate. Dar, \u00een schimb, avem o mul\u021bime de expertiz\u0103 \u0219i solu\u021bii gata preg\u0103tite. Garant\u0103m c\u0103, \u00een orice situa\u021bie, ne vom descurca rapid \u0219i vom readuce la via\u021b\u0103 orice Kubernetes. <\/p>\n<blockquote><p>Recomand cu t\u0103rie externalizarea start-up-urilor \u0219i a afacerilor consolidate p\u00e2n\u0103 la dimensiunea la care pute\u021bi aloca o echip\u0103 de 10 oameni pentru operare, pentru c\u0103 altfel nu are sens. Asta are sens categoric de a fi externalizat.<\/p><\/blockquote>\n<p><\/p>\n<h2>Despre Amazon \u0219i Google<\/h2>\n<p>\n<b>\u2014 Se poate considera servicii de g\u0103zduire de la Amazon sau Google ca externalizare?<\/b><\/p>\n<p><b>Dmitri<\/b>: Da, desigur, asta rezolv\u0103 o serie de probleme. Dar din nou, exist\u0103 nuan\u021be. Trebuie s\u0103 \u00een\u021belegi cum s\u0103 le folose\u0219ti. De exemplu, sunt o mie de detalii \u00een func\u021bionarea Amazon AWS: Load Balancer-ul trebuie preg\u0103tit sau trebuie s\u0103 scrie\u021bi din timp o solicitare c\u0103 \u201eb\u0103ie\u021bi, ne va veni trafic, preg\u0103ti\u021bi-ne Load Balancer-ul!\u201d Aceste nuan\u021be trebuie cunoscute.<\/p>\n<p>C\u00e2nd apelati la oameni care se specializeaz\u0103 \u00een asta, ob\u021bine\u021bi aproape toate lucrurile tipice rezolvate. Acum avem 40 de ingineri, p\u00e2n\u0103 la sf\u00e2r\u0219itul anului vor fi, probabil, 60 - suntem deja familiariza\u021bi cu toate aceste lucruri. Chiar dac\u0103 pe un anumit proiect ne confrunt\u0103m din nou cu aceast\u0103 problem\u0103, \u00eentreb\u0103m rapid unul de cel\u0103lalt \u0219i \u0219tim cum s\u0103 o rezolv\u0103m.<\/p>\n<p>Probabil, r\u0103spunsul este acesta - desigur, solu\u021bia cloud reduce o parte din probleme. \u00centrebarea este dac\u0103 sunte\u021bi dispu\u0219i s\u0103 ave\u021bi \u00eencredere \u00een ace\u0219ti furnizori de g\u0103zduire \u0219i dac\u0103 \u00ee\u0219i vor rezolva problemele. Amazon \u0219i Google s-au dovedit a fi de \u00eencredere. \u00cen toate cazurile noastre - cu siguran\u021b\u0103. Nu avem alte experien\u021be pozitive. Toate celelalte cloud-uri cu care am \u00eencercat s\u0103 lucr\u0103m creeaz\u0103 foarte multe probleme - \u0219i Ager, \u0219i tot ce exist\u0103 \u00een Rusia, \u0219i toate tipurile de OpenStack \u00een diverse implement\u0103ri: Headster, Overage - tot ce vre\u021bi. Toate acestea creeaz\u0103 probleme pe care nu dorim s\u0103 le rezolv\u0103m.<\/p>\n<p>A\u0219adar, r\u0103spunsul este da, dar, de fapt, nu exist\u0103 multe solu\u021bii hosted mature.<\/p>\n<h2>Cui \u00eei trebuie Kubernetes?<\/h2>\n<p>\n<b>\u2014 \u0218i totu\u0219i, cui \u00eei trebuie Kubernetes? Cine ar trebui s\u0103 fac\u0103 deja trecerea la Kubernetes, cine este clientul tipic \u201eFlant\u201d, care vine tocmai pentru Kubernetes?<\/b><\/p>\n<p><b>Dmitri<\/b>: \u00centrebarea este interesant\u0103, pentru c\u0103 acum, pe valul Kubernetes, mul\u021bi vin la noi: \u201eB\u0103ie\u021bi, \u0219tim c\u0103 face\u021bi Kubernetes, f\u0103-ne \u0219i nou\u0103!\u201d. Le r\u0103spundem: \u201eDomnilor, noi nu facem Kubernetes, noi facem produc\u021bie \u0219i tot ce \u021bine de ea\u201d. Pentru c\u0103 a face produc\u021bie, f\u0103r\u0103 a realiza \u00eentreaga CI\/CD \u0219i toat\u0103 aceast\u0103 poveste, \u00een prezent este pur \u0219i simplu imposibil. Toat\u0103 lumea a renun\u021bat la separarea dintre dezvoltare \u0219i opera\u021biuni.<\/p>\n<p>Clien\u021bii no\u0219tri a\u0219teapt\u0103 lucruri diferite, dar to\u021bi sper\u0103 la o mic\u0103 minune, c\u0103 au anumite probleme, iar acum \u2014 hop! \u2014 Kubernetes le va rezolva. Oamenii cred \u00een minuni. Cu ra\u021biunea realizeaz\u0103 c\u0103 nu va fi nicio minune, dar cu sufletul sper\u0103 \u2014 dar poate c\u0103 acest Kubernetes ne va rezolva totul acum, despre el se vorbe\u0219te at\u00e2t de mult! Poate c\u0103 acum \u2014 hap! \u2014 este glon\u021bul de argint, hap! \u2014 \u0219i avem 100% uptime, to\u021bi dezvoltatorii pot face 50 de release-uri care oricum ajung \u00een produc\u021bie \u0219i nu se stric\u0103. \u00cen general, o minune!<\/p>\n<p>C\u00e2nd astfel de oameni vin la noi, le spunem: \u201eNe pare r\u0103u, dar minuni nu exist\u0103\u201d. Ca s\u0103 fii s\u0103n\u0103tos, trebuie s\u0103 te hrane\u0219ti bine \u0219i s\u0103 faci sport. Ca s\u0103 ai produc\u021bie fiabil\u0103, trebuie s\u0103 o construie\u0219ti cu fiabilitate. Ca s\u0103 ai un CI\/CD convenabil, trebuie s\u0103-l faci astfel. Este mult\u0103 munc\u0103 de f\u0103cut.<\/p>\n<blockquote><p>R\u0103spunz\u00e2nd la \u00eentrebarea, cui \u00eei trebuie Kubernetes \u2014 Kubernetes nu este necesar nim\u0103nui.<\/p><\/blockquote>\n<p>\nUnii oameni au o percep\u021bie eronat\u0103 c\u0103 le trebuie Kubernetes. Oamenii au nevoie, au o nevoie profund\u0103 de a \u00eenceta s\u0103 mai g\u00e2ndeasc\u0103, s\u0103 se ocupe, s\u0103 se intereseze de toate problemele infrastructurii \u0219i problemele de lansare a aplica\u021biilor lor. Ei doresc ca aplica\u021biile s\u0103 func\u021bioneze pur \u0219i simplu \u0219i s\u0103 fie pur \u0219i simplu implementate. Pentru ei, Kubernetes este speran\u021ba c\u0103 nu vor mai auzi povestea c\u0103 \u201eam stat acolo\u201d, sau \u201enu putem s\u0103 ie\u0219im\u201d, sau ceva asem\u0103n\u0103tor.<\/p>\n<p>De obicei, la noi vine directorul tehnic. De la el se cer dou\u0103 lucruri: pe de o parte, s\u0103 ne ofere func\u021bionalit\u0103\u021bi, pe de alta parte \u2014 stabilitate. Noi propunem s\u0103 prelu\u0103m noi acest lucru \u0219i s\u0103 \u00eel realiz\u0103m. Gloan\u021bul de argint, mai degrab\u0103, este c\u0103 vei \u00eenceta s\u0103 te g\u00e2nde\u0219ti la aceste probleme \u0219i s\u0103 pierzi timp. Vei avea oameni specializa\u021bi care se vor ocupa de aceast\u0103 problem\u0103.<\/p>\n<blockquote><p>Formularea c\u0103 avem nevoie de Kubernetes sau c\u0103 cineva are nevoie de el este gre\u0219it\u0103.<\/p><\/blockquote>\n<p>\nKubernetes este foarte necesar administratorilor, pentru c\u0103 este o juc\u0103rie foarte interesant\u0103 cu care po\u021bi s\u0103 te joci, s\u0103 te ocupi. S\u0103 fim sinceri \u2013 toat\u0103 lumea iube\u0219te juc\u0103riile. To\u021bi suntem, undeva, copii \u0219i c\u00e2nd vedem ceva nou \u2013 vrem s\u0103 ne juc\u0103m cu el. Unii dintre noi au renun\u021bat la asta, de exemplu, \u00een administrarea sistemelor, pentru c\u0103 s-au jucat deja \u0219i li s-a f\u0103cut deja lehamite de ea. Dar nu este deloc cazul tuturor. De exemplu, chiar dac\u0103 mi s-au cam plictisit juc\u0103riile din domeniul administr\u0103rii sistemelor \u0219i DevOps, eu tot iubesc juc\u0103riile \u0219i \u00eemi cump\u0103r \u00een continuare lucruri noi. To\u021bi oamenii, \u00eentr-un fel sau altul, vor mereu s\u0103 aib\u0103 juc\u0103rii.<\/p>\n<p>Nu trebuie s\u0103 te joci cu produc\u021bia. Ce nu recomand categoric s\u0103 faci \u0219i ce observ acum peste tot este: \u201eA, o juc\u0103rie nou\u0103!\u201d \u2013 au alergat s\u0103 o cumpere, au cump\u0103rat-o \u0219i: \u201eHai s\u0103 o aducem acum la \u0219coal\u0103, s\u0103 le ar\u0103t\u0103m tuturor prietenilor\u201d. Nu face\u021bi a\u0219a. Scuz\u0103-m\u0103, copiii mei cresc, iar eu observ constant ceva \u00een comportamentul lor, realizez asta \u00een mine \u0219i apoi generalizez la ceilal\u021bi.<\/p>\n<blockquote><p>R\u0103spunsul final: nu ai nevoie de Kubernetes. Trebuie s\u0103 \u00ee\u021bi rezolvi problemele.<\/p><\/blockquote>\n<p>\nPo\u021bi ob\u021bine c\u0103:<\/p>\n<ul>\n<li>produc\u021bia nu se opre\u0219te;\n<\/li>\n<li>chiar \u0219i atunci c\u00e2nd \u00eencearc\u0103 s\u0103 se opreasc\u0103, \u0219tim din timp despre asta \u0219i putem s\u0103 intervenim;\n<\/li>\n<li>putem s\u0103-l schimb\u0103m cu viteza de care avem nevoie pentru afacere \u0219i s\u0103 facem acest lucru comod, f\u0103r\u0103 s\u0103 ne provoace probleme.\n<\/li>\n<\/ul>\n<p>\nExist\u0103 dou\u0103 nevoi reale: fiabilitate \u0219i dinamicitate\/ flexibilitate \u00een lansare. Oricine face \u00een prezent proiecte IT, nu conteaz\u0103 \u00een ce domeniu \u2013 software pentru \u00eembun\u0103t\u0103\u021birea lumii, \u0219i care \u00een\u021belege acest lucru, trebuie s\u0103-\u0219i rezolve aceste nevoi. Kubernetes, cu abordarea corect\u0103, \u00een\u021belegerea corect\u0103 \u0219i cu experien\u021ba suficient\u0103, permite rezolvarea lor.<\/p>\n<h2>Despre serverless<\/h2>\n<p>\n<b>\u2013 Dac\u0103 privim pu\u021bin mai departe \u00een viitor, \u00eencerc\u00e2nd s\u0103 rezolv\u0103m problema lipsei de dureri de cap legate de infrastructur\u0103, viteza de lansare \u0219i viteza de modificare a aplica\u021biei, apar noi solu\u021bii, de exemplu, serverless. Sim\u021bi cumva un poten\u021bial \u00een aceast\u0103 direc\u021bie \u0219i, s\u0103 zicem, un pericol pentru Kubernetes \u0219i solu\u021bii asem\u0103n\u0103toare?<\/b><\/p>\n<p><b>Dmitri<\/b>: Aici trebuie s\u0103 fac din nou o observa\u021bie c\u0103 nu sunt un prezic\u0103tor care prive\u0219te \u00eenainte \u0219i spune - va fi a\u0219a! De\u0219i tocmai am f\u0103cut acela\u0219i lucru. Privesc \u00een jur \u0219i v\u0103d o mul\u021bime de probleme, de exemplu, cum func\u021bioneaz\u0103 tranzistorii \u00eentr-un computer. P\u00e2n\u0103 la urm\u0103, e amuzant, nu? Ne confrunt\u0103m cu diverse bug-uri \u00een CPU.<\/p>\n<p>A face serverless suficient de fiabil, ieftin, eficient \u0219i convenabil, rezolv\u00e2nd toate problemele ecosistemului. Aici sunt de acord cu Elon Musk c\u0103 avem nevoie de o a doua planet\u0103 pentru a asigura redundan\u021ba pentru umanitate. De\u0219i nu \u0219tiu exact ce spune, \u00een\u021beleg c\u0103 nu sunt preg\u0103tit s\u0103 zbor eu pe Marte \u0219i c\u0103 asta nu se va \u00eent\u00e2mpla m\u00e2ine.<\/p>\n<p>Cu serverless este clar c\u0103 este un lucru ideologic corect, la fel ca redundan\u021ba pentru umanitate - a avea dou\u0103 planete este mai bine dec\u00e2t una. Dar cum s\u0103 facem asta acum? A trimite o expedi\u021bie nu este o problem\u0103 dac\u0103 ne concentr\u0103m eforturile. S\u0103 trimitem mai multe expedi\u021bii \u0219i s\u0103 coloniz\u0103m acolo c\u00e2teva mii de oameni, cred c\u0103 este, de asemenea, realist. Dar a crea o redundan\u021b\u0103 total\u0103, astfel \u00eenc\u00e2t jum\u0103tate din umanitate s\u0103 locuiasc\u0103 acolo, mi se pare acum imposibil, nu se poate lua \u00een considerare.<\/p>\n<p>Cu serverless este exact la fel: e un lucru grozav, dar este departe de problemele anului 2019. Aproape de 2030 - s\u0103 tr\u0103im p\u00e2n\u0103 atunci. Nu m\u0103 \u00eendoiesc c\u0103 vom tr\u0103i, cu siguran\u021b\u0103 vom tr\u0103i (repeta\u021bi \u00eenainte de culcare), dar acum trebuie s\u0103 rezolv\u0103m alte probleme. E ca \u0219i cum ai crede \u00eentr-un ponei fantastic numit R\u0103s\u0103rit. Da, c\u00e2teva procente din cazuri sunt rezolvate \u0219i sunt rezolvate excelent, dar subiectiv, serverless este o nebunie... Pentru mine, acest subiect este prea \u00eendep\u0103rtat \u0219i prea greu de \u00een\u021beles. Nu sunt preg\u0103tit s\u0103 vorbesc. \u00cen 2019, cu serverless nu po\u021bi scrie nicio aplica\u021bie.<\/p>\n<h2>Cum va evolua Kubernetes<\/h2>\n<p>\n<b>\u2014 Pe m\u0103sur\u0103 ce ne \u00eendrept\u0103m spre acest poten\u021bial viitor splendid, cum crezi c\u0103 va evolua Kubernetes \u0219i ecosistemul din jurul s\u0103u?<\/b><\/p>\n<p><b>Dmitri<\/b>: M-am g\u00e2ndit mult la asta \u0219i am un r\u0103spuns clar. \u00cen primul r\u00e2nd, statefull \u2014 este totu\u0219i mai u\u0219or de realizat un stateless. Kubernetes a investit mai mult \u00een acest domeniu, de acolo a \u00eenceput totul. Stateless func\u021bioneaz\u0103 practic perfect \u00een Kubernetes, nu ai nimic de repro\u0219at. \u00cen ceea ce prive\u0219te statefull, mai sunt o mul\u021bime de probleme, mai bine zis, nuan\u021be. La noi func\u021bioneaz\u0103 deja foarte bine, dar noi suntem. Pentru ca acest lucru s\u0103 func\u021bioneze pentru to\u021bi, mai este nevoie de \u00eenc\u0103 c\u00e2\u021biva ani cel pu\u021bin. Acesta nu este un indicator calculat, ci o senza\u021bie personal\u0103.<\/p>\n<p>Pe scurt, statefull trebuie s\u0103 se dezvolte foarte mult \u2014 \u0219i o va face \u2014 pentru c\u0103 toate aplica\u021biile noastre p\u0103streaz\u0103 stare, nu exist\u0103 aplica\u021bii stateless. Este o iluzie, \u00eentotdeauna este nevoie de o baz\u0103 de date \u0219i de ceva \u00een plus. Statefull este \u00eendreptarea tuturor lucrurilor posibile, corectarea tuturor bug-urilor, \u00eembun\u0103t\u0103\u021birea tuturor problemelor cu care ne confrunt\u0103m acum \u2014 s\u0103 numim asta adoptare.<\/p>\n<p>Nivelul necunoscutului, nivelul problemelor nerezolvate, nivelul probabilit\u0103\u021bii de a se confrunta cu ceva, va sc\u0103dea semnificativ. Aceasta este o poveste important\u0103. Iar operatorii \u2014 tot ce \u021bine de codificarea logicii de administrare, logica de gestionare, pentru a ob\u021bine un service u\u0219or: MySQL easy service, RabbitMQ easy service, Memcache easy service, \u2014 toate aceste componente de care avem nevoie pentru a func\u021biona garantat din cutie. Acesta rezolv\u0103 exact acele dureri, c\u0103 vrem o baz\u0103 de date, dar nu vrem s\u0103 o administr\u0103m, sau vrem Kubernetes, dar nu vrem s\u0103-l administr\u0103m.<\/p>\n<p>Aceast\u0103 poveste cu dezvoltarea operatorilor \u00eentr-o form\u0103 sau alta va fi important\u0103 \u00een urm\u0103torii c\u00e2\u021biva ani.<\/p>\n<blockquote><p>Cred c\u0103 va cre\u0219te semnificativ simplitatea exploat\u0103rii \u2014 cutia va deveni din ce \u00een ce mai neagr\u0103, din ce \u00een ce mai fiabil\u0103, cu din ce \u00een ce mai multe butoane simple.<\/p><\/blockquote>\n<p>\nAm ascultat o dat\u0103 un interviu vechi cu Isaac Asimov din anii '80 pe YouTube la emisiunea Saturday Night Live \u2014 o transmisie de tip Urgant, dar interesant\u0103. L-au \u00eentrebat despre viitorul calculatoarelor. A spus c\u0103 viitorul const\u0103 \u00een simplitate, a\u0219a cum a fost cu receptorul de radio. Receptorul de radio era ini\u021bial un lucru complicat. Pentru a prinde o frecven\u021b\u0103, trebuia s\u0103 \u00eenv\u00e2r\u021bi butoane timp de 15 minute, s\u0103 r\u0103suci\u021bi manete \u0219i s\u0103 cuno\u0219ti cum func\u021bioneaz\u0103 totul, s\u0103 \u00een\u021belegi fizica transmisiei undelor radio. \u00cen cele din urm\u0103, \u00een radio a r\u0103mas un singur buton.<\/p>\n<p>Ce radio este acum \u00een 2019? \u00cen ma\u0219in\u0103, radioul g\u0103se\u0219te toate undele, numele sta\u021biilor. Fizica procesului nu s-a schimbat \u00een 100 de ani, dar simplitatea utiliz\u0103rii s-a \u00eembun\u0103t\u0103\u021bit. Acum, \u0219i nu doar acum, \u00eenc\u0103 din 1980, c\u00e2nd a fost un interviu cu Asimov, toat\u0103 lumea folosea radio \u0219i nimeni nu se g\u00e2ndea la cum func\u021bioneaz\u0103. A func\u021bionat \u00eentotdeauna \u2014 este un dat.<\/p>\n<p>Asimov spunea atunci c\u0103 la fel se va \u00eent\u00e2mpla cu computerele \u2014 <b>simplitatea utiliz\u0103rii va cre\u0219te<\/b>. Dac\u0103 \u00een 1980 era necesar un anumit tip de educa\u021bie pentru a ap\u0103sa butoane pe computer, \u00een viitor nu va mai fi a\u0219a.<\/p>\n<p>Am impresia c\u0103 \u0219i \u00een cazul Kubernetes \u0219i al infrastructurii va cre\u0219te foarte mult simplitatea utiliz\u0103rii. Este evident \u2014 este la suprafa\u021b\u0103.<\/p>\n<h2>Ce se va \u00eent\u00e2mpla cu inginerii?<\/h2>\n<p>\n<b>\u2014 Dar ce se va \u00eent\u00e2mpla cu inginerii, administratorii de sistem care suport\u0103 Kubernetes?<\/b><\/p>\n<p><b>Dmitri<\/b>: Ce s-a \u00eent\u00e2mplat cu contabilii dup\u0103 apari\u021bia 1C? Cam acela\u0219i lucru. \u00cenainte se calcula pe h\u00e2rtie \u2014 acum \u00een program. Productivitatea muncii a crescut de ordine \u00eentregi, iar munca nu a disp\u0103rut. Dac\u0103 \u00eenainte erau necesari 10 ingineri pentru a schimba o bomb\u0103, acum va fi suficient un singur inginer.<\/p>\n<p>Num\u0103rul de software \u0219i num\u0103rul de sarcini cred c\u0103 cresc acum cu o vitez\u0103 mai mare dec\u00e2t apar noi DevOps \u0219i se \u00eembun\u0103t\u0103\u021be\u0219te eficien\u021ba. Acum exist\u0103 o penurie specific\u0103 pe pia\u021b\u0103 \u0219i aceasta va dura mult. Mai t\u00e2rziu, totul va intra \u00eentr-o norm\u0103 \u00een care eficien\u021ba muncii va cre\u0219te, vor fi din ce \u00een ce mai multe solu\u021bii serverless, iar Kubernetes va fi asociat cu o re\u021bea neuronal\u0103 care va aloca toate resursele exact atunci c\u00e2nd este nevoie, \u0219i va face totul de una singur\u0103 \u2014 oamenii, da\u021bi-v\u0103 la o parte \u0219i nu deranja\u021bi.<\/p>\n<p>Dar totu\u0219i, solu\u021biile vor trebui s\u0103 fie luate de cineva. Este clar c\u0103 nivelul de calificare \u0219i specializarea acelei persoane sunt mai mari. Acum, \u00een departamentul de contabilitate nu ai nevoie de 10 angaja\u021bi care s\u0103 \u021bin\u0103 eviden\u021ba contabilit\u0103\u021bii, astfel \u00eenc\u00e2t m\u00e2na lor s\u0103 nu se oboseasc\u0103. Pur \u0219i simplu nu este necesar. Multe documente sunt scanate automat, recunoscute de sistemul de gestionare electronic\u0103 a documentelor. Este suficient un contabil \u0219ef inteligent, deja cu mult mai multe abilit\u0103\u021bi, cu o bun\u0103 \u00een\u021belegere.<\/p>\n<p>\u00cen general, acest parcurs este prezent \u00een toate industriile. La fel \u0219i cu automobilele: \u00eenainte, ma\u0219ina era \u00eenso\u021bit\u0103 de un mecanic auto \u0219i de trei \u0219oferi. Acum, conducerea unei ma\u0219ini este un proces simplu, \u00een care cu to\u021bii particip\u0103m zi de zi. Nimeni nu se g\u00e2nde\u0219te c\u0103 automobilul este ceva complicat.<\/p>\n<blockquote><p>DevOps sau ingineria sistemelor nu vor disp\u0103rea niciodat\u0103 - nivelul \u00eenalt \u0219i eficien\u021ba lucrului vor cre\u0219te.<\/p><\/blockquote>\n<p>\n<b>\u2014 Am auzit o idee interesant\u0103 c\u0103, de fapt, \u0219i volumul de munc\u0103 va cre\u0219te.<\/b><\/p>\n<p><b>Dmitri<\/b>: Desigur, o sut\u0103 de procente! Pentru c\u0103 volumul de software pe care \u00eel scriem cre\u0219te constant. Num\u0103rul problemelor pe care le rezolv\u0103m cu software cre\u0219te constant. Volumul de munc\u0103 cre\u0219te. Acum, pia\u021ba DevOps este extrem de supra\u00eenc\u0103lzit\u0103. Acest lucru se observ\u0103 \u00een a\u0219tept\u0103rile salariale. \u00centr-un sens bun, f\u0103r\u0103 a intra \u00een detalii, ar trebui s\u0103 existe juniori care doresc X, medii care doresc 1,5X \u0219i seniori care doresc 2X. \u0218i acum, dac\u0103 ne uit\u0103m la pia\u021ba salariilor DevOps din Moscova, un junior vrea de la X p\u00e2n\u0103 la 3X \u0219i un senior vrea de la X p\u00e2n\u0103 la 3X.<\/p>\n<blockquote><p>Nimeni nu \u0219tie c\u00e2t cost\u0103. Nivelul salariului este m\u0103surat prin \u00eencrederea ta - este un adev\u0103rat haos, dac\u0103 sunt sincer, pia\u021ba este extrem de supra\u00eenc\u0103lzit\u0103.<\/p><\/blockquote>\n<p>\nDesigur, aceast\u0103 situa\u021bie se va schimba foarte cur\u00e2nd - trebuie s\u0103 apar\u0103 o oarecare satura\u021bie. Cu dezvoltarea software-ului nu este la fel - de\u0219i dezvoltatorii sunt necesari tuturor \u0219i toat\u0103 lumea are nevoie de dezvoltatori buni, pia\u021ba \u00een\u021belege c\u00e2t cost\u0103 fiecare - industria s-a stabilizat. Cu DevOps acum nu este la fel.<\/p>\n<p><b>\u2014 Din ceea ce am auzit, am concluzionat c\u0103 administratorul de sistem actual nu ar trebui s\u0103 se \u00eengrijoreze prea mult, dar ar fi timpul s\u0103-\u0219i dezvolte abilit\u0103\u021bile \u0219i s\u0103 se preg\u0103teasc\u0103 pentru faptul c\u0103 m\u00e2ine va fi mai mult\u0103 munc\u0103, dar va fi mai calificat\u0103.<\/b><\/p>\n<p><b>Dmitri<\/b>: O sut\u0103 la sut\u0103. \u00cen general, tr\u0103im \u00een anul 2019, iar regula de baz\u0103 este: <b>\u00eenv\u0103\u021barea pe tot parcursul vie\u021bii - \u00eenv\u0103\u021b\u0103m toat\u0103 via\u021ba<\/b>. Mi se pare c\u0103 acum to\u021bi \u0219tiu \u0219i simt acest lucru, dar a \u0219ti este insuficient - trebuie s\u0103 ac\u021bion\u0103m. \u00cen fiecare zi trebuie s\u0103 ne schimb\u0103m. Dac\u0103 nu facem asta, mai devreme sau mai t\u00e2rziu vom fi l\u0103sa\u021bi pe marginea profesiei. <\/p>\n<p>Fii preg\u0103tit pentru \u00eentoarceri bru\u015fte de 180 de grade. Nu exclud situa\u021bii \u00een care ceva se va schimba radical, se va inventa ceva nou - a\u0219a se \u00eent\u00e2mpl\u0103. Hop! - \u0219i acum ac\u021bion\u0103m diferit. Este important s\u0103 fii preg\u0103tit pentru asta \u0219i s\u0103 nu te stresezi. S-ar putea \u00eent\u00e2mpla ca m\u00e2ine tot ceea ce fac s\u0103 devin\u0103 inutil - nu-i nimic, am \u00eenv\u0103\u021bat toat\u0103 via\u021ba \u0219i sunt preg\u0103tit s\u0103 \u00eenv\u0103\u021b ceva nou. Nu este o problem\u0103. Nu trebuie s\u0103 te temi de securitatea locului de munc\u0103, dar trebuie s\u0103 fii preg\u0103tit s\u0103 \u00eenve\u021bi \u00een mod constant ceva nou.<\/p>\n<h2>Dorin\u021be \u0219i un moment de publicitate<\/h2>\n<p>\n<b>\u2014 Ai vreo dorin\u021b\u0103?<\/b><\/p>\n<p><b>Dmitri<\/b>: Da, am c\u00e2teva dorin\u021be.<\/p>\n<p>Prima \u0219i mercantil\u0103 - abona\u021bi-v\u0103 la\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/channel\/UCjmwHCZ-qh3ro7hHTQhqYQg\">YouTube<\/a><\/noindex>. Stima\u021bi cititori, intrati pe YouTube \u0219i abona\u021bi-v\u0103 la canalul nostru. \u00cen aproximativ o lun\u0103 vom \u00eencepe o expansiune activ\u0103 pe platforma de video, unde vom avea o mul\u021bime de con\u021binut educa\u021bional despre Kubernetes, deschis \u0219i divers: de la lucruri practice, p\u00e2n\u0103 la laboratoare, p\u00e2n\u0103 la concepte teoretice ad\u00e2nci \u0219i cum s\u0103 aplici Kubernetes la nivel de principii \u0219i modele.<\/p>\n<p>A doua dorin\u021b\u0103 mercantil\u0103 - vizita\u021bi\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\">GitHub<\/a><\/noindex> \u0219i pune\u021bi stele, pentru c\u0103 ne hr\u0103nim cu ele. Dac\u0103 nu ne da\u021bi stele, nu vom avea ce m\u00e2nca. Este ca mana \u00eentr-un joc video. Facem ceva, facem, ne str\u0103duim, cineva spune c\u0103 sunt biciclete groaznice, altcineva c\u0103 totul este gre\u0219it, iar noi continu\u0103m \u0219i ac\u021bion\u0103m absolut corect. Vedem o problem\u0103, o rezolv\u0103m \u0219i \u00eemp\u0103rt\u0103\u0219im experien\u021ba. A\u0219a c\u0103 pune\u021bi-ne o stea, nu pierde\u021bi nimic, dar noi c\u00e2\u0219tig\u0103m, pentru c\u0103 ne hr\u0103nim cu ele.<\/p>\n<p>A treia dorin\u021b\u0103, important\u0103 \u0219i deja nu mercantil\u0103 - <b>nu mai crede\u021bi \u00een basme<\/b>. Sunte\u021bi profesioni\u0219ti. DevOps este o profesie foarte serioas\u0103 \u0219i responsabil\u0103. Nu mai juca\u021bi pe locul de munc\u0103. L\u0103sa\u021bi-v\u0103 s\u0103 realiza\u021bi acest lucru. Imagina\u021bi-v\u0103 c\u0103 merge\u021bi la spital, iar acolo doctorul experimenteaz\u0103 asupra voastr\u0103. \u00cen\u021beleg c\u0103 asta poate ofensa pe cineva, dar, cel mai probabil, nu se refer\u0103 la voi, ci la altcineva. Spune\u021bi \u0219i altora s\u0103 \u00eenceteze. Acest lucru stric\u0103 \u00eentr-adev\u0103r via\u021ba tuturor - mul\u021bi \u00eencep s\u0103 se raporteze la operare, la administratori \u0219i la DevOps-uri ca la tipii care au stricat iar ceva. Acest \u201estricat\u201d se \u00eent\u00e2mpl\u0103 cel mai adesea pentru c\u0103 am \u00eenceput s\u0103 ne juc\u0103m, \u00een loc s\u0103 privim cu mintea rece ce se \u00eent\u00e2mpl\u0103 aici \u0219i acolo.<\/p>\n<p>Aceasta nu \u00eenseamn\u0103 c\u0103 nu trebuie s\u0103 experiment\u0103m. Trebuie s\u0103 experiment\u0103m, noi a\u0219a facem. Dac\u0103 suntem sinceri, uneori ne juc\u0103m \u0219i noi \u2014 este, desigur, foarte r\u0103u, dar nimic uman nu ne este str\u0103in. Hai s\u0103 declar\u0103m anul 2019 anul experimentelor serioase \u0219i bine g\u00e2ndite, nu jocuri pe prod. Probabil c\u0103 a\u0219a ar fi.<\/p>\n<p><b>\u2014 V\u0103 mul\u021bumesc mult!<\/b><\/p>\n<p><b>Dmitri<\/b>: \u00ce\u021bi mul\u021bumesc, Vitalie, pentru timp \u0219i pentru interviu. Dragi cititori, v\u0103 mul\u021bumim foarte mult, dac\u0103 a\u021bi ajuns p\u00e2n\u0103 la acest moment. Sper c\u0103 v-am adus m\u0103car c\u00e2teva g\u00e2nduri.<\/p>\n<blockquote><p>\u00cen interviu, Dmitry a atins subiectul werf. Acesta este acum un cu\u021bit elve\u021bian universal, care rezolv\u0103 aproape toate problemele. Dar nu a fost \u00eentotdeauna a\u0219a.\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf <\/a><\/noindex>\u00a0la festival <noindex><a rel=\"nofollow\" href=\"https:\/\/ritfest.ru\/2019\">RIT++<\/a><\/noindex> Dmitry Stolyarov va vorbi despre acest instrument \u00een detaliu. \u00cen prezentarea <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\/abstracts\/5136\">\u201ewerf \u2014 instrumentul nostru pentru CI\/CD \u00een Kubernetes\u201d<\/a><\/noindex> vor fi discutate toate: problemele \u0219i nuan\u021bele ascunse ale Kubernetes, op\u021biuni de solu\u021bionare a acestor dificult\u0103\u021bi \u0219i implementarea actual\u0103 a werf \u00een detalii. Al\u0103tura\u021bi-v\u0103 pe 27 \u0219i 28 mai, vom crea instrumente ideale.<\/p><\/blockquote>\n<p>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/kubernetes-zahvatit-mir-kogda-i-kak\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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 va cuceri lumea. C\u00e2nd \u0219i cum? | ProHoster","description":"\u00cen preg\u0103tirea DevOpsConf, Vitaly Khabarov a luat un interviu cu Dmitry Stolyarov (","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/kubernetes-zahvatit-mir-kogda-i-kak","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/34450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=34450"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/34450\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=34450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=34450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=34450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}