{"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\/pl\/blog\/administrirovanie\/kubernetes-zahvatit-mir-kogda-i-kak","title":{"rendered":"Kubernetes podbije \u015bwiat. Kiedy i jak?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>W\u00a0przededniu <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf<\/a><\/noindex> <b>Witalij Chabarow<\/b> przeprowadzi\u0142 wywiad z\u00a0<b>Dmitrijem Stoljarowem<\/b> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/distol\/\" class=\"user_link\">distol<\/a><\/noindex>), dyrektorem technicznym i\u00a0wsp\u00f3\u0142za\u0142o\u017cycielem firmy \u201eFlant\u201d. Witalij zapyta\u0142 Dmitrija o to, czym zajmuje si\u0119 \u201eFlant\u201d, o Kubernetes, rozw\u00f3j ekosystemu, wsparcie. Om\u00f3wili, po co potrzebny jest Kubernetes i\u00a0czy w og\u00f3le jest potrzebny. A tak\u017ce o mikroserwisach, Amazon AWS, podej\u015bciu \u201eMam szcz\u0119\u015bcie\u201d w\u00a0DevOps, przysz\u0142o\u015bci samego Kubernetes, dlaczego, kiedy i\u00a0jak podbije \u015bwiat, perspektywy DevOps i\u00a0czym powinni przygotowa\u0107 si\u0119 in\u017cynierowie w\u00a0jasnej i\u00a0bliskiej przysz\u0142o\u015bci z\u00a0uproszczeniami i\u00a0sieciami neuronowymi.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/devopsdeflope.ru\/posts\/2019\/047.html\">Orygina\u0142 wywiadu<\/a><\/noindex> w\u00a0formie podcastu mo\u017cna pos\u0142ucha\u0107 na\u00a0DevOps Deflope \u2013 rosyjskoj\u0119zycznym podca\u015bcie o\u00a0DevOps, a\u00a0poni\u017cej znajdziesz wersj\u0119 tekstow\u0105. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes podbije \u015bwiat. Kiedy i jak?\" src=\"\/wp-content\/uploads\/6341673ac500424dcaccce28967be5a5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTutaj i\u00a0dalej pytania zadaje <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/vitkhab\">Witalij Chabarow<\/a><\/noindex> in\u017cynier z\u00a0Express42.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>O \u201eFlant\u201d<\/h2>\n<p>\n<b>\u2013 Dima, cze\u015b\u0107. Jeste\u015b dyrektorem technicznym \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/\">Flant<\/a><\/noindex>\u201d i\u00a0tak\u017ce jego za\u0142o\u017cycielem. Opowiedz prosz\u0119, czym zajmuje si\u0119 firma i\u00a0co ty w\u00a0niej robisz?<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes podbije \u015bwiat. Kiedy i jak?\" src=\"\/wp-content\/uploads\/5bec6fcb38b142cc13f75f8eb4dfd834.jpg\" style=\"display:block;margin: 0 auto;\" \/><b>Dmitrij<\/b>: Na\u00a0zewn\u0105trz wydaje si\u0119, \u017ce jeste\u015bmy takimi ch\u0142opakami, kt\u00f3rzy chodz\u0105 i\u00a0wszystkim stawiaj\u0105 Kubernetes i\u00a0co\u015b z\u00a0nim robi\u0105. Ale\u00a0to nie\u00a0prawda. Zaczynali\u015bmy jako firma zajmuj\u0105ca si\u0119 Linuxem, ale\u00a0ju\u017c od\u00a0bardzo dawna nasza g\u0142\u00f3wna dzia\u0142alno\u015b\u0107 to\u00a0serwisowanie projekt\u00f3w produkcyjnych i\u00a0highload pod klucz. Zwykle budujemy ca\u0142\u0105 infrastruktur\u0119 od\u00a0zera i\u00a0potem d\u0142ugo, d\u0142ugo za\u00a0ni\u0105 odpowiadamy. Dlatego g\u0142\u00f3wn\u0105 prac\u0105, kt\u00f3r\u0105 wykonuje \u201eFlant\u201d, za\u00a0co dostaje pieni\u0105dze \u2013 to <b>przyj\u0119cie odpowiedzialno\u015bci i\u00a0realizacja produkcji pod klucz<\/b>.<br \/>\n<br clear=\"left\"><br \/>\n<br clear=\"left\"><br \/>\nJa, jako dyrektor techniczny i\u00a0jeden z\u00a0za\u0142o\u017cycieli firmy, przez ca\u0142\u0105 dob\u0119 zajmuj\u0119 si\u0119 tym, jak\u00a0zwi\u0119kszy\u0107 dost\u0119pno\u015b\u0107 produkcji, upro\u015bci\u0107 jej eksploatacj\u0119, u\u0142atwi\u0107 \u017cycie adminom, a\u00a0\u017cycie programist\u00f3w uczyni\u0107 przyjemniejszym.<\/p>\n<h2>O Kubernetes<\/h2>\n<p>\n<b>\u2013 Ostatnio od\u00a0\u201eFlanta\u201d widz\u0119 wiele wyk\u0142ad\u00f3w i\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/431500\/\">artyku\u0142\u00f3w<\/a><\/noindex> o Kubernetes. Jak do\u00a0niego doszli\u015bcie?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Ju\u017c o\u00a0tym m\u00f3wi\u0142em wiele razy, ale\u00a0nie \u017ca\u0142uj\u0119, \u017ce to powt\u00f3rz\u0119. Uwa\u017cam, \u017ce warto powtarza\u0107 ten temat, poniewa\u017c pojawia si\u0119 zamieszanie pomi\u0119dzy przyczyn\u0105 a\u00a0skutkiem.<\/p>\n<p>Potrzebowali\u015bmy narz\u0119dzia. Zmagali\u015bmy si\u0119 z wieloma problemami, walczyli\u015bmy z nimi na r\u00f3\u017cne sposoby i czuli\u015bmy potrzeb\u0119 posiadania narz\u0119dzia. Przez wiele r\u00f3\u017cnych opcji, buduj\u0105c w\u0142asne rozwi\u0105zania, zdobywali\u015bmy do\u015bwiadczenie. Z czasem doszli\u015bmy do etapu, kiedy zacz\u0119li\u015bmy u\u017cywa\u0107 Dockera niemal od razu, gdy si\u0119 pojawi\u0142 \u2014 oko\u0142o 2013 roku. W momencie jego pojawienia si\u0119 mieli\u015bmy ju\u017c sporo do\u015bwiadczenia z kontenerami, zd\u0105\u017cyli\u015bmy napisa\u0107 co\u015b na kszta\u0142t \u201eDocker\u201d \u2014 nasze w\u0142asne sztuczki na Pythonie. Dzi\u0119ki pojawieniu si\u0119 Dockera mogli\u015bmy porzuci\u0107 k\u0142opotliwe rozwi\u0105zania i korzysta\u0107 z niezawodnego, wspieranego przez spo\u0142eczno\u015b\u0107 narz\u0119dzia.<\/p>\n<p>Historia z Kubernetes jest podobna. W momencie, gdy zacz\u0105\u0142 zyskiwa\u0107 na popularno\u015bci \u2014 dla nas to wersja 1.2 \u2014 mieli\u015bmy ju\u017c mas\u0119 sztuczek zar\u00f3wno na Shellu, jak i Chefie, kt\u00f3re pr\u00f3bowali\u015bmy jako\u015b zorganizowa\u0107 w Dockera. Powa\u017cnie rozwa\u017cali\u015bmy Rancher i r\u00f3\u017cne inne rozwi\u0105zania, ale pojawi\u0142 si\u0119 Kubernetes, kt\u00f3ry zrealizowa\u0142 wszystko dok\u0142adnie tak, jak by\u015bmy to zrobili, a mo\u017ce nawet lepiej. Nie ma si\u0119 do czego przyczepi\u0107.<\/p>\n<p>Tak, jest tu jakie\u015b niedoci\u0105gni\u0119cie, tam jakie\u015b niedoci\u0105gni\u0119cie \u2014 wiele niedoci\u0105gni\u0119\u0107, a 1.2 to w og\u00f3le koszmar, ale\u2026 Kubernetes jest jak budynek w budowie \u2014 patrzysz na projekt i rozumiesz, \u017ce to b\u0119dzie \u015bwietne. Je\u015bli budynek ma teraz fundament i dwa pi\u0119tra, to wiesz, \u017ce lepiej na razie si\u0119 nie wprowadza\u0107, a z oprogramowaniem takich problem\u00f3w nie ma \u2014 ju\u017c mo\u017cna z niego korzysta\u0107.<\/p>\n<blockquote><p>Nie mieli\u015bmy momentu, w kt\u00f3rym by\u015bmy si\u0119 zastanawiali, czy u\u017cywa\u0107 Kubernetes, czy nie. Czekali\u015bmy na niego d\u0142ugo przed jego pojawieniem si\u0119 i sami pr\u00f3bowali\u015bmy stworzy\u0107 analogi.<\/p><\/blockquote>\n<p><\/p>\n<h2>O Kubernetesie<\/h2>\n<p>\n<b>\u2014 Bierzecie bezpo\u015bredni udzia\u0142 w rozwoju samego Kubernetes?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Po\u015brednio. Raczej bierzemy udzia\u0142 w rozwoju ekosystemu. Wysy\u0142amy pewn\u0105 liczb\u0119 zg\u0142osze\u0144 pull: do Prometheus, r\u00f3\u017cnych operator\u00f3w, do Helm \u2014 do ekosystemu. Niestety, nie jestem w stanie \u015bledzi\u0107 wszystkiego, co robimy i mog\u0119 si\u0119 myli\u0107, ale od nas nie ma \u017cadnego zg\u0142oszenia do rdzenia.<\/p>\n<p><b>\u2014 Przy tym rozwijacie wiele w\u0142asnych narz\u0119dzi wok\u00f3\u0142 Kubernetes?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Strategia jest taka: dzia\u0142amy i zg\u0142aszamy do wszystkiego, co ju\u017c istnieje. Je\u015bli tam zg\u0142oszenia pull nie s\u0105 przyjmowane, po prostu forkamy je dla siebie i funkcjonujemy, dop\u00f3ki nie zostan\u0105 przyj\u0119te z naszymi wersjami. Potem, gdy to trafi do upstream, wracamy z powrotem na wersj\u0119 upstream.<\/p>\n<p>Na przyk\u0142ad mamy operatora Prometheus, z kt\u00f3rym prze\u0142\u0105czali\u015bmy si\u0119 tam i z powrotem do upstreamu naszej kompilacji ju\u017c ze pi\u0119\u0107 razy, prawdopodobnie. Potrzebujemy jakiej\u015b funkcji, wys\u0142ali\u015bmy pull request, musimy j\u0105 jutro wypu\u015bci\u0107, a nie chcemy czeka\u0107, a\u017c zostanie wydana w upstreamie. W zwi\u0105zku z tym sk\u0142adamy dla siebie, wprowadzamy nasz\u0105 kompilacj\u0119 z nasz\u0105 funkcj\u0105, kt\u00f3ra jest nam potrzebna, na wszystkie nasze klastry. P\u00f3\u017aniej to, na przyk\u0142ad, w upstreamie nam zamykaj\u0105 ze s\u0142owami: \u201eLudzie, zr\u00f3bmy to dla bardziej og\u00f3lnego przypadku\u201d, my lub kto\u015b inny to doka\u0144cza, i z czasem znowu wraca.<\/p>\n<p><b>Wszystko, co istnieje, staramy si\u0119 rozwija\u0107<\/b>. Wiele element\u00f3w, kt\u00f3re jeszcze nie istniej\u0105, jeszcze nie zosta\u0142y wymy\u015blone lub zosta\u0142y wymy\u015blone, ale nie zosta\u0142y zrealizowane \u2014 my je robimy. I nie dlatego, \u017ce lubimy sam proces lub budowanie rower\u00f3w jako bran\u017c\u0119, a po prostu dlatego, \u017ce potrzebujemy tego narz\u0119dzia. Cz\u0119sto zadaj\u0105 pytanie, dlaczego zrobili\u015bmy t\u0119 lub inn\u0105 rzecz? Odpowied\u017a jest prosta \u2014 tak, poniewa\u017c musieli\u015bmy i\u015b\u0107 naprz\u00f3d, rozwi\u0105za\u0107 jaki\u015b praktyczny problem, i rozwi\u0105zali\u015bmy go tym narz\u0119dziem.<\/p>\n<blockquote><p>Droga zawsze jest taka: bardzo dok\u0142adnie szukamy i, je\u015bli nie znajdujemy \u017cadnego rozwi\u0105zania, jak z bochenka chleba zrobi\u0107 trolejbus, to robimy nasz bochenek i nasz trolejbus.<\/p><\/blockquote>\n<p><\/p>\n<h2>Narz\u0119dzia \u201eFlanta\u201d<\/h2>\n<p>\n<b>\u2014 Wiem, \u017ce teraz \u201eFlanta\u201d ma addon-operator\u00f3w, operator\u00f3w shell, narz\u0119dzia dapp\/werf. Jak rozumiem, to jedno i to samo narz\u0119dzie w r\u00f3\u017cnych wcieleniach. Rozumiem te\u017c, \u017ce wewn\u0105trz \u201eFlanta\u201d jest jeszcze wiele r\u00f3\u017cnych narz\u0119dzi. Czy to prawda?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Mamy na GitHubie jeszcze wiele r\u00f3\u017cnych rzeczy. Z tego, co teraz pami\u0119tam, mamy statusmap \u2014 panel dla Grafany, kt\u00f3ry wszystkim si\u0119 podoba. Wspomniane jest prawie w ka\u017cdym drugim artykule o monitorowaniu Kubernetes na Medium. Niemo\u017cliwe jest skr\u00f3towo opowiedzie\u0107, czym jest statusmap \u2014 potrzebny jest oddzielny artyku\u0142, ale to bardzo przydatna rzecz do monitorowania statusu w czasie, poniewa\u017c w Kubernetes cz\u0119sto musimy pokazywa\u0107 status w czasie. Mamy te\u017c LogHouse \u2014 to rzecz oparta na ClickHouse oraz czarnej magii do zbierania log\u00f3w w Kubernetes.<\/p>\n<p>Wiele narz\u0119dzi! A b\u0119dzie ich jeszcze wi\u0119cej, poniewa\u017c niekt\u00f3re wewn\u0119trzne rozwi\u0105zania b\u0119d\u0105 wydane w tym roku. Z bardzo du\u017cych, na bazie operatora addon, jest wiele dodatk\u00f3w do Kubernetes, np. jak poprawnie zainstalowa\u0107 sert manager \u2013 narz\u0119dzie do zarz\u0105dzania certyfikatami, jak poprawnie zainstalowa\u0107 Prometheusa z ca\u0142\u0105 mas\u0105 dodatkowych komponent\u00f3w \u2013 to oko\u0142o dwudziestu r\u00f3\u017cnych binarek, kt\u00f3re eksportuj\u0105 dane i co\u015b zbieraj\u0105, a Prometheus oferuje \u015bwietn\u0105 grafik\u0119 i alerty. To po prostu ca\u0142a masa dodatk\u00f3w do Kubernetes, kt\u00f3re instaluje si\u0119 w klastrze, a on przekszta\u0142ca si\u0119 z prostego w zaawansowany, w pe\u0142ni automatyczny, w kt\u00f3rym wiele pyta\u0144 jest ju\u017c rozwi\u0105zanych. Tak, du\u017co robimy.<\/p>\n<h2>Rozw\u00f3j ekosystemu<\/h2>\n<p>\n<b>\u2014 Uwa\u017cam, \u017ce to bardzo du\u017cy wk\u0142ad w rozw\u00f3j tego narz\u0119dzia i jego metod wykorzystania. Czy mo\u017cesz mniej wi\u0119cej oszacowa\u0107, kto jeszcze m\u00f3g\u0142by wnie\u015b\u0107 podobny wk\u0142ad w rozw\u00f3j ekosystemu?<\/b><\/p>\n<p><b>Dmitrij<\/b>: <b>W Rosji z tych firm, kt\u00f3re dzia\u0142aj\u0105 na naszym rynku \u2013 nikt nawet blisko<\/b>. Oczywi\u015bcie, to g\u0142o\u015bne stwierdzenie, poniewa\u017c s\u0105 duzi gracze, tacy jak Mail i Yandex \u2013 oni te\u017c co\u015b robi\u0105 z Kubernetes, ale nawet oni nie zbli\u017cyli si\u0119 do wk\u0142adu firm na ca\u0142ym \u015bwiecie, kt\u00f3re robi\u0105 znacznie wi\u0119cej ni\u017c my. Trudno por\u00f3wnywa\u0107 'Flant' z zespo\u0142em 80 os\u00f3b i Red Hat, w kt\u00f3rym na samego Kubernetes pracuje chyba 300 in\u017cynier\u00f3w. Ci\u0119\u017cko por\u00f3wnywa\u0107. Mamy w dziale RnD 6 os\u00f3b, \u0142\u0105cznie ze mn\u0105, kt\u00f3rzy rozwijaj\u0105 wszystkie nasze narz\u0119dzia. 6 os\u00f3b przeciwko 300 in\u017cynierom Red Hat \u2013 jako\u015b trudno por\u00f3wna\u0107.<\/p>\n<p><b>\u2014 Niemniej jednak, nawet gdy ci 6 ludzi mog\u0105 zrobi\u0107 co\u015b naprawd\u0119 u\u017cytecznego i przeno\u015bnego, gdy staj\u0105 przed praktycznym zadaniem i przekazuj\u0105 rozwi\u0105zanie spo\u0142eczno\u015bci \u2013 to interesuj\u0105cy przypadek. Rozumiem, \u017ce w du\u017cych firmach technologicznych, gdzie jest w\u0142asny rozw\u00f3j i zesp\u00f3\u0142 wsparcia dla Kubernetes, mog\u0105 by\u0107 rozwijane podobne narz\u0119dzia. Daje im to przyk\u0142ad, \u017ce mo\u017cna stworzy\u0107 i odda\u0107 to spo\u0142eczno\u015bci, daj\u0105c impuls ca\u0142emu spo\u0142eczno\u015bci, kt\u00f3ra u\u017cywa Kubernetes.<\/b><\/p>\n<p><b>Dmitrij<\/b>: To chyba cecha integratora, jego wyr\u00f3\u017cnik. Mamy wiele projekt\u00f3w i widzimy wiele r\u00f3\u017cnych sytuacji. Dla nas g\u0142\u00f3wnym sposobem na tworzenie warto\u015bci dodanej jest analiza tych przypadk\u00f3w, znalezienie wsp\u00f3lnego mianownika i maksymalne obni\u017cenie ich koszt\u00f3w dla nas. Aktywnie si\u0119 tym zajmujemy. Trudno mi m\u00f3wi\u0107 o Rosji i \u015bwiecie, ale mamy oko\u0142o 40 in\u017cynier\u00f3w DevOps w firmie, kt\u00f3rzy zajmuj\u0105 si\u0119 Kubernetesem. Nie s\u0105dz\u0119, \u017ceby w Rosji by\u0142o wiele firm z por\u00f3wnywaln\u0105 liczb\u0105 specjalist\u00f3w znaj\u0105cych Kubernetes, je\u015bli w og\u00f3le takie s\u0105.<\/p>\n<p>Rozumiem wszystko na temat nazwy stanowiska in\u017cyniera DevOps, wszyscy wszystko rozumiej\u0105 i przywykli\u015bmy nazywa\u0107 in\u017cynier\u00f3w DevOps in\u017cynierami DevOps, nie b\u0119dziemy tego dyskutowa\u0107. Ci wszyscy 40 wspania\u0142ych in\u017cynier\u00f3w DevOps codziennie napotykaj\u0105 problemy i je rozwi\u0105zuj\u0105, my po prostu analizujemy to do\u015bwiadczenie i staramy si\u0119 je uog\u00f3lni\u0107. Rozumiemy, \u017ce je\u015bli to do\u015bwiadczenie pozostanie tylko u nas, to za rok lub dwa narz\u0119dzie stanie si\u0119 bezu\u017cyteczne, poniewa\u017c gdzie\u015b w spo\u0142eczno\u015bci pojawi si\u0119 gotowa alternatywa. Nie ma sensu gromadzi\u0107 tego do\u015bwiadczenia wewn\u0119trznie \u2014 to po prostu marnowanie si\u0142 i czasu w dev\/null. Zatem nie \u017ca\u0142ujemy publikacji. Z przyjemno\u015bci\u0105 to wszystko publikujemy i rozumiemy, \u017ce trzeba to publikowa\u0107, rozwija\u0107, promowa\u0107, aby ludzie korzystali i dodawali swoje do\u015bwiadczenia \u2014 wtedy wszystko ro\u015bnie i \u017cyje. Wtedy po dw\u00f3ch latach narz\u0119dzie nie trafia na \u015bmietnik. Nie \u017ca\u0142ujemy dalszego wk\u0142adu, poniewa\u017c wida\u0107, \u017ce kto\u015b korzysta z twojego narz\u0119dzia, a po dw\u00f3ch latach korzystaj\u0105 z niego ju\u017c wszyscy.<\/p>\n<p><b>To cz\u0119\u015b\u0107 naszej du\u017cej strategii z dapp\/werf<\/b>. Nie pami\u0119tam, kiedy to zacz\u0119li\u015bmy robi\u0107, wydaje mi si\u0119, \u017ce 3 lata temu. Pocz\u0105tkowo by\u0142o to w og\u00f3le na shellu. To by\u0142 super dow\u00f3d koncepcji, rozwi\u0105zali\u015bmy kilka naszych prywatnych problem\u00f3w \u2014 uda\u0142o si\u0119! Ale s\u0105 problemy z shellem, dalej trudno to rozwija\u0107, programowanie w shellu to niez\u0142a sztuka. Mieli\u015bmy zwyczaj pisa\u0107 w Ruby, odpowiednio, w Ruby przerobili\u015bmy co\u015b, rozwijali\u015bmy to, a\u017c natkn\u0119li\u015bmy si\u0119 na spo\u0142eczno\u015b\u0107, kt\u00f3ra nie m\u00f3wi: 'chcemy lub nie chcemy', odwraca nos od Ruby, co nie jest \u015bmieszne. Zrozumieli\u015bmy, \u017ce musimy to wszystko pisa\u0107 w Go, \u017ceby po prostu spe\u0142ni\u0107 pierwszy punkt na li\u015bcie kontrolnej: <b>Narz\u0119dzie DevOps powinno by\u0107 statycznym binarnym plikiem<\/b>. Na Go lub nie na Go to nie jest tak istotne, ale lepiej mie\u0107 statyczny binarny plik napisany w Go.<\/p>\n<p>Zainwestowali\u015bmy si\u0142y, przepisali\u015bmy dapp na Go i nazwali\u015bmy go werf. Dapp nie jest ju\u017c wspierany, nie rozwija si\u0119, dzia\u0142a na jakiej\u015b przestarza\u0142ej wersji, ale istnieje absolutna \u015bcie\u017cka modernizacji, kt\u00f3r\u0105 mo\u017cna podj\u0105\u0107.<\/p>\n<h2>Dlaczego stworzono dapp<\/h2>\n<p>\n<b>\u2014 Czy mo\u017cesz w skr\u00f3cie opowiedzie\u0107, dlaczego stworzono dapp, jakie problemy on rozwi\u0105zuje?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Pierwszy pow\u00f3d to budowanie. Na pocz\u0105tku mieli\u015bmy powa\u017cne problemy z budowaniem, kiedy Docker nie obs\u0142ugiwa\u0142 multi-stage, wi\u0119c zrobili\u015bmy multi-stage sami. Potem mieli\u015bmy wiele kwestii zwi\u0105zanych z oczyszczaniem obraz\u00f3w. Wszyscy, kt\u00f3rzy zajmuj\u0105 si\u0119 CI\/CD, pr\u0119dzej czy p\u00f3\u017aniej staj\u0105 w obliczu problemu, \u017ce jest wiele zbudowanych obraz\u00f3w, kt\u00f3re trzeba jako\u015b wyczy\u015bci\u0107 i pozostawi\u0107 te, kt\u00f3re s\u0105 potrzebne.<\/p>\n<p>Drugi pow\u00f3d to deployment. Tak, jest Helm, ale on rozwi\u0105zuje tylko cz\u0119\u015b\u0107 problem\u00f3w. Jak to \u015bmiesznie brzmi, napisano, \u017ce \u201eHelm to mened\u017cer pakiet\u00f3w dla Kubernetes\u201d. W\u0142a\u015bnie, \u017ce \u201ethe\u201d. Jeszcze s\u0105 s\u0142owa \u201eMened\u017cer Pakiet\u00f3w\u201d \u2014 jakie zazwyczaj mamy oczekiwania wobec Mened\u017cera Pakiet\u00f3w? M\u00f3wimy: \u201eMened\u017cer Pakiet\u00f3w \u2014 zainstaluj pakiet!\u201d i oczekujemy, \u017ce powie nam: \u201ePakiet zainstalowany\u201d. <\/p>\n<p>Ciekawe, \u017ce m\u00f3wimy: \u201eHelm, zainstaluj pakiet\u201d, a gdy on odpowiada, \u017ce zainstalowa\u0142, okazuje si\u0119, \u017ce dopiero rozpocz\u0105\u0142 instalacj\u0119 \u2014 wskaza\u0142 Kubernetes: \u201eUruchom ten element!\u201d, a czy zosta\u0142 uruchomiony, dzia\u0142a czy nie, Helm w og\u00f3le nie rozwi\u0105zuje tego pytania.<\/p>\n<blockquote><p>Okazuje si\u0119, \u017ce Helm to po prostu tekstowy preprocesor, kt\u00f3ry \u0142aduje dane do Kubernetes.<\/p><\/blockquote>\n<p>\nAle w ramach ka\u017cdego deploymentu chcemy wiedzie\u0107 \u2014 czy aplikacja zosta\u0142a wdro\u017cona na produkcj\u0119, czy nie? Wdro\u017cona na produkcj\u0119 oznacza, \u017ce aplikacja tam dotar\u0142a, nowa wersja zosta\u0142a wdro\u017cona, i przynajmniej nie pada oraz poprawnie odpowiada. Helm w og\u00f3le nie rozwi\u0105zuje tego zadania. Aby to rozwi\u0105za\u0107, trzeba w\u0142o\u017cy\u0107 wiele wysi\u0142ku, bo nale\u017cy wyda\u0107 polecenie Kubernetes do wdro\u017cenia i \u015bledzi\u0107, co tam si\u0119 dzieje \u2014 czy rzeczywi\u015bcie si\u0119 wdro\u017cy\u0142o, czy te\u017c nie. A jest wiele zada\u0144 zwi\u0105zanych z deploymentem, oczyszczaniem i budowaniem.<\/p>\n<h2>Plany<\/h2>\n<p>\nW tym roku przechodzimy do lokalnego rozwoju. Chcemy osi\u0105gn\u0105\u0107 to, co wcze\u015bniej by\u0142o w Vagrant \u2013 wpisali\u015bmy 'vagrant up' i uruchomi\u0142y si\u0119 wirtualne maszyny. D\u0105\u017cymy do tego, by przy projekcie w Git mo\u017cna by\u0142o napisa\u0107 'werf up', a on uruchamia\u0142 lokaln\u0105 kopi\u0119 tego projektu, wdro\u017con\u0105 w lokalnym mini-Kub, z pod\u0142\u0105czonymi wszystkimi katalogami wygodnymi do rozwoju. W zale\u017cno\u015bci od j\u0119zyka programowania, to jest realizowane w r\u00f3\u017cny spos\u00f3b, niemniej jednak chcemy, aby lokalny rozw\u00f3j by\u0142 wygodny przy zamontowanych plikach.<\/p>\n<p>Nast\u0119pnym krokiem dla nas jest znacz\u0105co <b>inwestowa\u0107 w wygod\u0119 dla programist\u00f3w<\/b>. Aby jednym narz\u0119dziem szybko lokalnie uruchomi\u0107 projekt, rozwija\u0107 go, przes\u0142a\u0107 do Gita, a on z pewno\u015bci\u0105 trafi na stage lub do test\u00f3w, w zale\u017cno\u015bci od pipeline'\u00f3w, a potem tym samym narz\u0119dziem trafi na produkcj\u0119. To jedno\u015b\u0107, unifikacja, reprodukowalno\u015b\u0107 infrastruktury od lokalnego \u015brodowiska do produkcji jest dla nas bardzo wa\u017cnym aspektem. Ale tego nie ma jeszcze w werf \u2013 planujemy to zrobi\u0107.<\/p>\n<p>Jednak droga do dapp\/werf by\u0142a zawsze taka sama, jak z Kubernetes na pocz\u0105tku. Napotykali\u015bmy problemy, rozwi\u0105zywali\u015bmy je okr\u0119\u017cnymi drogami \u2013 wymy\u015blali\u015bmy dla siebie jakie\u015b rozwi\u0105zania w shellu, na czymkolwiek. Potem starali\u015bmy si\u0119 te okr\u0119\u017cne drogi jako\u015b upro\u015bci\u0107, uog\u00f3lni\u0107 i skonsolidowa\u0107 w binariach, kt\u00f3rymi po prostu si\u0119 dzielimy.<\/p>\n<p>Jest jeszcze inny punkt widzenia na t\u0119 ca\u0142\u0105 histori\u0119, z analogiami. <\/p>\n<blockquote><p>Kubernetes to rama samochodu z silnikiem. Nie ma drzwi, szyb, radia, choinki \u2013 nie ma nic. Tylko rama i silnik. I jest Helm \u2013 to kierownica. Fajnie \u2013 kierownica jest, ale potrzebne s\u0105 jeszcze wspornik kierownicy, przek\u0142adnia kierownicza, skrzynia bieg\u00f3w i ko\u0142a, a bez nich ani rusz.<\/p><\/blockquote>\n<p>\nW przypadku werf \u2013 to jeszcze jeden komponent do Kubernetes. Tylko teraz mamy w wersji alfa werf, na przyk\u0142ad, Helm kompiluje si\u0119 ca\u0142kowicie wewn\u0105trz werf, poniewa\u017c znudzi\u0142o nam si\u0119 robienie tego samodzielnie. Wielu powod\u00f3w, dla kt\u00f3rych tak zrobili\u015bmy, dok\u0142adnie opisz\u0119, dlaczego skompilowali\u015bmy helm razem z tillerem wewn\u0105trz werf. <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\/abstracts\/5136\">na wyk\u0142adzie na RIT++<\/a><\/noindex>.<\/p>\n<p>Obecnie werf to bardziej zintegrowany komponent. Otrzymujemy gotow\u0105 kierownic\u0119, o\u015b kierownicz\u0105 - nie znam si\u0119 na samochodach, ale to du\u017cy blok, kt\u00f3ry rozwi\u0105zuje ju\u017c do\u015b\u0107 szeroki zakres problem\u00f3w. Nie musimy przeszukiwa\u0107 katalogu, dobiera\u0107 jedn\u0105 cz\u0119\u015b\u0107 do drugiej, my\u015ble\u0107, jak je ze sob\u0105 po\u0142\u0105czy\u0107. Dostajemy gotowy kombajn, kt\u00f3ry od razu rozwi\u0105zuje du\u017c\u0105 paczk\u0119 zada\u0144. Ale wewn\u0105trz jest zbudowany z tych samych komponent\u00f3w open source, r\u00f3wnie\u017c wykorzystujemy Dockera do budowy, Helma do cz\u0119\u015bci funkcjonalno\u015bci, a tak\u017ce kilka innych bibliotek. To zintegrowane narz\u0119dzie, aby szybko i wygodnie uzyska\u0107 \u015bwietne CI\/CD z pude\u0142ka.<\/p>\n<h2>Czy trudno jest utrzyma\u0107 Kubernetes?<\/h2>\n<p>\n<b>\u2014 Opowiadasz o do\u015bwiadczeniach, jakie mieli\u015bcie z Kubernetes, to dla was rama, silnik, i mo\u017cna na nim wiele r\u00f3\u017cnych rzeczy zamontowa\u0107: obudow\u0119, kierownic\u0119, przymontowa\u0107 peda\u0142y, fotele. Pojawia si\u0119 pytanie - jak trudne jest dla was utrzymanie Kubernetes? Macie bogate do\u015bwiadczenie, ile czasu i zasob\u00f3w po\u015bwi\u0119cacie na utrzymanie Kubernetes w oderwaniu od wszystkiego innego?<\/b><\/p>\n<p><b>Dmitrij<\/b>: To bardzo trudne pytanie i aby odpowiedzie\u0107, trzeba zrozumie\u0107, co to znaczy utrzymywa\u0107 i czego chcemy od Kubernetes. Mo\u017ce to wyja\u015bnisz?<\/p>\n<p><b>\u2014 Z tego, co wiem i jak widz\u0119, wiele zespo\u0142\u00f3w chce spr\u00f3bowa\u0107 Kubernetes. Wszyscy si\u0119 w to anga\u017cuj\u0105, instaluj\u0105 na kolanie. Mam wra\u017cenie, \u017ce ludzie nie zawsze rozumiej\u0105 z\u0142o\u017cono\u015b\u0107 tego systemu.<\/b><\/p>\n<p><b>Dmitrij<\/b>: Zgadza si\u0119.<\/p>\n<p><b>\u2014 Jak trudne jest wzi\u0119cie i postawienie Kubernetes z niczego, aby by\u0142o gotowe do produkcji?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Jak my\u015blisz, jak trudno jest przeszczepi\u0107 serce? Rozumiem, to kompromituj\u0105ce pytanie. Operowa\u0107 skalpelem i nie pope\u0142ni\u0107 b\u0142\u0119du - to nie jest a\u017c tak trudne. Je\u015bli kto\u015b ci m\u00f3wi, gdzie odci\u0105\u0107, a gdzie zaszy\u0107, to sama procedura nie jest skomplikowana. Trudno jednak zagwarantowa\u0107, \u017ce za ka\u017cdym razem wszystko si\u0119 uda.<\/p>\n<blockquote><p>Zainstalowanie Kubernetes i uruchomienie go jest proste: cyk! \u2014 zainstalowane, istnieje mn\u00f3stwo sposob\u00f3w instalacji. Ale co si\u0119 stanie, gdy pojawi\u0105 si\u0119 problemy?<\/p><\/blockquote>\n<p>\nZawsze pojawiaj\u0105 si\u0119 pytania - czego jeszcze nie uwzgl\u0119dnili\u015bmy? Co jeszcze nie zrobili\u015bmy? Jakie parametry j\u0105dra Linuxa okre\u015blili\u015bmy b\u0142\u0119dnie? Bo\u017ce, a w og\u00f3le je okre\u015blili\u015bmy?! Jakie komponenty Kubernetes zainstalowali\u015bmy, a jakich nie? Pojawia si\u0119 tysi\u0105ce pyta\u0144, a \u017ceby na nie odpowiedzie\u0107, trzeba 15-20 lat zaawansowanej pracy w tej bran\u017cy.<\/p>\n<p>Mam \u015bwie\u017cy przyk\u0142ad na ten temat, kt\u00f3ry mo\u017ce wyja\u015bni\u0107 kwesti\u0119 'Czy trudno jest obs\u0142ugiwa\u0107 Kubernetes?'. Jaki\u015b czas temu powa\u017cnie rozwa\u017cali\u015bmy mo\u017cliwo\u015b\u0107 wdro\u017cenia Cilium jako sieci w Kubernetes.<\/p>\n<p>Wyja\u015bni\u0119, czym jest Cilium. W Kubernetes istnieje wiele r\u00f3\u017cnych realizacji systemu sieciowego, a jedna z nich jest naprawd\u0119 \u015bwietna \u2014 to Cilium. Jaki jest jej sens? W j\u0105drze jaki\u015b czas temu pojawi\u0142a si\u0119 mo\u017cliwo\u015b\u0107 pisania hak\u00f3w do j\u0105dra, kt\u00f3re w jaki\u015b spos\u00f3b ingeruj\u0105 w system sieciowy i r\u00f3\u017cne inne podsystemy, umo\u017cliwiaj\u0105c omini\u0119cie du\u017cych fragment\u00f3w w j\u0105drze.<\/p>\n<p>W j\u0105drze Linuxa historycznie s\u0105 ip rout, nadfiltry, mostki i wiele r\u00f3\u017cnych starych komponent\u00f3w, kt\u00f3re maj\u0105 po 15, 20, 30 lat. Og\u00f3lnie rzecz bior\u0105c, dzia\u0142aj\u0105, wszystko jest w porz\u0105dku, ale teraz jest mn\u00f3stwo kontener\u00f3w, a to wygl\u0105da jak wie\u017ca z 15 cegie\u0142 jedna na drugiej, a ty stoisz na niej na jednej nodze \u2014 dziwne uczucie. Ten system rozwija\u0142 si\u0119 historycznie z wieloma niuansami, jak wyrostek w organizmie. W niekt\u00f3rych sytuacjach wyst\u0119puj\u0105 problemy z wydajno\u015bci\u0105, na przyk\u0142ad.<\/p>\n<p>Jest wspania\u0142y BPF i mo\u017cliwo\u015b\u0107 pisania hak\u00f3w do j\u0105dra \u2014 ch\u0142opaki napisali swoje haki do j\u0105dra. Pakiet dociera do j\u0105dra Linuxa, oni go bezpo\u015brednio przy wej\u015bciu wyci\u0105gaj\u0105, przetwarzaj\u0105 wed\u0142ug potrzeb bez mostk\u00f3w, bez TCP, bez stosu IP \u2014 kr\u00f3tko m\u00f3wi\u0105c, omijaj\u0105 wszystko, co zosta\u0142o napisane w j\u0105drze Linuxa, a potem od razu wypuszczaj\u0105 do kontenera.<\/p>\n<p>Co z tego wysz\u0142o? Bardzo dobra wydajno\u015b\u0107, \u015bwietne funkcje \u2014 po prostu rewelacja! Ale patrzymy na to i widzimy, \u017ce na ka\u017cdej maszynie dzia\u0142a program, kt\u00f3ry \u0142\u0105czy si\u0119 z API Kubernetes i na podstawie danych, kt\u00f3re otrzymuje z tego API, generuje kod C i kompiluje binaria, kt\u00f3re \u0142aduje do j\u0105dra, aby te haki dzia\u0142a\u0142y w przestrzeni j\u0105dra.<\/p>\n<p>Co si\u0119 stanie, je\u015bli co\u015b p\u00f3jdzie nie tak? Nie wiemy. Aby to zrozumie\u0107, trzeba przeczyta\u0107 ca\u0142y ten kod, poj\u0105\u0107 ca\u0142\u0105 logik\u0119, a to jest naprawd\u0119 skomplikowane. Ale z drugiej strony s\u0105 te mostki, filtry net, ip rout \u2014 nie czyta\u0142em ich \u017ar\u00f3de\u0142, a 40 in\u017cynier\u00f3w w naszej firmie r\u00f3wnie\u017c. Mo\u017ce zdarzaj\u0105 si\u0119 pojedyncze osoby, kt\u00f3re rozumiej\u0105 niekt\u00f3re fragmenty.<\/p>\n<p>I\u00a0jaka\u00a0jest r\u00f3\u017cnica? Wygl\u0105da na to, \u017ce istnieje ip\u00a0route, j\u0105dro Linux, a\u00a0jest\u00a0nowe narz\u0119dzie \u2014 jaka r\u00f3\u017cnica, nie\u00a0rozumiemy ani jednego, ani drugiego. Ale\u00a0boimy si\u0119 u\u017cywa\u0107 nowego \u2014 dlaczego? Poniewa\u017c je\u015bli narz\u0119dzie ma 30\u00a0lat, to przez\u00a030\u00a0lat znaleziono wszystkie b\u0142\u0119dy, na\u00a0wszystkie pu\u0142apki natkni\u0119to si\u0119 i\u00a0nie\u00a0trzeba wiedzie\u0107 o\u00a0wszystkim \u2014 dzia\u0142a jak czarna skrzynka i\u00a0zawsze dzia\u0142a. Wszyscy wiedz\u0105, jak\u0105 diagnostyczn\u0105 \u015brubokr\u0119t w\u00a0jakie miejsce w\u0142o\u017cy\u0107, jaki tcpdump w\u00a0jakim momencie uruchomi\u0107. Wszyscy dobrze znaj\u0105 narz\u0119dzia diagnostyczne i\u00a0rozumiej\u0105, jak ten zestaw komponent\u00f3w dzia\u0142a w\u00a0j\u0105drze Linux \u2014 nie\u00a0jak jest skonstruowany, ale\u00a0jak go\u00a0u\u017cywa\u0107.<\/p>\n<p>A\u00a0\u015bwietne Cilium nie\u00a0ma 30\u00a0lat, nie\u00a0jest jeszcze wypr\u00f3bowane. Z\u00a0Kubernetes jest ta sama\u00a0problematyka, kopia. To\u00a0znaczy, \u017ce Cilium instalujesz bez problemu, \u017ce Kubernetes te\u017c\u00a0instalujesz bez problemu, ale\u00a0gdy co\u015b nie\u00a0p\u00f3jdzie w\u00a0produkcji, czy\u00a0jeste\u015b w\u00a0stanie szybko zrozumie\u0107, co posz\u0142o nie\u00a0tak w\u00a0krytycznej sytuacji? <\/p>\n<blockquote><p>Kiedy m\u00f3wimy, czy\u00a0trudno jest utrzyma\u0107 Kubernetes \u2014 nie, bardzo prosto, i\u00a0tak, niesamowicie ci\u0119\u017cko. Kubernetes doskonale dzia\u0142a samodzielnie, ale\u00a0z\u00a0milionem szczeg\u00f3\u0142\u00f3w.<\/p><\/blockquote>\n<p><\/p>\n<h2>O podej\u015bciu \u201ePojdzie mi\u00a0jak po\u00a0ma\u015ble\u201d<\/h2>\n<p>\n<b>\u2014 A\u00a0czy\u00a0s\u0105 firmy, gdzie te szczeg\u00f3\u0142y prawie na pewno si\u0119 pojawi\u0105? Za\u0142\u00f3\u017cmy, \u017ce Yandex nagle przeprowadzi wszystkie serwisy na\u00a0Kubernetes, b\u0119dzie tam ogromne obci\u0105\u017cenie.<\/b><\/p>\n<p><b>Dmitrij<\/b>: Nie, to\u00a0nie\u00a0jest rozmowa o\u00a0obci\u0105\u017ceniu, a\u00a0o\u00a0najprostszych rzeczach. Na przyk\u0142ad, mamy Kubernetes, wdro\u017cyli\u015bmy tam aplikacj\u0119. Jak zrozumie\u0107, \u017ce dzia\u0142a? Nie\u00a0ma gotowego narz\u0119dzia, \u017ceby zrozumie\u0107, \u017ce aplikacja nie\u00a0si\u0119 zawiesza, po prostu nie\u00a0ma. Nie\u00a0ma gotowego systemu, kt\u00f3ry wysy\u0142a alerty \u2014 trzeba skonfigurowa\u0107 te alerty i\u00a0ka\u017cdy wykres. A\u00a0my\u00a0w\u0142a\u015bnie aktualizujemy Kubernetes.<\/p>\n<p>Jest Ubuntu 16.04. Mo\u017cna powiedzie\u0107, \u017ce to stara wersja, ale wci\u0105\u017c na niej jeste\u015bmy, poniewa\u017c tam jest LTS. Jest tam systemd, kt\u00f3rego szczeg\u00f3\u0142 polega na tym, \u017ce nie oczyszcza C-grup. Kubernetes uruchamia pody, tworzy C-grupy, a potem je usuwa i jako\u015b tak wychodzi \u2013 nie pami\u0119tam szczeg\u00f3\u0142\u00f3w, przepraszam \u2013 \u017ce pozostaj\u0105 fragmenty systemd. To prowadzi do tego, \u017ce z czasem ka\u017cda maszyna zaczyna mocno si\u0119 zacina\u0107. To nawet nie jest kwestia du\u017cego obci\u0105\u017cenia. Je\u015bli uruchamiane s\u0105 sta\u0142e pody, na przyk\u0142ad, je\u015bli jest Cron Job, kt\u00f3ry nieustannie generuje pody, to maszyna z Ubuntu 16.04 po tygodniu zacznie si\u0119 zaci\u0105\u0107. B\u0119dzie tam stale wysoki \u015bredni load ze wzgl\u0119du na to, \u017ce stworzono mas\u0119 C-grup. To problem, z kt\u00f3rym spotyka si\u0119 ka\u017cdy, kto po prostu zainstaluje Ubuntu 16 i uruchomi Kubernetes.<\/p>\n<p>Za\u0142\u00f3\u017cmy, \u017ce jako\u015b zaktualizuje systemd lub co\u015b innego, ale w j\u0105drze Linux do wersji 4.16 jest jeszcze \u015bmieszniej \u2013 przy usuwaniu C-grup w j\u0105drze pojawiaj\u0105 si\u0119 usterki i faktycznie nie s\u0105 usuwane. Dlatego po miesi\u0105cu pracy na tej maszynie b\u0119dzie niemo\u017cliwe zerkni\u0119cie na statystyki pami\u0119ci wed\u0142ug pod\u00f3w. Wyci\u0105gamy plik, kr\u0119cimy w progu, a jeden plik kr\u0119ci si\u0119 15 sekund, poniewa\u017c j\u0105dro bardzo d\u0142ugo oblicza wewn\u0119trznie milion C-grup, kt\u00f3re niby s\u0105 usuni\u0119te, ale nie \u2013 one si\u0119 pojawiaj\u0105.<\/p>\n<p>Takich drobiazg\u00f3w wci\u0105\u017c jest mn\u00f3stwo tam i tu. To nie jest problem, z kt\u00f3rym mog\u0105 si\u0119 czasami zmaga\u0107 gigantyczne firmy przy du\u017cych obci\u0105\u017ceniach \u2013 nie, to jest kwestia codziennych spraw. Ludzie mog\u0105 tak \u017cy\u0107 przez miesi\u0105ce \u2013 zainstalowali Kubernetes, wdro\u017cyli aplikacj\u0119 \u2013 niby dzia\u0142a. Wiele os\u00f3b tak ma. O tym, \u017ce kiedy\u015b ta aplikacja z jakiego\u015b powodu si\u0119 zawali, nawet si\u0119 nie dowiedz\u0105, alert nie przyjdzie, ale dla nich to norma. Kiedy\u015b \u017cyli na wirtualkach bez monitoringu, teraz przeszli do Kubernetes r\u00f3wnie\u017c bez monitoringu \u2013 jaka r\u00f3\u017cnica?<\/p>\n<p>Pytanie polega na tym, \u017ce kiedy chodzimy po lodzie, nigdy nie wiemy, jaka jest jego grubo\u015b\u0107, je\u015bli nie zmierzyli\u015bmy tego wcze\u015bniej. Wielu chodzi i si\u0119 nie przejmuje, bo wcze\u015bniej ju\u017c chodzili.<\/p>\n<blockquote><p>Z mojego punktu widzenia, szczeg\u00f3\u0142 i trudno\u015b\u0107 w eksploatacji jakiegokolwiek systemu polega na tym, aby zapewni\u0107, \u017ce grubo\u015bci lodu na pewno wystarczy, aby rozwi\u0105za\u0107 nasze zadania. O to chodzi.<\/p><\/blockquote>\n<p>\nW IT, uwa\u017cam, jest zbyt wiele podej\u015b\u0107 \"Mo\u017ce mi si\u0119 uda\". Wiele os\u00f3b instaluje oprogramowanie, korzysta z bibliotek programistycznych w nadziei, \u017ce im si\u0119 poszcz\u0119\u015bci. Generalnie, wielu si\u0119 udaje. Prawdopodobnie dlatego to dzia\u0142a.<\/p>\n<p><b>- Z mojej pesymistycznej oceny wygl\u0105da to tak: gdy ryzyka s\u0105 du\u017ce, a aplikacja musi dzia\u0142a\u0107, potrzebne jest wsparcie od \"Flanta\", by\u0107 mo\u017ce od Red Hat, lub wymagana jest w\u0142asna wewn\u0119trzna dru\u017cyna, specjalnie dedykowana Kubernetesowi, kt\u00f3ra jest gotowa si\u0119 nim zajmowa\u0107.<\/b><\/p>\n<p><b>Dmitrij<\/b>: Obiektywnie m\u00f3wi\u0105c, to prawda. Zajmowanie si\u0119 Kubernetesem na w\u0142asn\u0105 r\u0119k\u0119 w ma\u0142ej grupie to pewna ilo\u015b\u0107 ryzyk.<\/p>\n<h2>Czy potrzebujemy kontener\u00f3w?<\/h2>\n<p>\n<b>- Mo\u017cesz opowiedzie\u0107, jak bardzo Kubernetes jest popularny w Rosji?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Nie mam tych danych i nie jestem pewien, czy ktokolwiek je ma. M\u00f3wimy: \"Kubernetes, Kubernetes\", a jest jeszcze inny punkt widzenia na t\u0119 spraw\u0119. Nie wiem, jak powszechne s\u0105 kontenery, ale znam liczb\u0119 z raport\u00f3w w internecie, \u017ce 70% kontener\u00f3w orkiestruje Kubernetes. To by\u0142 wiarygodny \u017ar\u00f3d\u0142o na do\u015b\u0107 du\u017cej pr\u00f3bce na ca\u0142ym \u015bwiecie.<\/p>\n<p><b>Kolejne pytanie - czy potrzebujemy kontener\u00f3w?<\/b> Mam osobiste odczucie i og\u00f3ln\u0105 pozycj\u0119 firmy \"Flant\", \u017ce Kubernetes to standard de facto.<\/p>\n<blockquote><p>Nic poza Kubernetesem nie b\u0119dzie.<\/p><\/blockquote>\n<p>\nTo absolutny prze\u0142om w zarz\u0105dzaniu infrastruktur\u0105. Po prostu absolutny - koniec z Ansible, Chef, maszynami wirtualnymi, Terraform. Nie m\u00f3wi\u0119 ju\u017c o starych, cha\u0142upniczych metodach. <b>Kubernetes to absolutny zmieniacz<\/b>, a teraz tylko tak b\u0119dzie.<\/p>\n<p>Jasne jest, \u017ce niekt\u00f3rzy potrzebuj\u0105 kilku lat, a niekt\u00f3rzy kilkunastu, aby to zrozumie\u0107. Nie mam w\u0105tpliwo\u015bci, \u017ce nie b\u0119dzie nic poza Kubernetesem i tym nowym spojrzeniem: ju\u017c nie ranimy systemu operacyjnego, a wykorzystujemy <b>infrastructure as code<\/b>, tylko nie z kodem, a z yml - deklaratywnie opisan\u0105 infrastruktur\u0119. Mam wra\u017cenie, \u017ce tak b\u0119dzie zawsze.<\/p>\n<p><b>- Czyli te firmy, kt\u00f3re jeszcze nie przesz\u0142y na Kubernetes, na pewno przejd\u0105 na niego lub pozostan\u0105 w zapomnieniu. Dobrze ci\u0119 zrozumia\u0142em?<\/b><\/p>\n<p><b>Dmitrij<\/b>: To r\u00f3wnie\u017c nie jest do ko\u0144ca prawda. Na przyk\u0142ad, je\u015bli mamy zadanie uruchomienia serwera DNS, mo\u017cna go uruchomi\u0107 na FreeBSD 4.10 i mo\u017ce on dzia\u0142a\u0107 doskonale przez 20 lat. Po prostu dzia\u0142a i tyle. By\u0107 mo\u017ce przez te 20 lat trzeba b\u0119dzie co\u015b zaktualizowa\u0107 raz. Je\u015bli m\u00f3wimy o oprogramowaniu w formacie, kt\u00f3re uruchomili\u015bmy i naprawd\u0119 dzia\u0142a od wielu lat bez \u017cadnych aktualizacji, bez wprowadzania zmian, to oczywi\u015bcie tam nie b\u0119dzie Kubernetes. Nie jest tam potrzebny.<\/p>\n<blockquote><p>Wszystko, co dotyczy CI\/CD \u2014 wsz\u0119dzie, gdzie potrzebne jest Continuous Delivery, gdzie wymagana jest aktualizacja wersji, wprowadzanie aktywnych zmian, wsz\u0119dzie, gdzie trzeba zbudowa\u0107 odporno\u015b\u0107 na awarie \u2014 tylko Kubernetes.<\/p><\/blockquote>\n<p><\/p>\n<h2>O mikroserwisach<\/h2>\n<p>\n<b>\u2014 Tutaj pojawia si\u0119 u mnie ma\u0142y dysonans. Aby pracowa\u0107 z Kubernetes, potrzebne jest wsparcie zewn\u0119trzne lub wewn\u0119trzne \u2014 to pierwszy punkt. Drugi \u2014 gdy dopiero zaczynamy rozw\u00f3j, jeste\u015bmy ma\u0142ym startupem, nie mamy jeszcze nic, rozw\u00f3j pod Kubernetes lub w og\u00f3le pod architektur\u0119 mikroserwisow\u0105 mo\u017ce by\u0107 trudny i nie zawsze op\u0142acalny ekonomicznie. Interesuje mnie twoje zdanie \u2014 czy startupy od zera od razu powinny zaczyna\u0107 pisa\u0107 pod Kubernetes, czy mo\u017ce jednak mo\u017cna najpierw napisa\u0107 monolit, a dopiero potem przej\u015b\u0107 do Kubernetes?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Fajne pytanie. Mam prezentacj\u0119 o mikroserwisach. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424531\/\">\u201eMikroserwisy: rozmiar ma znaczenie\u201d.<\/a><\/noindex> Wiele razy spotyka\u0142em si\u0119 z sytuacj\u0105, w kt\u00f3rej ludzie pr\u00f3buj\u0105 wbija\u0107 gwo\u017adzie mikroskopem. Sam w sobie model jest w\u0142a\u015bciwy, my projektujemy nasze wewn\u0119trzne oprogramowanie w\u0142a\u015bnie w ten spos\u00f3b. Ale kiedy to robisz, musisz dok\u0142adnie wiedzie\u0107, co robisz. Najbardziej w mikroserwisach nienawidz\u0119 s\u0142owa \u201emikro\u201d. Historycznie tak si\u0119 to u\u0142o\u017cy\u0142o i z jakiego\u015b powodu ludzie my\u015bl\u0105, \u017ce mikro to bardzo ma\u0142e, mniejsze ni\u017c milimetr, jak mikrometr. To nieprawda.<\/p>\n<p>Na przyk\u0142ad, jest monolit, nad kt\u00f3rym pracuje 300 os\u00f3b, i wszyscy, kt\u00f3rzy brali udzia\u0142 w jego rozwoju, wiedz\u0105, \u017ce s\u0105 tam problemy, i nale\u017cy go podzieli\u0107 na mniejsze kawa\u0142ki \u2014 powiedzmy na 10, z kt\u00f3rych ka\u017cdy pisze 30 os\u00f3b w minimalnej wersji. To wa\u017cne, potrzebne i fantastyczne. Ale gdy przychodzi do nas startup, w kt\u00f3rym 3 bardzo utalentowanych ch\u0142opak\u00f3w napisa\u0142o na kolanie 60 mikroserwis\u00f3w, za ka\u017cdym razem szukam korwalolu.<\/p>\n<p>Wydaje mi si\u0119, \u017ce o tym m\u00f3wi\u0142o si\u0119 ju\u017c tysi\u0105ce razy \u2013 otrzymali\u015bmy rozproszony monolit w jednej lub drugiej formie. To ekonomicznie nieuzasadnione, bardzo trudne w og\u00f3le we wszystkim. Po prostu widzia\u0142em to tyle razy, \u017ce naprawd\u0119 mnie to boli, dlatego wci\u0105\u017c o tym m\u00f3wi\u0119.<\/p>\n<p>Wracaj\u0105c do pocz\u0105tkowego pytania, istnieje konflikt mi\u0119dzy tym, \u017ce z jednej strony Kubernetes jest straszny w u\u017cyciu, poniewa\u017c nie wiadomo, co mo\u017ce si\u0119 zepsu\u0107 lub nie dzia\u0142a\u0107, a z drugiej strony jasne jest, \u017ce wszystko idzie w tym kierunku i nic poza Kubernetesem nie b\u0119dzie. Odpowied\u017a to - <b>wa\u017cy\u0107 korzy\u015bci, kt\u00f3re przynosz\u0105, oraz zadania, kt\u00f3re mo\u017cesz rozwi\u0105za\u0107.<\/b>. To z jednej strony wagi. Z drugiej strony - ryzyka zwi\u0105zane z przestojem lub spadkiem czasu reakcji, poziomu dost\u0119pno\u015bci - ze spadkiem wska\u017anik\u00f3w wydajno\u015bci.<\/p>\n<p>Tu jest tak \u2013 albo musimy si\u0119 szybko porusza\u0107, a Kubernetes pozwala wykonywa\u0107 wiele rzeczy znacznie szybciej i lepiej, albo u\u017cywamy niezawodnych rozwi\u0105za\u0144 sprawdzonych w czasie, ale idziemy znacznie wolniej. Ten wyb\u00f3r powinna podejmowa\u0107 ka\u017cda firma. Mo\u017cna to por\u00f3wna\u0107 do \u015bcie\u017cki w d\u017cungli - gdy idziesz pierwszy raz, mo\u017cesz spotka\u0107 w\u0119\u017ca, tygrysa lub szalonego borsuka, a gdy przeszed\u0142e\u015b 10 razy - utorowa\u0142e\u015b szlak, usun\u0105\u0142e\u015b ga\u0142\u0119zie i idzie si\u0119 \u0142atwiej. Z ka\u017cdym razem \u015bcie\u017cka staje si\u0119 szersza. Potem to ju\u017c asfaltowana droga, a p\u00f3\u017aniej pi\u0119kny bulwar.<\/p>\n<p>Kubernetes nie stoi w miejscu. Znowu pytanie: z jednej strony Kubernetes to 4-5 binarek, z drugiej - to ca\u0142y ekosystem. To system operacyjny, kt\u00f3ry mamy na maszynach. Co to jest? Ubuntu czy Curios? To j\u0105dro Linuxa, mn\u00f3stwo dodatkowych komponent\u00f3w. Wszystkie te rzeczy tutaj wyrzuci\u0142y jednego jadowitego w\u0119\u017ca z drogi, tam postawiono p\u0142ot. Kubernetes rozwija si\u0119 bardzo szybko i dynamicznie, a ryzyko oraz obszar nieznanego zmniejsza si\u0119 z ka\u017cdym miesi\u0105cem, a tym samym te wagi r\u00f3wnowa\u017c\u0105 si\u0119.<\/p>\n<p>Odpowiadaj\u0105c na pytanie, co zrobi\u0107 z startupem, powiedzia\u0142bym - przyjd\u017acie do \u201eFlanta\u201d, zap\u0142a\u0107cie 150 tysi\u0119cy rubli i otrzymajcie pod klucz us\u0142ug\u0119 DevOps easy service. Je\u015bli jeste\u015bcie ma\u0142ym startupem z kilkoma programistami - to dzia\u0142a. Zamiast zatrudnia\u0107 w\u0142asnego DevOps, kt\u00f3ry b\u0119dzie musia\u0142 nauczy\u0107 si\u0119 rozwi\u0105zywa\u0107 wasze problemy i p\u0142aci\u0107 mu w tym czasie wynagrodzenie, otrzymacie rozwi\u0105zanie wszystkich pyta\u0144 pod klucz. Tak, s\u0105 pewne minusy. Jako outsourcer nie mo\u017cemy by\u0107 tak zaanga\u017cowani i szybko reagowa\u0107 na wprowadzanie zmian. Ale mamy mn\u00f3stwo wiedzy i gotowych praktyk. Gwarantujemy, \u017ce w ka\u017cdej sytuacji szybko zrozumiemy i podniesiemy z martwych ka\u017cdy Kubernetes. <\/p>\n<blockquote><p>Kategorycznie polecam outsourcing startupom oraz ugruntowanym firmom do momentu, gdy mo\u017cecie przeznaczy\u0107 na eksploatacj\u0119 zesp\u00f3\u0142 z\u0142o\u017cony z 10 os\u00f3b, poniewa\u017c w przeciwnym razie nie ma sensu. Outsourcing ma zdecydowanie sens.<\/p><\/blockquote>\n<p><\/p>\n<h2>O Amazonie i Google'u<\/h2>\n<p>\n<b>\u2014 Czy mo\u017cna rozwa\u017ca\u0107 hosting od Amazon lub Google jako outsourcing?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Tak, oczywi\u015bcie, to rozwi\u0105zuje pewn\u0105 liczb\u0119 problem\u00f3w. Ale zn\u00f3w s\u0105 niuanse. Nadal trzeba wiedzie\u0107, jak to wykorzysta\u0107. Na przyk\u0142ad, w pracy z Amazon AWS jest tysi\u0105ce drobiazg\u00f3w: Load Balancer trzeba podgrzewa\u0107 lub wcze\u015bniej z\u0142o\u017cy\u0107 wniosek, \u017ce \"ch\u0142opaki, przyjdzie nam ruch, podgrzejcie nam Load Balancer!\" Te niuanse trzeba zna\u0107.<\/p>\n<p>Kiedy zwracacie si\u0119 do ludzi, kt\u00f3rzy si\u0119 na tym specjalizuj\u0105, otrzymujecie niemal wszystkie typowe rzeczy zamkni\u0119te. Mamy teraz 40 in\u017cynier\u00f3w, do ko\u0144ca roku b\u0119dzie ich prawdopodobnie 60 - na pewno z wszystkim tymi sprawami mieli\u015bmy do czynienia. Nawet je\u015bli w jakim\u015b projekcie znowu napotkamy ten problem, szybko si\u0119 pytamy i wiemy, jak go rozwi\u0105za\u0107.<\/p>\n<p>Prawdopodobnie odpowied\u017a jest taka - oczywi\u015bcie, hosted-history u\u0142atwia pewn\u0105 cz\u0119\u015b\u0107. Pytanie, czy jeste\u015bcie gotowi zaufa\u0107 tym hosterom, i czy rozwi\u0105\u017c\u0105 wasze problemy. Amazon i Google dobrze si\u0119 sprawdzi\u0142y. Dla wszystkich naszych przypadk\u00f3w - zdecydowanie. Nie mamy innych pozytywnych do\u015bwiadcze\u0144. Wszystkie inne chmury, z kt\u00f3rymi pr\u00f3bowali\u015bmy pracowa\u0107, stwarza\u0142y bardzo wiele problem\u00f3w - i Ager, i wszystko, co jest w Rosji, i wszelkie OpenStack w r\u00f3\u017cnych realizacjach: Headster, Overage - cokolwiek chcecie. Wszystkie one stwarzaj\u0105 problemy, kt\u00f3rych nie chcemy rozwi\u0105zywa\u0107.<\/p>\n<p>Dlatego odpowied\u017a brzmi - tak, ale w rzeczywisto\u015bci dojrza\u0142ych rozwi\u0105za\u0144 hosted jest bardzo ma\u0142o.<\/p>\n<h2>Kto potrzebuje Kubernetes?<\/h2>\n<p>\n<b>\u2014 A jednak, kto potrzebuje Kubernetes? Kto powinien ju\u017c przej\u015b\u0107 na Kubernetes, kto jest typowym klientem \"Flanta\", kt\u00f3ry przychodzi w\u0142a\u015bnie po Kubernetes?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Ciekawe pytanie, poniewa\u017c teraz na fali Kubernetes przychodzi do nas wielu: \"Ch\u0142opaki, wiemy, \u017ce zajmujecie si\u0119 Kubernetes, zr\u00f3bcie to dla nas!\". Odpowiadamy: \"Panie, nie zajmujemy si\u0119 Kubernetes, zajmujemy si\u0119 produkcj\u0105 i wszystkim, co si\u0119 z tym wi\u0105\u017ce\". Poniewa\u017c nie da si\u0119 stworzy\u0107 produkcji bez ca\u0142ego CI\/CD i ca\u0142ej tej historii \u2014 w obecnych czasach to po prostu niemo\u017cliwe. Wszyscy odeszli od podzia\u0142u, gdzie mamy rozw\u00f3j jako rozw\u00f3j, a potem eksploatacj\u0119 jako eksploatacj\u0119.<\/p>\n<p>Nasi klienci oczekuj\u0105 r\u00f3\u017cnie, ale wszyscy oczekuj\u0105 pewnego dobrego cudu, \u017ce maj\u0105 te czy inne problemy, a teraz \u2014 hop! \u2014 Kubernetes je rozwi\u0105\u017ce. Ludzie wierz\u0105 w cuda. Rozumem zdaj\u0105 sobie spraw\u0119, \u017ce cudu nie b\u0119dzie, ale dusz\u0105 maj\u0105 nadziej\u0119 \u2014 a mo\u017ce ten Kubernetes teraz wszystko rozwi\u0105\u017ce, tyle o nim m\u00f3wi\u0105! Mo\u017ce on teraz \u2014 psik! \u2014 i srebrna kula, psik! \u2014 i mamy 100% uptime, wszyscy deweloperzy mog\u0105 wydawa\u0107 co popadnie na produkcj\u0119, a to nie pada. Generalnie, cud!<\/p>\n<p>Kiedy tacy ludzie do nas przychodz\u0105, m\u00f3wimy: \"Przepraszam, ale cuda si\u0119 nie zdarzaj\u0105\". Aby by\u0107 zdrowym, trzeba dobrze si\u0119 od\u017cywia\u0107 i uprawia\u0107 sport. Aby mie\u0107 niezawodn\u0105 produkcj\u0119, trzeba j\u0105 stworzy\u0107 niezawodnie. Aby mie\u0107 wygodne CI\/CD, trzeba je tak zrealizowa\u0107. To du\u017co pracy, kt\u00f3r\u0105 trzeba wykona\u0107.<\/p>\n<blockquote><p>Odpowiadaj\u0105c na pytanie, komu potrzebny jest Kubernetes \u2014 Kubernetes nie jest potrzebny nikomu.<\/p><\/blockquote>\n<p>\nNiekt\u00f3rzy ludzie maj\u0105 b\u0142\u0119dne poczucie, \u017ce potrzebuj\u0105 Kubernetes. Ludzie potrzebuj\u0105, maj\u0105 g\u0142\u0119bok\u0105 potrzeb\u0119 przesta\u0107 my\u015ble\u0107, zajmowa\u0107 si\u0119, interesowa\u0107 si\u0119 w og\u00f3le wszystkimi problemami infrastruktury i problemami uruchamiania ich aplikacji. Chc\u0105, aby aplikacje po prostu dzia\u0142a\u0142y i po prostu si\u0119 wdra\u017ca\u0142y. Dla nich Kubernetes to nadzieja, \u017ce przestan\u0105 s\u0142ysze\u0107 histori\u0119, \u017ce \"le\u017cymy tam\", lub \"nie mo\u017cemy si\u0119 wdro\u017cy\u0107\", lub co\u015b innego.<\/p>\n<p>Zwykle przychodzi do nas dyrektor techniczny. Pyta si\u0119 o dwie rzeczy: z jednej strony, dajcie nam funkcje, z drugiej strony \u2014 stabilno\u015b\u0107. Proponujemy wzi\u0105\u0107 to na siebie i si\u0119 tym zaj\u0105\u0107. Srebrna kula, a dok\u0142adniej m\u00f3wi\u0105c, posrebrzana, polega na tym, \u017ce przestaniesz my\u015ble\u0107 o tych problemach i traci\u0107 czas. B\u0119dziesz mia\u0142 specjalnych ludzi, kt\u00f3rzy zajm\u0105 si\u0119 tym pytaniem.<\/p>\n<blockquote><p>Sformu\u0142owanie, \u017ce potrzebujemy Kubernetes, jest b\u0142\u0119dne.<\/p><\/blockquote>\n<p>\nKubernetes jest bardzo potrzebny administratorom, poniewa\u017c to bardzo interesuj\u0105ca zabawka, z kt\u00f3r\u0105 mo\u017cna bawi\u0107 si\u0119 i grzeba\u0107. B\u0105d\u017amy szczerzy - wszyscy lubimy zabawki. Wszyscy gdzie\u015b s\u0105 dzie\u0107mi, a gdy widzimy now\u0105 zabawk\u0119, chcemy si\u0119 ni\u0105 pobawi\u0107. U niekt\u00f3rych to od zawsze si\u0119 wyczerpa\u0142o, na przyk\u0142ad w administracji, bo ju\u017c si\u0119 nagrali i tak bardzo si\u0119 znudzili, \u017ce po prostu nie maj\u0105 ochoty. Ale jednak nikt ca\u0142kowicie nie straci\u0142 tej pasji. Na przyk\u0142ad, nawet je\u015bli zabawki w obszarze administracji systemowej i DevOps ju\u017c mi si\u0119 znudzi\u0142y, to wci\u0105\u017c lubi\u0119 zabawki i ci\u0105gle kupuj\u0119 jakie\u015b nowe. Ludzie w ko\u0144cu i tak chc\u0105 mie\u0107 jakie\u015b zabawki.<\/p>\n<p>Nie nale\u017cy bawi\u0107 si\u0119 w produkcji. Czego kategorycznie bym nie zaleca\u0142 robi\u0107 i co obserwuj\u0119 teraz masowo: \"A, nowa zabawka!\" - pobiegli\u015bmy j\u0105 kupi\u0107, kupili\u015bmy i: \"Zabierzmy j\u0105 teraz do szko\u0142y, poka\u017cmy wszystkim znajomym\". Nie r\u00f3bcie tak. Przepraszam, moje dzieci dorastaj\u0105, ca\u0142y czas widz\u0119 co\u015b w dzieciach, dostrzegam to w sobie, a potem jeszcze uog\u00f3lniam na innych.<\/p>\n<blockquote><p>Ostateczna odpowied\u017a: nie potrzebujesz Kubernetes. Musisz rozwi\u0105za\u0107 swoje problemy.<\/p><\/blockquote>\n<p>\nMo\u017cna osi\u0105gn\u0105\u0107 to, \u017ce:<\/p>\n<ul>\n<li>produkcja nie pada;\n<\/li>\n<li>nawet je\u015bli pr\u00f3buje upa\u015b\u0107, wiemy o tym wcze\u015bniej i mo\u017cemy co\u015b pod\u0142o\u017cy\u0107;\n<\/li>\n<li>mo\u017cemy zmienia\u0107 go z tak\u0105 pr\u0119dko\u015bci\u0105, jakiej wymagaj\u0105 nasze dzia\u0142ania biznesowe, i robi\u0107 to wygodnie, nie sprawia nam to problemu.\n<\/li>\n<\/ul>\n<p>\nRealne potrzeby to: niezawodno\u015b\u0107 i dynamika\/elastyczno\u015b\u0107 procesu wdra\u017cania. Do wszystkich, kt\u00f3rzy aktualnie realizuj\u0105 jakiekolwiek projekty IT, niezale\u017cnie od bran\u017cy - soft to u\u0142atwienie \u015bwiata, i kt\u00f3rzy to rozumiej\u0105, musz\u0105 rozwi\u0105za\u0107 te potrzeby. Kubernetes, przy w\u0142a\u015bciwym podej\u015bciu, z odpowiednim zrozumieniem i wystarczaj\u0105cym do\u015bwiadczeniem, pozwala te potrzeby spe\u0142nia\u0107.<\/p>\n<h2>Oserverless<\/h2>\n<p>\n<b>Je\u015bli spojrze\u0107 nieco dalej w przysz\u0142o\u015b\u0107, pr\u00f3buj\u0105c rozwi\u0105za\u0107 problem braku b\u00f3lu g\u0142owy z infrastruktur\u0105, szybko\u015bci\u0105 wdra\u017cania i szybko\u015bci\u0105 zmiany aplikacji, pojawiaj\u0105 si\u0119 nowe rozwi\u0105zania, takie jak serverless. Czy dostrzegasz jaki\u015b potencja\u0142 w tym kierunku i, m\u00f3wi\u0105c tak, zagro\u017cenie dla Kubernetes i podobnych rozwi\u0105za\u0144?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Musz\u0119 zn\u00f3w wspomnie\u0107, \u017ce nie jestem prorokiem, kt\u00f3ry patrzy w przysz\u0142o\u015b\u0107 i m\u00f3wi \u2014 tak b\u0119dzie! Chocia\u017c sam przed chwil\u0105 robi\u0142em to samo. Patrz\u0119 pod nogi i widz\u0119 tam mn\u00f3stwo problem\u00f3w, na przyk\u0142ad, jak dzia\u0142aj\u0105 tranzystory w komputerze. \u015amieszne, co? Z jakimi\u015b b\u0142\u0119dami w CPU si\u0119 spotykamy.<\/p>\n<p>Zrobienie serverless wystarczaj\u0105co niezawodnym, tanim, efektywnym i wygodnym, rozwi\u0105zuj\u0105c wszystkie problemy ekosystemowe, jest mo\u017cliwe. Zgadzam si\u0119 z Elonem Maskiem, \u017ce potrzebna jest druga planeta, aby zapewni\u0107 odporno\u015b\u0107 dla ludzko\u015bci. Chocia\u017c nie wiem, co dok\u0142adnie m\u00f3wi, rozumiem, \u017ce nie jestem got\u00f3w lecie\u0107 na Marsa, a to nie wydarzy si\u0119 jutro.<\/p>\n<p>Z serverless jest jasne, \u017ce to ideologicznie s\u0142uszna rzecz, tak jak odporno\u015b\u0107 dla ludzko\u015bci \u2014 lepiej mie\u0107 dwie planety ni\u017c jedn\u0105. Ale jak to zrobi\u0107 teraz? Wys\u0142a\u0107 jedn\u0105 ekspedycj\u0119 \u2014 to nie problem, je\u015bli skoncentrujemy na tym wysi\u0142ki. Wys\u0142a\u0107 kilka ekspedycji i zasiedli\u0107 tam kilka tysi\u0119cy ludzi, my\u015bl\u0119, \u017ce te\u017c jest realistyczne. Ale stworzenie pe\u0142nej odporno\u015bci, \u017ceby po\u0142owa ludzko\u015bci tam mieszka\u0142a, wydaje mi si\u0119 w tej chwili niemo\u017cliwe, nie do rozwa\u017cenia.<\/p>\n<p>Z serverless jest dok\u0142adnie tak samo: to \u015bwietna rzecz, ale daleko od problem\u00f3w roku 2019. Bli\u017cej roku 2030 \u2014 do\u017cyjmy do tego. Nie w\u0105tpi\u0119, \u017ce do\u017cyjemy, na pewno do\u017cyjemy (powtarzaj przed snem), ale teraz musimy rozwi\u0105za\u0107 inne problemy. To jak wierzy\u0107 w bajkowego jednoro\u017cca. Tak, kilka procent przypadk\u00f3w jest rozwi\u0105zanych, i to \u015bwietnie, ale subiektywnie serverless to jak t\u0119cza\u2026 Dla mnie ten temat jest zbyt odleg\u0142y i zbyt niejasny. Nie jestem got\u00f3w o tym m\u00f3wi\u0107. W 2019 roku z serverless nie stworzy si\u0119 \u017cadnej aplikacji.<\/p>\n<h2>Jak b\u0119dzie rozwija\u0142 si\u0119 Kubernetes<\/h2>\n<p>\n<b>\u2014 Podczas gdy zmierzamy ku temu potencjalnie wspania\u0142emu dalekiemu przysz\u0142o\u015bci, jak uwa\u017casz, jak b\u0119dzie rozwija\u0142 si\u0119 Kubernetes i ekosystem wok\u00f3\u0142 niego?<\/b><\/p>\n<p><b>Dmitrij<\/b>: D\u0142ugo o tym my\u015bla\u0142em i mam jasn\u0105 odpowied\u017a. Po pierwsze, statefull \u2013 stateless jest jednak \u0142atwiejszy do zrealizowania. Kubernetes od pocz\u0105tku bardziej w to inwestowa\u0142, od tego wszystko si\u0119 zacz\u0119\u0142o. Stateless dzia\u0142a praktycznie idealnie w Kubernetes, nie ma si\u0119 do czego przyczepi\u0107. W przypadku statefull jest jeszcze mn\u00f3stwo problem\u00f3w, a w\u0142a\u015bciwie niuans\u00f3w. U nas ju\u017c wszystko tam wspaniale dzia\u0142a, ale to tylko my. Aby to dzia\u0142a\u0142o u wszystkich, potrzeba jeszcze przynajmniej kilku lat. To nie jest miara obliczeniowa, a moje odczucie z g\u0142owy.<\/p>\n<p>Kr\u00f3tko m\u00f3wi\u0105c, statefull musi \u2013 i b\u0119dzie \u2013 intensywnie si\u0119 rozwija\u0142, poniewa\u017c wszystkie nasze aplikacje przechowuj\u0105 stan, nie ma aplikacji stateless. To iluzja, zawsze potrzebna jest jaka\u015b baza danych i co\u015b jeszcze. Statefull \u2013 to uproszczenie wszystkiego, co mo\u017cna, naprawa wszystkich b\u0142\u0119d\u00f3w, poprawa wszystkich problem\u00f3w, z kt\u00f3rymi obecnie si\u0119 zmagamy \u2013 nazwijmy to adopcj\u0105.<\/p>\n<p>Poziom niewiedzy, poziom nierozwi\u0105zanych problem\u00f3w, poziom prawdopodobie\u0144stwa zetkni\u0119cia si\u0119 z czym\u015b b\u0119dzie znacznie spada\u0142. To wa\u017cna sprawa. I operatorzy \u2013 wszystko, co zwi\u0105zane z kodifikacj\u0105 logiki administracyjnej, logiki zarz\u0105dzania, aby uzyska\u0107 \u0142atw\u0105 us\u0142ug\u0119: MySQL \u0142atwa us\u0142uga, RabbitMQ \u0142atwa us\u0142uga, Memcache \u0142atwa us\u0142uga \u2013 te wszystkie komponenty, kt\u00f3rych potrzebujemy, aby wszystko dzia\u0142a\u0142o z pude\u0142ka w spos\u00f3b gwarantowany. To w\u0142a\u015bnie rozwi\u0105zuje te problemy, z kt\u00f3rymi mamy baz\u0119 danych, ale nie chcemy jej administracji, lub chcemy Kubernetes, ale nie chcemy go administracji.<\/p>\n<p>Ta historia z rozwojem operator\u00f3w w jakiejkolwiek formie b\u0119dzie wa\u017cna w ci\u0105gu najbli\u017cszych kilku lat.<\/p>\n<blockquote><p>My\u015bl\u0119, \u017ce znacznie wzro\u015bnie prostota eksploatacji \u2013 skrzynka b\u0119dzie stawa\u0142a si\u0119 coraz bardziej czarna, coraz bardziej niezawodna, z coraz prostszymi pokr\u0119t\u0142ami.<\/p><\/blockquote>\n<p>\nKiedy\u015b s\u0142ucha\u0142em starego wywiadu z Isaaciem Asimovem z lat 80. na YouTube w programie Saturday Night Live \u2013 taki odpowiednik Urganta, tylko interesuj\u0105cy. Pytali go o przysz\u0142o\u015b\u0107 komputer\u00f3w. Powiedzia\u0142, \u017ce przysz\u0142o\u015b\u0107 le\u017cy w prostocie, tak jak to by\u0142o z odbiornikiem radiowym. Odbiornik radiowy na pocz\u0105tku by\u0142 skomplikowany. Aby z\u0142apa\u0107 fal\u0119, trzeba by\u0142o przez 15 minut kr\u0119ci\u0107 pokr\u0119t\u0142ami, obraca\u0107 r\u00f3\u017cnymi elementami i og\u00f3lnie wiedzie\u0107, jak wszystko dzia\u0142a, rozumie\u0107 fizyk\u0119 przekazu fal radiowych. W rezultacie w radiu zosta\u0142a tylko jedna ga\u0142ka.<\/p>\n<p>Jakie radio mamy w 2019 roku? W samochodzie odbiornik radiowy znajduje wszelkie fale, nazwy stacji. Fizyka procesu nie zmieni\u0142a si\u0119 przez 100 lat, zmieni\u0142a si\u0119 prostota u\u017cycia. Obecnie, a ju\u017c w 1980 roku, w czasie wywiadu z Asimovem, wszyscy korzystali z radia i nikt nie zastanawia\u0142 si\u0119, jak to dzia\u0142a. Ono zawsze dzia\u0142a\u0142o \u2014 to fakt.<\/p>\n<p>Asimov m\u00f3wi\u0142 wtedy, \u017ce z komputerami b\u0119dzie podobnie \u2014 <b>prostota u\u017cycia wzro\u015bnie<\/b>. Je\u015bli w 1980 roku trzeba by\u0142o zdoby\u0107 specjalne wykszta\u0142cenie, by naciska\u0107 przyciski na komputerze, to w przysz\u0142o\u015bci tak nie b\u0119dzie.<\/p>\n<p>Mam wra\u017cenie, \u017ce z Kubernetes i infrastruktur\u0105 r\u00f3wnie\u017c bardzo wzro\u015bnie prostota u\u017cycia. To jest, moim zdaniem, oczywiste \u2014 le\u017cy na powierzchni.<\/p>\n<h2>Co zrobi\u0107 z in\u017cynierami?<\/h2>\n<p>\n<b>\u2014 A co si\u0119 stanie z in\u017cynierami, administratorami system\u00f3w, kt\u00f3rzy wspieraj\u0105 Kubernetes?<\/b><\/p>\n<p><b>Dmitrij<\/b>: A co si\u0119 sta\u0142o z ksi\u0119gowymi po pojawieniu si\u0119 1C? Mniej wi\u0119cej to samo. Wcze\u015bniej liczyli na papierze \u2014 teraz w programie. Wydajno\u015b\u0107 pracy wzros\u0142a wielokrotnie, a praca nie znikn\u0119\u0142a. Je\u015bli wcze\u015bniej do wkr\u0119cania \u017car\u00f3wki potrzebnych by\u0142o 10 in\u017cynier\u00f3w, teraz wystarczy jeden.<\/p>\n<p>Liczba oprogramowania i zada\u0144 wydaje mi si\u0119 teraz ro\u015bnie szybciej, ni\u017c pojawiaj\u0105 si\u0119 nowi DevOps i zwi\u0119ksza si\u0119 efektywno\u015b\u0107. Obecnie na rynku jest wyra\u017any deficyt, kt\u00f3ry potrwa d\u0142ugo. P\u00f3\u017aniej wszystko wejdzie w pewn\u0105 norm\u0119, w kt\u00f3rej efektywno\u015b\u0107 pracy wzro\u015bnie, b\u0119dzie coraz wi\u0119cej rozwi\u0105za\u0144 serverless, a do Kubernetes do\u0142\u0105czy neuronowa sie\u0107, kt\u00f3ra sama dobierze wszystkie zasoby, tak jak potrzeba \u2014 cz\u0142owieku, odejd\u017a i nie przeszkadzaj.<\/p>\n<p>Ale decyzje i tak b\u0119d\u0105 musia\u0142y by\u0107 podejmowane przez kogo\u015b. Jasne, \u017ce poziom kwalifikacji i specjalizacja tej osoby b\u0119d\u0105 wy\u017csze. Obecnie w dziale ksi\u0119gowo\u015bci potrzebnych jest ju\u017c tylko 10 pracownik\u00f3w, kt\u00f3rzy prowadz\u0105 ksi\u0119gi, aby r\u0119ka si\u0119 nie m\u0119czy\u0142a. To po prostu nie jest potrzebne. Wiele dokument\u00f3w jest automatycznie skanowanych, rozpoznawanych przez system obiegu dokument\u00f3w. Wystarczy jeden m\u0105dry g\u0142\u00f3wny ksi\u0119gowy, maj\u0105cy znacznie wi\u0119ksze umiej\u0119tno\u015bci i dobre zrozumienie.<\/p>\n<p>W ka\u017cdej bran\u017cy tak to wygl\u0105da. Z samochodami jest podobnie: kiedy\u015b przy poje\u017adzie by\u0142 mechanik i trzech kierowc\u00f3w. Dzi\u015b prowadzenie samochodu to najprostszy proces, w kt\u00f3rym wszyscy bierzemy udzia\u0142 na co dzie\u0144. Nikt nie my\u015bli, \u017ce samoch\u00f3d to co\u015b skomplikowanego.<\/p>\n<blockquote><p>DevOps czy in\u017cynieria systemowa nigdzie si\u0119 nie wybiera \u2014 wysoka jako\u015b\u0107 i efektywno\u015b\u0107 pracy b\u0119d\u0105 rosn\u0105\u0107.<\/p><\/blockquote>\n<p>\n<b>\u2014 S\u0142ysza\u0142em te\u017c ciekaw\u0105 my\u015bl, \u017ce tak naprawd\u0119 pracy b\u0119dzie wi\u0119cej.<\/b><\/p>\n<p><b>Dmitrij<\/b>: Oczywi\u015bcie, na sto procent! Poniewa\u017c liczba oprogramowania, kt\u00f3re piszemy, ci\u0105gle ro\u015bnie. Liczba problem\u00f3w, kt\u00f3re rozwi\u0105zujemy za pomoc\u0105 oprogramowania, tak\u017ce ro\u015bnie. Liczba pracy wzrasta. Obecnie rynek DevOps jest bardzo przegrzany. Wida\u0107 to po oczekiwaniach p\u0142acowych. Z praktycznego punktu widzenia, nie wnikaj\u0105c w szczeg\u00f3\u0142y, powinny by\u0107 juniors, kt\u00f3rzy chc\u0105 X, mid-level, kt\u00f3rzy chc\u0105 1,5X, i seniorzy, kt\u00f3rzy chc\u0105 2X. A teraz, patrz\u0105c na moskiewski rynek p\u0142ac dla DevOps, junior chce od X do 3X, a senior chce od X do 3X.<\/p>\n<blockquote><p>Nikt nie wie, ile to kosztuje. Poziom wynagrodzenia mierzy si\u0119 twoj\u0105 pewno\u015bci\u0105 \u2014 to kompletny chaos, szczerze m\u00f3wi\u0105c, strasznie przegrzany rynek.<\/p><\/blockquote>\n<p>\nOczywi\u015bcie, ta sytuacja zmieni si\u0119 bardzo szybko \u2014 powinno nast\u0105pi\u0107 pewne nasycenie. Z tworzeniem oprogramowania tak nie jest \u2014 mimo \u017ce wszyscy potrzebuj\u0105 programist\u00f3w, a dobrych programist\u00f3w potrzeba jeszcze bardziej, rynek rozumie, ile kto jest wart \u2014 bran\u017ca ustabilizowa\u0142a si\u0119. W DevOps obecnie nie jest tak.<\/p>\n<p><b>\u2014 Z tego, co s\u0142ysza\u0142em, wyci\u0105gn\u0105\u0142em wniosek, \u017ce obecny administrator system\u00f3w nie ma powod\u00f3w do du\u017cych zmartwie\u0144, ale czas szlifowa\u0107 umiej\u0119tno\u015bci i przygotowa\u0107 si\u0119 na to, \u017ce jutro pracy b\u0119dzie wi\u0119cej, ale b\u0119dzie ona bardziej wykwalifikowana.<\/b><\/p>\n<p><b>Dmitrij<\/b>: Na pewno. Generalnie \u017cyjemy w 2019 roku i zasada \u017cycia jest taka: <b>lifetime learning \u2014 uczymy si\u0119 przez ca\u0142e \u017cycie<\/b>. My\u015bl\u0119, \u017ce teraz wszyscy to wiedz\u0105 i czuj\u0105, ale ma\u0142o wiedzie\u0107 \u2014 trzeba dzia\u0142a\u0107. Ka\u017cdego dnia musimy si\u0119 zmienia\u0107. Je\u015bli tego nie robimy, pr\u0119dzej czy p\u00f3\u017aniej wyrzuc\u0105 nas na pobocze zawodowe. <\/p>\n<p>B\u0105d\u017a gotowy na nag\u0142e zwroty o 180 stopni. Nie wykluczam sytuacji, w kt\u00f3rych co\u015b drastycznie si\u0119 zmieni, wymy\u015bl\u0105 co\u015b nowego \u2014 tak bywa. Hop! \u2014 i teraz dzia\u0142amy inaczej. Wa\u017cne, aby by\u0107 na to gotowym i si\u0119 nie przejmowa\u0107. Mo\u017ce si\u0119 zdarzy\u0107, \u017ce jutro wszystko, co robi\u0119, stanie si\u0119 niepotrzebne \u2014 nic, przez ca\u0142e \u017cycie uczy\u0142em si\u0119 i jestem got\u00f3w uczy\u0107 si\u0119 czego\u015b nowego. To nie jest problem. Nie ma sensu ba\u0107 si\u0119 o bezpiecze\u0144stwo pracy, ale trzeba by\u0107 gotowym na to, by ci\u0105gle uczy\u0107 si\u0119 czego\u015b nowego.<\/p>\n<h2>\u017byczenia i chwilka reklamy<\/h2>\n<p>\n<b>\u2014 Czy masz jakie\u015b \u017cyczenie?<\/b><\/p>\n<p><b>Dmitrij<\/b>: Tak, mam kilka \u017cycze\u0144.<\/p>\n<p>Pierwsze i mercenarskie \u2014 zapisz si\u0119 na\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/channel\/UCjmwHCZ-qh3ro7hHTQhqYQg\">YouTube<\/a><\/noindex>. Szanowni czytelnicy, wejd\u017acie na YouTube i zasubskrybujcie nasz kana\u0142. Za oko\u0142o miesi\u0105c rozpoczniemy aktywn\u0105 ekspansj\u0119 na platform\u0119 wideo, gdzie b\u0119dzie mn\u00f3stwo materia\u0142\u00f3w edukacyjnych na temat Kubernetes, zar\u00f3wno otwartych, jak i r\u00f3\u017cnorodnych: od praktycznych zagadnie\u0144, po laboratoria, a nawet g\u0142\u0119bokie teoretyczne zasady dotycz\u0105ce zastosowania Kubernetes na poziomie zasad i wzorc\u00f3w.<\/p>\n<p>Drugie mercenarskie \u017cyczenie \u2014 zajrzyj na\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\">GitHub<\/a><\/noindex> i wystaw nam gwiazdki, poniewa\u017c to nas karmi. Je\u015bli nie wystawicie nam gwiazdek, nie b\u0119dziemy mieli co je\u015b\u0107. To jak manna w grze komputerowej. Robimy co\u015b, robimy, staramy si\u0119, kto\u015b m\u00f3wi, \u017ce to straszne rowery, kto\u015b, \u017ce wszystko jest ca\u0142kowicie \u017ale, a my nadal dzia\u0142amy, ca\u0142kowicie uczciwie. Widzimy problem, rozwi\u0105zujemy go i dzielimy si\u0119 do\u015bwiadczeniem. Dlatego wystawcie nam gwiazdk\u0119, nic wam to nie da, a nam przyb\u0119dzie, poniewa\u017c to nas karmi.<\/p>\n<p>Trzecie, wa\u017cne i ju\u017c nie mercenarskie \u017cyczenie \u2014 <b>przesta\u0144cie wierzy\u0107 w bajki<\/b>. Jeste\u015bcie profesjonalistami. DevOps to bardzo powa\u017cny i odpowiedzialny zaw\u00f3d. Przesta\u0144cie bawi\u0107 si\u0119 w pracy. Niech co\u015b was uderzy, i zrozumiecie to. Wyobra\u017acie sobie, \u017ce przyjdziecie do szpitala, a tam lekarz eksperymentuje na was. Rozumiem, \u017ce niekt\u00f3rym to mo\u017ce by\u0107 przykro, ale najprawdopodobniej to nie o was chodzi, lecz o kogo\u015b innego. Powiedzcie innym, aby te\u017c przestali. To naprawd\u0119 psuje \u017cycie nam wszystkim \u2014 wielu zaczyna traktowa\u0107 operacje, administrator\u00f3w oraz DevOps jako go\u015bci, kt\u00f3rzy zn\u00f3w co\u015b zepsuli. To \u201ezepsuli\u201d najcz\u0119\u015bciej wynika z tego, \u017ce zacz\u0119li\u015bmy si\u0119 bawi\u0107, a nie spokojnym umys\u0142em spojrzeli\u015bmy, \u017ce tu tak, a tu tak.<\/p>\n<p>To nie znaczy, \u017ce nie warto eksperymentowa\u0107. Eksperymentowa\u0107 trzeba, sami to robimy. Szczerze m\u00f3wi\u0105c, czasami te\u017c si\u0119 bawimy \u2014 to, oczywi\u015bcie, jest bardzo \u017ale, ale nic ludzkiego nam nie jest obce. Og\u0142o\u015bmy rok 2019 rokiem powa\u017cnych, przemy\u015blanych eksperyment\u00f3w, a nie zabaw na produkcji. Prawdopodobnie tak.<\/p>\n<p><b>\u2014 Dzi\u0119kuj\u0119 bardzo!<\/b><\/p>\n<p><b>Dmitrij<\/b>: Dzi\u0119kuj\u0119 ci, Witalij, za czas i wywiad. Drodzy czytelnicy, serdecznie dzi\u0119kuj\u0119, je\u015bli dotarli\u015bcie do tego momentu. Mam nadziej\u0119, \u017ce przynie\u015bli\u015bmy wam chocia\u017c kilka my\u015bli.<\/p>\n<blockquote><p>W wywiadzie Dmitrij poruszy\u0142 temat werf. To teraz uniwersalny scyzoryk, kt\u00f3ry rozwi\u0105zuje prawie wszystkie zadania. Ale tak nie by\u0142o zawsze. Na\u00a0<noindex><a rel=\"nofollow\" href=\"https:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf <\/a><\/noindex>\u00a0festiwalu <noindex><a rel=\"nofollow\" href=\"https:\/\/ritfest.ru\/2019\">RIT++<\/a><\/noindex> Dmitrij Stolyarov szczeg\u00f3\u0142owo opowie o tym narz\u0119dziu. W wyst\u0105pieniu <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\/abstracts\/5136\">\u00abwerf \u2014 nasze narz\u0119dzie dla CI\/CD w Kubernetes\u00bb<\/a><\/noindex> b\u0119d\u0105 om\u00f3wione wszystkie: problemy i ukryte niuanse Kubernetes, mo\u017cliwe rozwi\u0105zania tych trudno\u015bci oraz obecna realizacja werf w szczeg\u00f3\u0142ach. Do\u0142\u0105czcie 27 i 28 maja, b\u0119dziemy tworzy\u0107 idealne narz\u0119dzia.<\/p><\/blockquote>\n<p>\u0179r\u00f3d\u0142o: <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.1.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\/pl\/blog\/administrirovanie\/kubernetes-zahvatit-mir-kogda-i-kak\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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 podbije \u015bwiat. Kiedy i jak? | ProHoster","description":"Przed DevOpsConf Witalij Chabarow przeprowadzi\u0142 wywiad z Dmitrijem Stolyarovem (","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kubernetes-zahvatit-mir-kogda-i-kak","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/34450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=34450"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/34450\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=34450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=34450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=34450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}