{"id":30199,"date":"2019-10-31T21:34:08","date_gmt":"2019-10-31T18:34:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes\/"},"modified":"2019-10-31T21:34:08","modified_gmt":"2019-10-31T18:34:08","slug":"vozmozhno-vam-ne-nuzhen-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes","title":{"rendered":"Mo\u017ce nie potrzebujesz Kubernetesa","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Mo\u017ce nie potrzebujesz Kubernetesa\" src=\"\/wp-content\/uploads\/2019\/03\/4cd1c0ed29bf76731aab81ce67144352.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Dziewczyna na skuterze. Ilustracja <noindex><a rel=\"nofollow\" href=\"https:\/\/www.freepik.com\/free-photos-vectors\/car\">freepik<\/a><\/noindex>, logo Nomad od <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nomadproject.io\/\">HashiCorp<\/a><\/noindex><\/i><\/p>\n<p>Kubernetes to 300-kilogramowa goryl do orkiestracji kontener\u00f3w. Dzia\u0142a w niekt\u00f3rych z najwi\u0119kszych system\u00f3w kontenerowych na \u015bwiecie, ale jest kosztowny.<\/p>\n<p>Szczeg\u00f3lnie kosztowny dla ma\u0142ych zespo\u0142\u00f3w, kt\u00f3re b\u0119d\u0105 musia\u0142y po\u015bwi\u0119ci\u0107 du\u017co czasu na wsparcie i skomplikowan\u0105 krzyw\u0105 uczenia si\u0119. Dla naszego czteroosobowego zespo\u0142u to zbyt du\u017co koszt\u00f3w og\u00f3lnych. Dlatego zacz\u0119li\u015bmy szuka\u0107 alternatyw i zakochali\u015bmy si\u0119 w <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nomadproject.io\/\">Nomad<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>Czego pragniemy<\/h1>\n<p>\nNasz zesp\u00f3\u0142 wspiera szereg typowych us\u0142ug do monitorowania i analizy wydajno\u015bci: punkty ko\u0144cowe API do metryk, napisane w Go, eksport Prometheusa, parsery log\u00f3w, takie jak Logstash oraz <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/trivago\/gollum\">Gollum<\/a><\/noindex>, a tak\u017ce bazy danych, takie jak InfluxDB czy Elasticsearch. Ka\u017cda z tych us\u0142ug dzia\u0142a w osobnym kontenerze. Potrzebujemy prostego systemu, aby utrzyma\u0107 to wszystko w stanie roboczym.<\/p>\n<p>Zacz\u0119li\u015bmy od listy wymaga\u0144 do orkiestracji kontener\u00f3w:<\/p>\n<ul>\n<li>Uruchamianie zestawu us\u0142ug na wielu maszynach.\n<\/li>\n<li>Przegl\u0105d uruchomionych us\u0142ug.\n<\/li>\n<li>Po\u0142\u0105czenia mi\u0119dzy us\u0142ugami.\n<\/li>\n<li>Automatyczny restart, gdy us\u0142uga pada.\n<\/li>\n<li>Zarz\u0105dzanie infrastruktur\u0105 przez ma\u0142y zesp\u00f3\u0142.<\/li>\n<\/ul>\n<p>\nDodatkowo, nast\u0119puj\u0105ce rzeczy b\u0119d\u0105 mi\u0142e, ale nieobowi\u0105zkowe:<\/p>\n<ul>\n<li>Oznaczanie maszyn wed\u0142ug ich mo\u017cliwo\u015bci (na przyk\u0142ad oznaczanie maszyn z szybkim dyskiem dla ci\u0119\u017ckich us\u0142ug wej\u015bcia\/wyj\u015bcia).\n<\/li>\n<li>Mo\u017cliwo\u015b\u0107 uruchamiania us\u0142ug niezale\u017cnie od orkiestratora (na przyk\u0142ad podczas rozwoju).\n<\/li>\n<li>Wsp\u00f3lne miejsce do wymiany konfiguracji i sekret\u00f3w.\n<\/li>\n<li>Punkt ko\u0144cowy do metryk i log\u00f3w.<\/li>\n<\/ul>\n<p><\/p>\n<h1>Dlaczego Kubernetes nam nie odpowiada<\/h1>\n<p>\nPrzy prototypowaniu z Kubernetes zauwa\u017cyli\u015bmy, \u017ce zacz\u0119li\u015bmy dodawa\u0107 coraz bardziej skomplikowane warstwy logiki, na kt\u00f3rych bezwarunkowo polegali\u015bmy.<\/p>\n<p>Na przyk\u0142ad, Kubernetes obs\u0142uguje wbudowane konfiguracje us\u0142ug przez <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">ConfigMaps<\/a><\/noindex>. Mo\u017cesz szybko si\u0119 pogubi\u0107, szczeg\u00f3lnie przy scalaniu kilku plik\u00f3w konfiguracyjnych lub dodawaniu dodatkowych us\u0142ug do poda. Kubernetes (lub <noindex><a rel=\"nofollow\" href=\"https:\/\/helm.sh\/\">helm<\/a><\/noindex> W tym przypadku pozwala na dynamiczne wdra\u017canie zewn\u0119trznych konfiguracji w celu podzia\u0142u interes\u00f3w. Jednak prowadzi to do sztywnej, ukrytej relacji mi\u0119dzy Twoim projektem a Kubernetes. Niemniej jednak Helm i ConfigMaps s\u0105 dodatkowymi opcjami, wi\u0119c nie musisz ich u\u017cywa\u0107. Mo\u017cesz po prostu skopiowa\u0107 konfiguracj\u0119 do obrazu Docker. Niemniej jest to kusz\u0105ca \u015bcie\u017cka, kt\u00f3ra mo\u017ce prowadzi\u0107 do budowy niepotrzebnych abstrakcji, z czego mo\u017cesz potem \u017ca\u0142owa\u0107.<\/p>\n<p>Ponadto ekosystem Kubernetes szybko si\u0119 rozwija. Wymaga to du\u017co czasu i energii, aby pozostawa\u0107 na bie\u017c\u0105co z najlepszymi praktykami i najnowszymi narz\u0119dziami. Kubectl, minikube, kubeadm, helm, tiller, kops, oc \u2014 lista si\u0119 wyd\u0142u\u017ca. Na pocz\u0105tku nie potrzebujesz wszystkich tych narz\u0119dzi, ale nie wiesz, co b\u0119dzie potrzebne, dlatego musisz by\u0107 na bie\u017c\u0105co ze wszystkim. Z tego powodu krzywa uczenia si\u0119 jest do\u015b\u0107 stroma.<\/p>\n<h1>Kiedy u\u017cywa\u0107 Kubernetes<\/h1>\n<p>\nW naszej firmie wielu korzysta z Kubernetes i jest z tego zadowolonych. Te instancje s\u0105 zarz\u0105dzane przez Google lub Amazon, kt\u00f3rzy maj\u0105 wystarczaj\u0105ce zasoby, aby to wesprze\u0107.<\/p>\n<p>Kubernetes dostarczany jest z <noindex><a rel=\"nofollow\" href=\"https:\/\/jvns.ca\/blog\/2017\/08\/05\/how-kubernetes-certificates-work\/\">niesamowitymi funkcjami<\/a><\/noindex>, kt\u00f3re czyni\u0105 zarz\u0105dzanie du\u017c\u0105 orkiestracj\u0105 kontener\u00f3w bardziej przyst\u0119pnym:<\/p>\n<ul>\n<li>Szczeg\u00f3\u0142owe <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/access-authn-authz\/authorization\/\">zarz\u0105dzanie uprawnieniami<\/a><\/noindex>.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/extend-kubernetes\/api-extension\/custom-resources\/#custom-controllers\">Niestandardowe kontrolery<\/a><\/noindex> dodaj\u0105 logik\u0119 do klastra. To po prostu programy, kt\u00f3re komunikuj\u0105 si\u0119 z API Kubernetes.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/run-application\/horizontal-pod-autoscale\/\">Automatyczne skalowanie<\/a><\/noindex>! Kubernetes potrafi skalowa\u0107 us\u0142ugi na \u017c\u0105danie, wykorzystuj\u0105c metryki us\u0142ug i nie wymagaj\u0105c r\u0119cznej interwencji.<\/li>\n<\/ul>\n<p>\nPytanie brzmi, czy naprawd\u0119 potrzebujesz wszystkich tych funkcji. Nie mo\u017cna polega\u0107 tylko na abstrakcjach; <noindex><a rel=\"nofollow\" href=\"https:\/\/jvns.ca\/blog\/2017\/08\/05\/how-kubernetes-certificates-work\/\">musisz dowiedzie\u0107 si\u0119, co dzieje si\u0119 pod mask\u0105<\/a><\/noindex>.<\/p>\n<p>Nasz zesp\u00f3\u0142 \u015bwiadczy wi\u0119kszo\u015b\u0107 us\u0142ug zdalnie (ze wzgl\u0119du na blisk\u0105 integracj\u0119 z podstawow\u0105 infrastruktur\u0105), dlatego nie chcieli\u015bmy uruchamia\u0107 w\u0142asnego klastra Kubernetes. Chcieli\u015bmy po prostu \u015bwiadczy\u0107 us\u0142ugi.<\/p>\n<h1>Baterie nie s\u0105 do\u0142\u0105czone<\/h1>\n<p>\nNomad to 20% orkiestracji, kt\u00f3re daj\u0105 80% tego, co potrzebne. Wszystko, co robi, to zarz\u0105dza wdro\u017ceniami. Nomad zajmuje si\u0119 wdro\u017ceniami, ponownie uruchamia kontenery w przypadku b\u0142\u0119d\u00f3w\u2026 i to wszystko.<\/p>\n<p>Ca\u0142y sens Nomad polega na tym, co robi <i>minimum<\/i>: brak szczeg\u00f3\u0142owego zarz\u0105dzania uprawnieniami lub <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/network-policies\/\">zaawansowanych polityk sieciowych<\/a><\/noindex>, tak zosta\u0142o to specjalnie zaprojektowane. Te komponenty s\u0105 dostarczane z zewn\u0105trz lub w og\u00f3le nie s\u0105 dostarczane.<\/p>\n<p>My\u015bl\u0119, \u017ce Nomad znalaz\u0142 idealny kompromis mi\u0119dzy \u0142atwo\u015bci\u0105 u\u017cycia a u\u017cyteczno\u015bci\u0105. Jest dobry dla ma\u0142ych, niezale\u017cnych serwis\u00f3w. Je\u015bli potrzebujesz wi\u0119kszej kontroli, musisz je wdro\u017cy\u0107 samodzielnie lub u\u017cy\u0107 innego podej\u015bcia. Nomad to <i>po prostu<\/i> orkiestrator.<\/p>\n<p>Najlepsze w Nomadzie to to, \u017ce jest \u0142atwy do <i>zamiany<\/i>. Zwi\u0105zanie z dostawc\u0105 jest praktycznie nieistniej\u0105ce, poniewa\u017c jego funkcje \u0142atwo integruj\u0105 si\u0119 z ka\u017cdym innym systemem zarz\u0105dzaj\u0105cym serwisami. Dzia\u0142a po prostu jako zwyk\u0142y plik binarny na ka\u017cdej maszynie w klastrze, i to wszystko!<\/p>\n<h1>Ekosystem Nomada sk\u0142ada si\u0119 z lu\u017ano powi\u0105zanych komponent\u00f3w<\/h1>\n<p>\nPrawdziwa si\u0142a Nomada tkwi w jego ekosystemie. Dobrze integruje si\u0119 z innymi \u2014 ca\u0142kowicie opcjonalnymi \u2014 produktami, takimi jak <noindex><a rel=\"nofollow\" href=\"https:\/\/www.consul.io\/\">Consul<\/a><\/noindex> (przechowalnia kluczy-warto\u015bci) lub <noindex><a rel=\"nofollow\" href=\"https:\/\/www.vaultproject.io\/\">Vault<\/a><\/noindex> (zarz\u0105dzanie sekretami). W pliku Nomad znajduj\u0105 si\u0119 sekcje do wydobywania danych z tych us\u0142ug:<\/p>\n<pre><code class=\"plaintext\">template {\n  data = &lt;&lt;EOH\nLOG_LEVEL=\"{{key \"service\/geo-api\/log-verbosity\"}}\"\nAPI_KEY=\"{{with secret \"secret\/geo-api-key\"}}{{.Data.value}}{{end}}\"\nEOH\n\n  destination = \"secrets\/file.env\"\n  env         = true\n}<\/code><\/pre>\n<p>\nTutaj czytamy klucz <code>service\/geo-api\/log-verbosity<\/code> z Consula i w trakcie dzia\u0142ania przedstawiamy go jako zmienn\u0105 \u015brodowiskow\u0105 <code>LOG_LEVEL<\/code>. Przedstawiamy r\u00f3wnie\u017c klucz <code>secret\/geo-api-key<\/code> z Vaulta jako <code>API_KEY<\/code>. Proste, ale pot\u0119\u017cne!<\/p>\n<p>Dzi\u0119ki swojej prostocie Nomad \u0142atwo rozbudowuje si\u0119 z u\u017cyciem innych us\u0142ug przez API. Na przyk\u0142ad, obs\u0142ugiwane s\u0105 tagi dla zada\u0144. Oznaczamy wszystkie us\u0142ugi z metrykami tagiem <code>trv-metrics<\/code>. Dzi\u0119ki temu Prometheus \u0142atwo znajduje te us\u0142ugi przez Consula i okresowo sprawdza punkt ko\u0144cowy <code>\/metrics<\/code> w poszukiwaniu nowych danych. To samo mo\u017cna zrobi\u0107, na przyk\u0142ad, dla log\u00f3w, u\u017cywaj\u0105c <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/loki\">Loki<\/a><\/noindex>.<\/p>\n<p>Jest wiele innych przyk\u0142ad\u00f3w rozszerzalno\u015bci:<\/p>\n<ul>\n<li>Uruchamianie zada\u0144 Jenkins za pomoc\u0105 haka, a Consul \u015bledzi ponowne wdro\u017cenie zada\u0144 Nomad przy zmianach w konfiguracji us\u0142ugi.\n<\/li>\n<li>Ceph dodaje do Nomada rozproszon\u0105 system plik\u00f3w.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/fabiolb\/fabio\">fabio<\/a><\/noindex> do r\u00f3wnowa\u017cenia obci\u0105\u017cenia.<\/li>\n<\/ul>\n<p>\nWszystko to pozwala <noindex><a rel=\"nofollow\" href=\"https:\/\/tech.trivago.com\/2019\/01\/25\/nomad-our-experiences-and-best-practices\/\">naturalnie rozwija\u0107 infrastruktur\u0119<\/a><\/noindex> bez szczeg\u00f3lnej zale\u017cno\u015bci od dostawcy.<\/p>\n<h1>Uczciwe ostrze\u017cenie<\/h1>\n<p>\n\u017baden system nie jest doskona\u0142y. Nie zalecam wprowadzania najnowszych funkcji do produkcji od razu. Oczywi\u015bcie, s\u0105 b\u0142\u0119dy i brakuje funkcji, ale to samo odnosi si\u0119 do Kubernetes.<\/p>\n<p>W por\u00f3wnaniu do Kubernetes, spo\u0142eczno\u015b\u0107 Nomad jest mniejsza. Kubernetes ma ju\u017c oko\u0142o 75\u00a0000 commit\u00f3w i 2000 kontrybutor\u00f3w, podczas gdy Nomad ma oko\u0142o 14\u00a0000 commit\u00f3w i 300 kontrybutor\u00f3w. Nomad b\u0119dzie mie\u0107 trudno\u015bci, aby nad\u0105\u017cy\u0107 tempem za Kubernetes, ale mo\u017ce to nie jest konieczne! To bardziej wyspecjalizowany system, a mniejsza spo\u0142eczno\u015b\u0107 r\u00f3wnie\u017c oznacza, \u017ce Twoje zg\u0142oszenie pull mo\u017ce by\u0107 \u0142atwiej zauwa\u017cone i zaakceptowane, w por\u00f3wnaniu z Kubernetes.<\/p>\n<h1>Podsumowanie<\/h1>\n<p>\nPodsumowanie: nie u\u017cywaj Kubernetes tylko dlatego, \u017ce wszyscy to robi\u0105. Dok\u0142adnie oce\u0144 swoje wymagania i sprawd\u017a, kt\u00f3ry instrument jest bardziej op\u0142acalny.<\/p>\n<p>Je\u015bli planujesz wdro\u017cy\u0107 du\u017c\u0105 ilo\u015b\u0107 jednorodnych us\u0142ug na infrastrukturze w skali, Kubernetes to dobry wyb\u00f3r. Po prostu pami\u0119taj o dodatkowej z\u0142o\u017cono\u015bci i kosztach operacyjnych. Niekt\u00f3re wydatki mo\u017cna unikn\u0105\u0107, korzystaj\u0105c z zarz\u0105dzanego \u015brodowiska Kubernetes, takiego jak <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/\">Google Kubernetes Engine<\/a><\/noindex> lub <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/eks\/\">Amazon EKS<\/a><\/noindex>.<\/p>\n<p>Je\u015bli po prostu szukasz niezawodnego orkiestratora, \u0142atwego w utrzymaniu i skalowalnego, dlaczego nie spr\u00f3bowa\u0107 Nomad? Mo\u017cesz by\u0107 zaskoczony, jak daleko to Ci\u0119 zaprowadzi.<\/p>\n<p>Je\u015bli por\u00f3wnasz Kubernetes do samochodu, Nomad b\u0119dzie skuterem. Czasami potrzebujesz jednego, a czasami drugiego. Oba maj\u0105 swoje miejsce.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/445030\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\u0435. \u0418\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u044f freepik, \u043b\u043e\u0433\u043e\u0442\u0438\u043f Nomad \u043e\u0442 HashiCorp Kubernetes\u00a0\u2014 \u044d\u0442\u043e 300-\u043a\u0438\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0432\u0430\u044f \u0433\u043e\u0440\u0438\u043b\u043b\u0430 \u0434\u043b\u044f \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u043e\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0430\u043c\u044b\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0432 \u043c\u0438\u0440\u0435, \u043d\u043e \u0434\u043e\u0440\u043e\u0433\u043e \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u0441\u044f. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0434\u043e\u0440\u043e\u0433\u043e \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438 \u043a\u0440\u0443\u0442\u0443\u044e \u043a\u0440\u0438\u0432\u0443\u044e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u044d\u0442\u043e \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0445 [&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":[],"tags":[],"class_list":["post-30199","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\u0435.\" \/>\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\/vozmozhno-vam-ne-nuzhen-kubernetes\" \/>\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\udd47\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u0435\u043d Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:34:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:34:08+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\udd47Mo\u017ce nie potrzebujesz Kubernetes | ProHoster","description":"Dziewczyna na skuterze.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes","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\udd47\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u0435\u043d Kubernetes | ProHoster","og:description":"\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\u0435.","og:url":"https:\/\/prohoster.info\/pl\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:34:08+00:00","article:modified_time":"2019-10-31T18:34:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30199","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":"Article","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 00:06:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:39:24","updated":"2026-01-21 00:06: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\/30199","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=30199"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/30199\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=30199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=30199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=30199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}