{"id":81130,"date":"2020-05-11T01:42:39","date_gmt":"2020-05-10T23:42:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo"},"modified":"2020-05-11T01:42:39","modified_gmt":"2020-05-10T23:42:39","slug":"kubernetes-open-source-protiv-vendorskogo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","title":{"rendered":"Kubernetes: open source kontra vendorowy","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Cze\u015b\u0107, nazywam si\u0119 Dmitrij Krasnow. Od ponad pi\u0119ciu lat zajmuj\u0119 si\u0119 administracj\u0105 klastr\u00f3w Kubernetes oraz budow\u0105 z\u0142o\u017conych architektur mikroserwis\u00f3w. Na pocz\u0105tku tego roku uruchomili\u015bmy us\u0142ug\u0119 zarz\u0105dzania klastrami Kubernetes opart\u0105 na Containerum. Korzystaj\u0105c z okazji, opowiem, czym w\u0142a\u015bciwie jest ten Kubernetes i czym r\u00f3\u017cni si\u0119 integracja z dostawc\u0105 od open source.<\/b><\/p>\n<p>Na pocz\u0105tek, co to jest <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/what-is-kubernetes\/\">Kubernetes<\/a><\/noindex>. To system do zarz\u0105dzania kontenerami na du\u017cej liczbie host\u00f3w. Z greckiego zreszt\u0105 t\u0142umaczy si\u0119 jako \u201epilot\u201d lub \u201esternik\u201d. Zosta\u0142 pierwotnie opracowany przez Google, a nast\u0119pnie przekazany do Cloud Native Computing Foundation, mi\u0119dzynarodowej organizacji non-profit, kt\u00f3ra \u0142\u0105czy czo\u0142owych \u015bwiatowych deweloper\u00f3w, u\u017cytkownik\u00f3w ko\u0144cowych oraz dostawc\u00f3w technologii kontenerowych. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source kontra vendorowy\" src=\"\/wp-content\/uploads\/2020\/05\/7cbe773adf691ad29c4aaa7a2c8f0461.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Zarz\u0105dza\u0107 du\u017c\u0105 liczb\u0105 kontener\u00f3w <\/h3>\n<p>\nTeraz zobaczmy, co to w\u0142a\u015bciwie s\u0105 te kontenery. To aplikacja wraz z ca\u0142ym jej \u015brodowiskiem \u2013 g\u0142\u00f3wnie bibliotekami, od kt\u00f3rych zale\u017cy dzia\u0142anie programu. Wszystko to jest spakowane w archiwa i przedstawione w postaci obrazu, kt\u00f3ry mo\u017cna uruchamia\u0107 niezale\u017cnie od systemu operacyjnego, testowa\u0107 i nie tylko. Ale jest problem \u2014 zarz\u0105dzanie kontenerami na du\u017cej liczbie host\u00f3w jest bardzo trudne. Dlatego stworzono Kubernetes. <\/p>\n<p>Obraz kontenera to aplikacja plus jej zale\u017cno\u015bci. Aplikacja, jej zale\u017cno\u015bci oraz obraz systemu plik\u00f3w OS znajduj\u0105 si\u0119 w r\u00f3\u017cnych cz\u0119\u015bciach obrazu, tak zwanych warstwach. Warstwy mog\u0105 by\u0107 ponownie u\u017cywane dla r\u00f3\u017cnych kontener\u00f3w. Na przyk\u0142ad, dla wszystkich aplikacji w firmie mo\u017ce by\u0107 u\u017cywana podstawowa warstwa Ubuntu. Przy uruchamianiu kontener\u00f3w nie ma potrzeby przechowywania na ho\u015bcie wielu kopii tej samej podstawowej warstwy. To pozwala zoptymalizowa\u0107 przechowywanie i dostarczanie obraz\u00f3w.<\/p>\n<p>Kiedy chcemy uruchomi\u0107 aplikacj\u0119 z kontenera, potrzebne warstwy nak\u0142adaj\u0105 si\u0119 na siebie, tworz\u0105c nak\u0142adkowy system plik\u00f3w. Na g\u00f3rze nak\u0142adana jest warstwa do zapisu, kt\u00f3ra przy zatrzymaniu kontenera jest usuwana. Gwarantuje to, \u017ce przy uruchomieniu kontenera aplikacja zawsze b\u0119dzie mia\u0142a to samo \u015brodowisko, kt\u00f3re nie mo\u017ce by\u0107 zmienione. To zapewnia reprodukowalno\u015b\u0107 \u015brodowiska na r\u00f3\u017cnych systemach operacyjnych hosta. Niezale\u017cnie od tego, czy to Ubuntu, czy CentOS, \u2014 \u015brodowisko zawsze b\u0119dzie takie samo. Ponadto kontener jest izolowany od hosta za pomoc\u0105 wbudowanych w j\u0105dro Linux mechanizm\u00f3w. Aplikacje w kontenerze nie widz\u0105 plik\u00f3w ani proces\u00f3w hosta i s\u0105siednich kontener\u00f3w. Tego rodzaju izolacja aplikacji od systemu operacyjnego hosta zapewnia dodatkow\u0105 warstw\u0119 bezpiecze\u0144stwa. <\/p>\n<p>Na ho\u015bcie istnieje wiele narz\u0119dzi do zarz\u0105dzania kontenerami. Najpopularniejszym z nich jest Docker. Umo\u017cliwia on zapewnienie pe\u0142nego cyklu \u017cycia kontener\u00f3w. Jednak dzia\u0142a tylko na jednym ho\u015bcie. W przypadku konieczno\u015bci zarz\u0105dzania kontenerami na wielu hostach, Docker mo\u017ce zmieni\u0107 \u017cycie in\u017cynier\u00f3w w piek\u0142o. Dlatego powsta\u0142 Kubernetes.<\/p>\n<p>Zapotrzebowanie na Kubernetes wynika z mo\u017cliwo\u015bci zarz\u0105dzania grupami kontener\u00f3w na wielu hostach jako pewnymi jednolitymi bytami. Popularno\u015b\u0107 systemu zapewnia mo\u017cliwo\u015b\u0107 budowy DevOps lub Development Operations, w kt\u00f3rych Kubernetes u\u017cywany jest do uruchamiania proces\u00f3w tego\u017c DevOps.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source kontra vendorowy\" src=\"\/wp-content\/uploads\/2020\/05\/40f253f4445595376231bb384253763d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Rysunek 1. Schematyczne przedstawienie zasady dzia\u0142ania Kubernetes<\/i><\/p>\n<h3>Pe\u0142na automatyzacja<\/h3>\n<p>\nDevOps w zasadzie reprezentuje automatyzacj\u0119 procesu rozwoju. M\u00f3wi\u0105c prosto, programi\u015bci pisz\u0105 kod, kt\u00f3ry jest przesy\u0142any do repozytorium. Nast\u0119pnie ten kod mo\u017ce by\u0107 automatycznie kompilowany od razu w kontenerze z wszystkimi bibliotekami, testowany i \"wdra\u017cany\" na kolejnym etapie \u2013 Staging, a nast\u0119pnie od razu na Production.<\/p>\n<p>Wraz z Kubernetes, DevOps umo\u017cliwia automatyzacj\u0119 tego procesu, dzi\u0119ki czemu przebiega on praktycznie bez udzia\u0142u samych programist\u00f3w. Dzi\u0119ki temu znacznie przyspiesza si\u0119 budowa, poniewa\u017c programista nie musi zajmowa\u0107 si\u0119 tym na swoim komputerze \u2014 po prostu pisze fragment kodu, wrzuca kod do repozytorium, po czym uruchamia si\u0119 pipeline, kt\u00f3ry mo\u017ce obejmowa\u0107 proces budowy, testowania, wdra\u017cania. Tak dzieje si\u0119 z ka\u017cdym commitem, dlatego testowanie przebiega nieprzerwanie.<\/p>\n<p>U\u017cycie kontenera zapewnia, \u017ce ca\u0142e \u015brodowisko tej aplikacji wejdzie do produkcji dok\u0142adnie w takiej formie, w jakiej zosta\u0142o przetestowane. To znaczy, \u017ce nie pojawi\u0105 si\u0119 problemy w stylu \"na te\u015bcie by\u0142y inne wersje, w produkcji \u2013 inne, a po wdro\u017ceniu \u2013 wszystko pad\u0142o\". A poniewa\u017c dzisiaj mamy trend na architektur\u0119 mikroserwisow\u0105, przy kt\u00f3rej zamiast jednej ogromnej aplikacji mamy setki ma\u0142ych, do wykonywania ich administracji r\u0119cznie potrzebny b\u0119dzie ogromny zesp\u00f3\u0142 pracownik\u00f3w. Dlatego w\u0142a\u015bnie korzystamy z Kubernetes.<\/p>\n<p><b><\/p>\n<h3>Zalety, zalety, zalety<\/h3>\n<p><\/b><br \/>\nJe\u015bli m\u00f3wimy o zaletach Kubernetes jako platformy, ma on znacz\u0105ce plusy z perspektywy zarz\u0105dzania architektur\u0105 mikroserwisow\u0105. <\/p>\n<ul>\n<li> <b>Zarz\u0105dzanie wieloma replikami.<\/b> Najwa\u017cniejsze \u2014 to zarz\u0105dzanie kontenerami na wielu hostach. I co istotniejsze \u2014 zarz\u0105dzanie wieloma replikami aplikacji w kontenerach jako jedn\u0105 ca\u0142o\u015bci\u0105. Dzi\u0119ki temu in\u017cynierowie nie musz\u0105 martwi\u0107 si\u0119 o ka\u017cdy pojedynczy kontener. Je\u015bli jeden z kontener\u00f3w upadnie, Kubernetes to zauwa\u017cy i ponownie go uruchomi. <\/li>\n<li> <b>Sie\u0107 klastra.<\/b> Kubernetes posiada r\u00f3wnie\u017c tak zwan\u0105 sie\u0107 klastra z w\u0142asn\u0105 przestrzeni\u0105 adresow\u0105. Dzi\u0119ki temu ka\u017cdy pod ma sw\u00f3j adres. Pod to najmniejsza jednostka strukturalna klastra, w kt\u00f3rej bezpo\u015brednio uruchamiane s\u0105 kontenery. Poza tym, Kubernetes dysponuje funkcjonalno\u015bci\u0105, kt\u00f3ra \u0142\u0105czy w sobie balansowanie obci\u0105\u017cenia i Odkrywanie Us\u0142ug. To pozwala unikn\u0105\u0107 r\u0119cznego zarz\u0105dzania adresami IP i powierza to zadanie Kubernetes. Automatyczne health checki pomog\u0105 wykrywa\u0107 problemy i przekierowa\u0107 ruch na dzia\u0142aj\u0105ce pody.<\/li>\n<li> <b>Zarz\u0105dzanie konfiguracjami. <\/b>Zarz\u0105dzanie konfiguracj\u0105 aplikacji staje si\u0119 trudne, gdy mamy do czynienia z du\u017c\u0105 liczb\u0105 aplikacji. W Kubernetes istniej\u0105 specjalne zasoby ConfigMap, kt\u00f3re pozwalaj\u0105 na centralne przechowywanie konfiguracji i wstawianie ich do pod\u00f3w przy uruchamianiu aplikacji. Taki mechanizm zapewnia sp\u00f3jno\u015b\u0107 konfiguracji zar\u00f3wno w dziesi\u0119ciu, jak i w setkach replik aplikacji. <\/li>\n<li> <b>Obj\u0119to\u015bci trwa\u0142e. <\/b>Kontenery s\u0105 z natury niemutowalne, a po zatrzymaniu kontenera wszystkie dane zapisane w systemie plik\u00f3w zostan\u0105 utracone. Jednak niekt\u00f3re aplikacje przechowuj\u0105 dane bezpo\u015brednio na dysku. Aby rozwi\u0105za\u0107 ten problem, Kubernetes wprowadza funkcj\u0119 zarz\u0105dzania przechowywaniem danych \u2014 Obj\u0119to\u015bci trwa\u0142e. Mechanizm ten wykorzystuje zewn\u0119trzne przechowywanie danych, umo\u017cliwia przekazywanie trwa\u0142ego magazynu, blokowego lub plikowego do kontener\u00f3w. Takie rozwi\u0105zanie pozwala na przechowywanie danych oddzielnie od w\u0119z\u0142\u00f3w roboczych, co chroni je w przypadku awarii tych w\u0119z\u0142\u00f3w.<\/li>\n<li> <b>Load Balancer.<\/b> Chocia\u017c w Kubernetes zarz\u0105dzamy abstrakcyjnymi encjami, takimi jak Deployment, StatefulSet itp., ostatecznie kontenery uruchamiaj\u0105 si\u0119 na zwyk\u0142ych <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/vps\/abuzoustojchivye-vps\/\"   title=\"maszynach wirtualnych\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4246\">maszynach wirtualnych<\/a> lub fizycznych serwerach. Nie s\u0105 one idealne i mog\u0105 zawie\u015b\u0107 w ka\u017cdej chwili. Kubernetes to zauwa\u017cy i przekieruje wewn\u0119trzny ruch do innych replik. Ale co z ruchem, kt\u00f3ry przychodzi z zewn\u0105trz? Je\u015bli po prostu skierujemy ruch na jeden z w\u0119z\u0142\u00f3w roboczych, co si\u0119 stanie, je\u015bli on zawiedzie? Us\u0142uga stanie si\u0119 niedost\u0119pna. Aby rozwi\u0105za\u0107 ten problem, Kubernetes ma us\u0142ugi typu Load Balancer. S\u0105 one zaprojektowane do automatycznego konfigurowania zewn\u0119trznego balansu obci\u0105\u017cenia dla wszystkich w\u0119z\u0142\u00f3w roboczych w klastrze. Ten zewn\u0119trzny balancer kieruje ruch zewn\u0119trzny do w\u0119z\u0142\u00f3w roboczych i sam monitoruje ich status. Je\u015bli jeden lub wi\u0119cej w\u0119z\u0142\u00f3w roboczych stanie si\u0119 niedost\u0119pnych, ruch jest przekierowywany do innych. Umo\u017cliwia to tworzenie us\u0142ug o wysokiej dost\u0119pno\u015bci przy u\u017cyciu Kubernetes.<\/li>\n<\/ul>\n<p>\nKubernetes najlepiej sprawdza si\u0119 w uruchamianiu architektur mikroserwisowych. Wprowadzanie systemu w klasyczn\u0105 architektur\u0119 jest mo\u017cliwe, ale bez sensu. Je\u015bli aplikacja nie mo\u017ce dzia\u0142a\u0107 w kilku replikach, to jaka jest r\u00f3\u017cnica \u2013 w Kubernetes czy nie?<\/p>\n<p><b><\/p>\n<h3>Open source Kubernetes<\/h3>\n<p><\/b><br \/>\nOpen source Kubernetes \u2013 to \u015bwietna rzecz: instalujesz i dzia\u0142a. Mo\u017cna go uruchomi\u0107 na w\u0142asnych serwerach, na swojej infrastrukturze, postawi\u0107 mastera i worker\u00f3w, na kt\u00f3rych b\u0119d\u0105 uruchamiane wszystkie aplikacje. A co najwa\u017cniejsze \u2013 wszystko to jest darmowe. Jednak s\u0105 pewne niuanse.<\/p>\n<ul>\n<li> Pierwszy \u2013 wymagania dotycz\u0105ce wiedzy i do\u015bwiadczenia administrator\u00f3w oraz in\u017cynier\u00f3w, kt\u00f3rzy b\u0119d\u0105 to wszystko wdra\u017ca\u0107 i utrzymywa\u0107. Poniewa\u017c klient otrzymuje pe\u0142n\u0105 swobod\u0119 dzia\u0142ania w klastrze, ponosi odpowiedzialno\u015b\u0107 za jego dzia\u0142anie. A zepsu\u0107 to jest bardzo prosto.<\/li>\n<li> Drugi \u2013 brak integracji. Je\u015bli uruchamiasz Kubernetes, nie maj\u0105c jakiej\u015b popularnej platformy wirtualizacji, nie uzyskasz wszystkich korzy\u015bci tego programu. Takich jak wykorzystanie Persistent Volumes i us\u0142ug Load balancer.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes: open source kontra vendorowy\" src=\"\/wp-content\/uploads\/2020\/05\/8445e46889ca4c4d53bd91abeaa49256.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Rysunek 2. Architektura k8s<\/i><\/p>\n<p><b><\/p>\n<h3>Kubernetes od dostawcy<\/h3>\n<p><\/b><br \/>\nIntegracja z dostawc\u0105 chmurowym daje dwie mo\u017cliwo\u015bci: <\/p>\n<ul>\n<li> Po pierwsze, u\u017cytkownik mo\u017ce po prostu klikn\u0105\u0107 przycisk \u201eutw\u00f3rz klaster\u201d i otrzyma\u0107 ju\u017c skonfigurowany i gotowy do pracy klaster.<\/li>\n<li> Po drugie, dostawca sam instaluje klaster i konfiguruje integracj\u0119 z chmur\u0105.<\/li>\n<\/ul>\n<p>\nJak to wygl\u0105da u nas. In\u017cynier, kt\u00f3ry uruchamia klaster, wskazuje, ile potrzebuje worker\u00f3w i z jakimi parametrami (na przyk\u0142ad 5 worker\u00f3w, ka\u017cdy z 10 CPU, 16 GB RAM i powiedzmy 100 GB dysku). Nast\u0119pnie uzyskuje dost\u0119p do ju\u017c utworzonego klastra. Przy tym, workery, na kt\u00f3rych uruchamiana jest obci\u0105\u017cenie, ca\u0142kowicie przechodz\u0105 na w\u0142asno\u015b\u0107 klienta, jednak ca\u0142y management plane pozostaje w gestii dostawcy (w przypadku, gdy us\u0142uga jest \u015bwiadczona w modelu managed service).<\/p>\n<p>Jednak taki schemat ma swoje wady. Z tego powodu, \u017ce management plane pozostaje u dostawcy, ten nie daje pe\u0142nego dost\u0119pu klientowi, co obni\u017ca elastyczno\u015b\u0107 pracy z Kubernetes. Czasami klient chce do\u0142\u0105czy\u0107 do Kubernetes jak\u0105\u015b specyficzn\u0105 funkcjonalno\u015b\u0107, na przyk\u0142ad autoryzacj\u0119 przez LDAP, jednak konfiguracja management plane tego nie umo\u017cliwia.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source kontra vendorowy\" src=\"\/wp-content\/uploads\/2020\/05\/e5cff16e4280cf041917c886c146a2d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Rysunek 3. Przyk\u0142ad klastra Kubernetes od dostawcy chmurowego<\/i><\/p>\n<p><b><\/p>\n<h3>Co wybra\u0107: open source czy dostawc\u0119<\/h3>\n<p><\/b><br \/>\nA zatem, open source Kubernetes czy wersja od dostawcy? W przypadku open source Kubernetes u\u017cytkownik mo\u017ce robi\u0107, co chce. Jednak istnieje du\u017ce ryzyko, \u017ce sam sobie zaszkodzi. Z wersj\u0105 od dostawcy jest to trudniejsze, poniewa\u017c wszystko jest dok\u0142adnie przemy\u015blane i skonfigurowane przez firm\u0119. Najwi\u0119ksz\u0105 wad\u0105 open source Kubernetes jest zapotrzebowanie na specjalist\u00f3w. W przypadku wersji od dostawcy firma nie musi si\u0119 tym przejmowa\u0107, ale b\u0119dzie musia\u0142a zdecydowa\u0107: p\u0142aci\u0107 swoim specjalistom czy dostawcy.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source kontra vendorowy\" src=\"\/wp-content\/uploads\/2020\/05\/f14130c42049e20b2f33121e4d789cca.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Kubernetes: open source kontra vendorowy\" src=\"\/wp-content\/uploads\/2020\/05\/4fb1feaacd42a67a444ae1600e37d0f0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nC\u00f3\u017c, zalety s\u0105 oczywiste, wady r\u00f3wnie\u017c s\u0105 znane. Jedno pozostaje niezmienne: Kubernetes rozwi\u0105zuje wiele problem\u00f3w, automatyzuj\u0105c zarz\u0105dzanie wieloma kontenerami. A kt\u00f3r\u0105 wersj\u0119 wybra\u0107, open source czy dostawcy, ka\u017cdy decyduje sam.<\/p>\n<p><i>Artyku\u0142 przygotowa\u0142 Dmitrij Krasnow, wiod\u0105cy architekt serwisu Containerum dostawcy #CloudMTS <\/i><br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ru_mts\/blog\/500728\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes \u043d\u0430 \u0431\u0430\u0437\u0435 Containerum. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u043f\u043e\u0432\u043e\u0434\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 Kubernetes \u0438 \u0447\u0435\u043c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 open source. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81130","post","type-post","status-publish","format-standard","has-post-thumbnail","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=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.\" \/>\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-open-source-protiv-vendorskogo\" \/>\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: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo\" \/>\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=\"2020-05-10T23:42:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-10T23:42:39+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: open source kontra wersja od dostawcy | ProHoster","description":"Cze\u015b\u0107, nazywam si\u0119 Dmitrij Krasnow. Od ponad pi\u0119ciu lat zajmuj\u0119 si\u0119 administracj\u0105 klastr\u00f3w Kubernetes i budowaniem z\u0142o\u017conych architektur mikroserwisowych.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","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: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","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":"2020-05-10T23:42:39+00:00","article:modified_time":"2020-05-10T23:42:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81130","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:04:23","updated":"2022-09-27 22:17:56","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\/81130","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=81130"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/81130\/revisions"}],"predecessor-version":[{"id":164121,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/81130\/revisions\/164121"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/81131"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=81130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=81130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=81130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}