{"id":31211,"date":"2020-06-24T14:12:04","date_gmt":"2020-06-24T12:12:04","guid":{"rendered":"https:\/\/fotc.com\/kubernetes-tutorial\/"},"modified":"2023-11-27T10:45:02","modified_gmt":"2023-11-27T09:45:02","slug":"kubernetes-tutorial","status":"publish","type":"post","link":"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/","title":{"rendered":"Kubernetes &#8211; co to jest i jak zacz\u0105\u0107? Tutorial na GCP"},"content":{"rendered":"\n<div class=\"wp-block-yoast-seo-table-of-contents yoast-table-of-contents collapsed\"><h2> Spis tre\u015bci <\/h2><ul><li><a href=\"#h-co-to-jest-kubernetes\" data-level=\"2\">Co to jest Kubernetes?<\/a><ul><li><a href=\"#h-centralizacja\" data-level=\"3\">Centralizacja<\/a><\/li><li><a href=\"#h-skalowalno\" data-level=\"3\">Skalowalno\u015b\u0107<\/a><\/li><li><a href=\"#h-r-ne-rozwi-zania-infrastrukturalne\" data-level=\"3\">R\u00f3\u017cne rozwi\u0105zania infrastrukturalne<\/a><\/li><li><a href=\"#h-sp-jno-mi-dzy-rodowiskami\" data-level=\"3\">Sp\u00f3jno\u015b\u0107 mi\u0119dzy \u015brodowiskami<\/a><\/li><li><a href=\"#h-zapobieganie-awariom-i-samoczynne-naprawianie\" data-level=\"3\">Zapobieganie awariom i samoczynne naprawianie<\/a><\/li><li><a href=\"#h-ci-g-y-rozw-j-platformy\" data-level=\"3\">Ci\u0105g\u0142y rozw\u00f3j platformy<\/a><\/li><\/ul><\/li><li><a href=\"#h-przyk-ady-u-ycia-kubernetes\" data-level=\"2\">Przyk\u0142ady u\u017cycia Kubernetes<\/a><\/li><li><a href=\"#h-podstawy-kubernetes-na-google-cloud-platform-tutorial\" data-level=\"2\">Podstawy Kubernetes na Google Cloud Platform &#8211; tutorial<\/a><\/li><\/ul><\/div>\n\n\n\n<p><span>Coraz wi\u0119cej system\u00f3w informatycznych jest tworzonych z u\u017cyciem kontener\u00f3w. Konteneryzacja polega na umieszczaniu komponent\u00f3w aplikacji (jej proces\u00f3w, zale\u017cno\u015bci, bibliotek, plik\u00f3w konfiguracyjnych czy lokalnych baz danych) w kilku lub wi\u0119cej \u201czbiorach\u201d nazywanych kontenerami. \u0141\u0105czy w sobie zalety wirtualizacji oraz utrzymywania systemu na fizycznym serwerze. Czyli zapewnia skalowalno\u015b\u0107, szybk\u0105 i lekk\u0105 przeno\u015bno\u015b\u0107 oprogramowania i separacj\u0119 instancji przy zachowaniu du\u017cej wydajno\u015bci.<\/span><\/p>\n\n\n\n<!--more-->\n\n\n\n<p><span>O ile kilkoma kontenerami mo\u017cna sterowa\u0107 r\u0119cznie, o tyle w przypadku setek czy tysi\u0119cy rozproszonych i dynamicznie zarz\u0105dzanych kontener\u00f3w robi si\u0119 to bardzo k\u0142opotliwe. Odpowiedzi\u0105 jest orkiestracja, czyli wprowadzenie automatyzacji, grupowe zarz\u0105dzanie i monitorowanie kontener\u00f3w. <strong>Najpopularniejszym narz\u0119dziem do orkiestracji jest Kubernetes<\/strong>.<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fotc.com\/pl\/ebooks\/kubernetes-w-chmurze-google\/\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/Kubernetes_v2_ebook_banner-1024x209.png\" alt=\"Google Kubernetes Engine - ebook\" class=\"wp-image-57150\"\/><\/a><\/figure>\n\n\n\n<h2 id=\"h-co-to-jest-kubernetes\"><span>Co to jest Kubernetes?<\/span><\/h2>\n\n\n\n<p><span>Kubernetes to platforma open source, kt\u00f3ra s\u0142u\u017cy do zarz\u0105dzania kontenerami na du\u017c\u0105 skal\u0119.&nbsp;<\/span><\/p>\n\n\n\n<p><span>Nazwa pochodzi z j\u0119zyka greckiego \u2013 \u201c\u03ba\u03c5\u03b2\u03b5\u03c1\u03bd\u03ae\u03c4\u03b7\u03c2\u201d oznacza sternika, co doskonale przekazuje cel platformy. Kubernetes jest te\u017c nazywany K8s \u2013 to skr\u00f3t, w kt\u00f3rym osiem liter \u201cubernete\u201d zosta\u0142o zast\u0105pionych cyfr\u0105 \u201c8\u201d.<\/span><\/p>\n\n\n\n<p><span><strong>Narz\u0119dzie zosta\u0142o stworzone przez Google blisko 20 lat temu<\/strong> na potrzeby obs\u0142ugi obci\u0105\u017cenia produkcyjnego firmy. W 2014 roku projekt przekazano organizacji Cloud Native Computing Foundation i upubliczniono \u2013 od tego czasu <strong>platforma jest wci\u0105\u017c rozwijana przez organizacj\u0119 oraz firmy i specjalist\u00f3w korzystaj\u0105cych z Kubernetes<\/strong> (w projektach open source mog\u0105 uczestniczy\u0107 te\u017c ich u\u017cytkownicy).<\/span><\/p>\n\n\n\n<p>Zobacz: <a href=\"https:\/\/fotc.com\/pl\/blog\/kubernetes-docker-swarm\/\" class=\"ek-link\">Kubernetes vs. Docker Swarm<\/a> &#8211; por\u00f3wnanie platform do orkiestracji<\/p>\n\n\n\n<p><span>K8s wspiera automatyzacj\u0119 wdro\u017ce\u0144, skalowanie aplikacji, zarz\u0105dzanie kontenerami, monitoruje procesy i zmiany. W\u0142a\u015bciciele aplikacji oraz zespo\u0142y developerskie korzystaj\u0105ce z platformy <strong>mog\u0105 skupi\u0107 si\u0119 mocniej na rozwoju swojego produktu ni\u017c na dzia\u0142aniach DevOps<\/strong> (zarz\u0105dzaniu infrastruktur\u0105 i dopasowywaniu produktu do jej wymaga\u0144). Kubernetes pozwala zarz\u0105dza\u0107 klastrami (grupami wsp\u00f3\u0142pracuj\u0105cych ze sob\u0105 serwer\u00f3w), tak by z perspektywy u\u017cytkownika wygl\u0105da\u0142y one \u2013 w uproszczeniu \u2013 jak jedna maszyna. K8s zdejmuje z developera obowi\u0105zek dostosowywania aplikacji do wymaga\u0144 infrastruktury \u2013 specjalista zleca uruchomienie aplikacji, a <strong>Kubernetes mo\u017ce sam rozdzieli\u0107 us\u0142ugi mi\u0119dzy klastry, serwery i skierowa\u0107 si\u0119 do odpowiednich kontener\u00f3w<\/strong>. Kubernetes posiada <strong>w\u0142asn\u0105 form\u0119 load-balancingu<\/strong>, czyli techniki rozpraszania (r\u00f3wnowa\u017cenia) obci\u0105\u017cenia mi\u0119dzy wiele maszyn.<\/span><\/p>\n\n\n\n<p><span>K8s jest wspierany przez wi\u0119kszo\u015b\u0107 chmur publicznych, w tym <a href=\"https:\/\/fotc.com\/pl\/google-cloud-platform\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">Google Cloud Platform.<\/a><\/span><\/p>\n\n\n\n<p><strong>Czytaj te\u017c:<\/strong><\/p>\n\n\n\n<ul><li><a href=\"https:\/\/fotc.com\/pl\/blog\/google-cloud-platform-co-to\/\" class=\"ek-link\">Co to jest Google Cloud Platform i w jaki spos\u00f3b wspiera biznes?<\/a><\/li><li><a href=\"https:\/\/fotc.com\/pl\/blog\/konto-gcp-rejestracja-konfiguracja\/\">Jak utworzy\u0107 i skonfigurowa\u0107 konto w Google Cloud Platform?<\/a><\/li><li><a href=\"https:\/\/fotc.com\/pl\/blog\/google-cloud-platform-20-korzysci\/\">20 powod\u00f3w, by wybra\u0107 infrastruktur\u0119 chmurow\u0105 GCP<\/a><\/li><\/ul>\n\n\n\n<h3 id=\"h-centralizacja\"><span>Centralizacja<\/span><\/h3>\n\n\n\n<p><span>Platforma Kubernetes pozwala zarz\u0105dza\u0107 wszystkimi klastrami, serwerami i kontenerami <strong>z jednego miejsca<\/strong>, niezale\u017cnie od tego, gdzie znajduj\u0105 si\u0119 maszyny lub komponenty aplikacji. Wspomaga grupowe planowanie, wdro\u017cenia, skalowanie i zarz\u0105dzanie cyklami \u017cycia element\u00f3w.<\/span><\/p>\n\n\n\n<h3 id=\"h-skalowalno\"><span>Skalowalno\u015b\u0107<\/span><\/h3>\n\n\n\n<p><span>U podstaw K8s le\u017cy skalowalno\u015b\u0107 \u2013 narz\u0119dzie zosta\u0142o stworzone przez Google w celu uruchamiania miliard\u00f3w kontener\u00f3w tygodniowo. Niezale\u017cnie od ilo\u015bci wykonywanych akcji, wykorzystywanych maszyn czy posiadanych kontener\u00f3w, <strong>nie ma potrzeby poszerzania lub zmniejszania zespo\u0142u DevOps<\/strong>. Mo\u017cliwe jest te\u017c <strong>skalowanie poziome<\/strong> i <strong>zmniejszanie zapotrzebowania na zasoby<\/strong> za pomoc\u0105 komend lub przez interfejs u\u017cytkownika b\u0105d\u017a automatycznie, w oparciu o obci\u0105\u017cenie procesora.<\/span><\/p>\n\n\n\n<h3 id=\"h-r-ne-rozwi-zania-infrastrukturalne\"><span>R\u00f3\u017cne rozwi\u0105zania infrastrukturalne<\/span><\/h3>\n\n\n\n<p><span>Kubernetes dzia\u0142a razem z infrastruktur\u0105 na <strong>serwerach fizycznych<\/strong>, z <strong>rozwi\u0105zaniami chmurowymi<\/strong> oraz <strong>hybrydowymi<\/strong> (po\u0142\u0105czeniem lokalnego centrum z chmur\u0105). Jest wspierany przez r\u00f3\u017cnych dostawc\u00f3w chmur publicznych, m.in. Google Cloud Platform, Amazon Web Services czy Microsoft Azure.<\/span><\/p>\n\n\n\n<p>Zobacz: <a href=\"https:\/\/fotc.com\/pl\/blog\/on-premise-private-public-hybrid-multi-cloud-zalety-wady\/\" class=\"ek-link\">On-premise, chmura prywatna, publiczna, hybrydowa i multi-cloud &#8211; zalety i wady rozwi\u0105za\u0144<\/a><\/p>\n\n\n\n<h3 id=\"h-sp-jno-mi-dzy-rodowiskami\"><span>Sp\u00f3jno\u015b\u0107 mi\u0119dzy \u015brodowiskami<\/span><\/h3>\n\n\n\n<p><span>Po uruchomieniu aplikacji na platformie staje si\u0119 ona aplikacj\u0105 przeno\u015bn\u0105. Aplikacj\u0119 mo\u017cna <strong>przenosi\u0107 mi\u0119dzy \u015brodowiskami<\/strong> (np. developerskim, testowym, produkcyjnym) oraz <strong>mi\u0119dzy rozwi\u0105zaniami infrastrukturalnymi<\/strong> <strong>z zachowaniem sp\u00f3jno\u015bci aplikacji<\/strong>.<\/span><\/p>\n\n\n\n<h3 id=\"h-zapobieganie-awariom-i-samoczynne-naprawianie\"><span>Zapobieganie awariom i samoczynne naprawianie<\/span><\/h3>\n\n\n\n<p><span>K8s wprowadza zmiany stopniowo, jednocze\u015bnie <strong>monitoruj\u0105c stan ka\u017cdej instancji<\/strong>. Je\u015bli co\u015b p\u00f3jdzie nie tak, Kubernetes <strong>automatycznie wycofuje zmiany<\/strong>. W przypadku gdy jeden kontener ulega awarii, narz\u0119dzie zast\u0119puje go innym, jednocze\u015bnie pracuj\u0105c nad przywr\u00f3ceniem dzia\u0142ania lub usuwaj\u0105c zb\u0119dne elementy.<\/span><\/p>\n\n\n\n<h3 id=\"h-ci-g-y-rozw-j-platformy\"><span>Ci\u0105g\u0142y rozw\u00f3j platformy<\/span><\/h3>\n\n\n\n<p><span>Kubernetes jest projektem otwarto\u017ar\u00f3d\u0142owym. <strong>W jego rozw\u00f3j zaanga\u017cowani s\u0105 nie tylko w\u0142a\u015bciciele, ale te\u017c osoby korzystaj\u0105ce z platformy na co dzie\u0144: developerzy, specjali\u015bci DevOps, firmy programistyczne<\/strong>. Tworz\u0105 nowe elementy lub proponuj\u0105 wprowadzenie ulepsze\u0144 istniej\u0105cych proces\u00f3w i narz\u0119dzi.<\/span><\/p>\n\n\n<div class=\"bg-yellow banners mt-4 mb-4\">\r\n  <div class=\"container \">\r\n    <div class=\"row sw\">\r\n        <div class=\"col-md-7 sw col-12 mb-md-0\">\r\n        <span style=\"margin-bottom: 1rem;\r\n    font-weight: 500;margin-top: 25px;\r\n    line-height: 1.1;\r\n    font-size: 2rem; display: block; color:#fff\">Testuj Google Kubernetes Engine za darmo<\/span>\r\n        <\/div>\r\n        <div class=\"col-md-5 sw sww\">\r\n        <img style=\"margin-top:25px;\" src=\"\/app\/uploads\/2023\/02\/FOTC-LOGO-WWW-RGB-RED-2.png\">\r\n        <\/div>\r\n        <\/div>\r\n        <div class=\"row\">\r\n          <div class=\"col-md-7\"><p style=\"color:#fff\">FOTC to wsparcie 24\/7, zni\u017cki na us\u0142ugi GCP<\/p><\/div>\r\n        <div class=\"col-md-5 col-12 text-cent-right\">\r\n        <a class=\"newbtn bannerbtn\" href=\"https:\/\/fotc.com\/pl\/kontakt\/\">Zapytaj o szczeg\u00f3\u0142y<\/a>\r\n        \r\n        <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\n\n\n<h2 id=\"h-przyk-ady-u-ycia-kubernetes\"><span>Przyk\u0142ady u\u017cycia Kubernetes<\/span><\/h2>\n\n\n\n<p><span>Platforma jest ch\u0119tnie wykorzystywana przez firmy posiadaj\u0105ce zaawansowane serwisy, zarz\u0105dzaj\u0105ce du\u017cymi ilo\u015bciami danych, nastawione na p\u0142ynny i szybki rozw\u00f3j.<\/span><\/p>\n\n\n\n<ul><li><b>CERN (The European Organization for Nuclear Research)<\/b><span> przechowuje obecnie ok. 300 petabajt\u00f3w danych, a ich liczba wci\u0105\u017c si\u0119 powi\u0119ksza (szacuje si\u0119, \u017ce w ci\u0105gu kilku lat danych w CERN b\u0119dzie 10 razy wi\u0119cej). Ponadto organizacja posiada sezonowe wzrosty obci\u0105\u017cenia i musi mie\u0107 du\u017ce mo\u017cliwo\u015bci skalowania. CERN korzysta z infrastruktury hybrydowej \u2013 na co dzie\u0144 dane przechowuje i przetwarza na lokalnych serwerach, a w razie potrzeby skaluje rozwi\u0105zanie do chmury. Prowadzenie orkiestracji kontener\u00f3w za pomoc\u0105 Kubernetes pozwoli\u0142o organizacji w pe\u0142ni zautomatyzowa\u0107 obs\u0142ug\u0119 aplikacji, upro\u015bci\u0107 proces wdro\u017ce\u0144 i przyspieszy\u0107 rozw\u00f3j technologiczny mi\u0119dzy innymi poprzez skr\u00f3cenie czasu dodania klastra z ponad 3 godzin do 15 minut, a nowego w\u0119z\u0142a (maszyny w klastrze) z ponad 30 minut do 2 minut.<\/span><\/li><li><b>Nokia<\/b><span> tworzy produkty i rozwi\u0105zania zwi\u0105zane z sieci\u0105 telekomunikacyjn\u0105 i dostarcza rozwi\u0105zania wielu operatorom. Firmy partnerskie Nokii posiadaj\u0105 r\u00f3\u017cne rozwi\u0105zania infrastrukturalne: jedni korzystaj\u0105 z lokalnych centr\u00f3w danych (fizycznych serwer\u00f3w), inni z maszyn wirtualnych lub chmur, inne firmy z rozwi\u0105za\u0144 hybrydowych. Celem Nokii jest dostarczenie partnerom w pe\u0142ni efektywnie dzia\u0142aj\u0105cego rozwi\u0105zania bez potrzeby dostosowywania produktu za ka\u017cdym razem pod inn\u0105 infrastruktur\u0119. Korzystaj\u0105c z Kubernetes s\u0105 w stanie tworzy\u0107 produkty, kt\u00f3re mo\u017cna uruchomi\u0107 w ka\u017cdym \u015brodowisku. K8s wspiera te\u017c dodawanie nowych funkcjonalno\u015bci i prowadzenie test\u00f3w bez podzia\u0142u na docelowe \u015brodowisko, co pozwala zaoszcz\u0119dzi\u0107 kilkaset godzin przy ka\u017cdym wdro\u017ceniu.<\/span><\/li><li><b>Adidas<\/b><span> rozwija sw\u00f3j serwis e-commerce z wykorzystaniem mo\u017cliwo\u015bci, jakie daje Kubernetes. Zanim firma zacz\u0119\u0142a korzysta\u0107 z K8s, wprowadzanie zmian sz\u0142o mozolnie, a wdro\u017cenia utyka\u0142y cz\u0119sto na etapie DevOps \u2013 przyk\u0142adowo developerzy, by uzyska\u0107 dost\u0119p do wirtualnej maszyny, musieli czeka\u0107 od 30 minut do nawet tygodnia. Po przeprowadzeniu <a href=\"https:\/\/fotc.com\/pl\/blog\/konteneryzacja-czym-sa-kontenery\/\" target=\"_blank\" aria-label=\"konteneryzacji (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">konteneryzacji<\/a> serwisu i uruchomieniu Kubernetes, developerzy mog\u0105 skupi\u0107 si\u0119 na tworzeniu nowych funkcjonalno\u015bci zamiast na szczeg\u00f3\u0142owym dopasowywaniu systemu do wymaga\u0144 infrastruktury czy czekaniu na wsparcie ze strony DevOps. Wcze\u015bniej nowe wydania by\u0142y robione co 4-6 tygodni, teraz s\u0105 prowadzone kilka razy dziennie.<\/span><\/li><\/ul>\n\n\n\n<p><span>Z mo\u017cliwo\u015bci Kubernetes korzystaj\u0105 r\u00f3wnie\u017c Booking.com, BlaBlaCar, Grupa ING czy Zalando.<\/span><\/p>\n\n\n\n<h2 id=\"h-podstawy-kubernetes-na-google-cloud-platform-tutorial\"><span>Podstawy Kubernetes na Google Cloud Platform &#8211; tutorial<\/span><\/h2>\n\n\n\n<p><span>Pierwszym krokiem jest wej\u015bcie na konsol\u0119 Google Cloud: <\/span><a href=\"https:\/\/console.cloud.google.com\/\" rel=\"nofollow\"><span>https:\/\/console.cloud.google.com\/<\/span><\/a>.<\/p>\n\n\n\n<p><span>Tworzymy nowy projekt (robimy to przez klikni\u0119cie w nazw\u0119 projektu obok napisu \u201cGoogle Cloud Platform\u201d w lewym g\u00f3rnym rogu).<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/nowe-1-tworzenie-projektu-1024x578.png\" alt=\"Google Cloud Platform - tworzenie nowego projektu\" class=\"wp-image-32616\"\/><\/figure>\n\n\n\n<p><span>Uzupe\u0142niamy nazw\u0119 projektu i klikamy <strong>Create<\/strong>.<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/nowe-2-nowy-projekt-1024x578.png\" alt=\"Google Cloud Platform - tworzenie nowego projektu\" class=\"wp-image-32620\"\/><\/figure>\n\n\n\n<p><span>Wchodz\u0105c ponownie w list\u0119 projekt\u00f3w (przycisk ko\u0142o napisu \u201cGoogle Cloud Platform\u201d) uzyskamy <strong>ID projektu<\/strong>. B\u0119dzie nam ono potrzebne na dalszych etapach.<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/nowe-3-nowy-projekt-1024x578.png\" alt=\"Google Cloud Platform - tworzenie nowego projektu\" class=\"wp-image-32624\"\/><\/figure>\n\n\n\n<p><span>Otwieramy <\/span><b>Cloudshell<\/b><span> (prawy g\u00f3rny r\u00f3g).<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/01-Cloudshell-1024x578.png\" alt=\"Kubernetes tutorial - cloudshell\" class=\"wp-image-32552\"\/><\/figure>\n\n\n\n<p><span>Za pomoc\u0105 poni\u017cszej komendy ustawiamy projekt, na kt\u00f3rym b\u0119dziemy pracowa\u0107:<\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">gcloud config set project k8s-demo-281313<\/pre>\n\n\n\n<p><span>Zwr\u00f3\u0107 uwag\u0119, \u017ceby w komendzie wpisa\u0107 ID swojego projektu \u2013 mo\u017ce si\u0119 r\u00f3\u017cni\u0107 od podanego przyk\u0142adu.<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/02-ustawienie-projektu-2-1-1024x578.png\" alt=\"Kubernetes tutorial - ustawienia projektu\" class=\"wp-image-32602\"\/><\/figure>\n\n\n\n<p><span>Nast\u0119pnie ustawiamy region, w kt\u00f3rym chcemy wdro\u017cy\u0107 aplikacj\u0119:<\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">gcloud config set compute\/zone europe-west3-c<\/pre>\n\n\n\n<p><span>Lista region\u00f3w znajduje si\u0119 tutaj: <\/span><a href=\"https:\/\/cloud.google.com\/about\/locations#europe\" rel=\"nofollow\"><span>https:\/\/cloud.google.com\/about\/locations#europe<\/span><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/03-ustawienie-regionu-1024x578.png\" alt=\"Kubernetes tutorial - ustawienie regionu\" class=\"wp-image-32560\"\/><\/figure>\n\n\n\n<p><span>Tworzymy klaster przy u\u017cyciu komendy:<\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">gcloud container clusters create my-cluster--num-nodes=1<\/pre>\n\n\n\n<p><span>Flaga <\/span><strong>&#8211;num-nodes<\/strong><span> pozwala ustali\u0107 liczb\u0119 node\u2019\u00f3w (maszyn fizycznych lub wirtualnych) w klastrze. Wi\u0119cej informacji o fladze znajduje si\u0119 pod linkiem:&nbsp;<\/span><a href=\"https:\/\/cloud.google.com\/sdk\/gcloud\/reference\/container\/clusters\/create#--num-nodes\" rel=\"nofollow\"><span>https:\/\/cloud.google.com\/sdk\/gcloud\/reference\/container\/clusters\/create#&#8211;num-nodes<\/span><\/a><\/p>\n\n\n\n<p><b>Ta operacja mo\u017ce zaj\u0105\u0107 kilka minut.<\/b><\/p>\n\n\n\n<p><span>Po zako\u0144czonej operacji otrzymujemy tabel\u0119 w Cloudshell, kt\u00f3ra przedstawia parametry klastra.<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/04-parametry-klastra-1024x578.png\" alt=\"Kubernetes tutorial - parametry klastra\" class=\"wp-image-32564\"\/><\/figure>\n\n\n\n<p><span>Teraz u\u017cywamy komendy:<\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">gcloud container clusters get-credentials my-cluster<\/pre>\n\n\n\n<p><span>Komenda aktualizuje plik <\/span><strong>kubeconfig<\/strong><span> o odpowiednie referencje i informacje w celu dalszej pracy z klastrem.<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/05-aktualizacja-pliku-o-referencje-i-informacje-1024x578.png\" alt=\"Kubernetes tutorial - aktualizacja pliku o referencje i informacje\" class=\"wp-image-32568\"\/><\/figure>\n\n\n\n<p><span>By wdro\u017cy\u0107 aplikacj\u0119 do klastra, u\u017cywamy komendy:&nbsp;<\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">kubectl create deployment hello-server --image=gcr.io\/google-samples\/hello-app:1.0<\/pre>\n\n\n\n<p><span>Flaga <\/span><strong>&#8211;image<\/strong><span> wskazuje link do skonteneryzowanej aplikacji w us\u0142udze Container Registry (GCR). Us\u0142uga <strong>Container Registry<\/strong> pozwala przechowywa\u0107 skonteneryzowane obrazy aplikacji. Wi\u0119cej informacji o funkcji GCR znajduje si\u0119 pod linkiem: <\/span><a href=\"https:\/\/cloud.google.com\/container-registry\" rel=\"nofollow\"><span>https:\/\/cloud.google.com\/container-registry<\/span><\/a><\/p>\n\n\n\n<p><span>Tutaj znajduje si\u0119 kod \u017ar\u00f3d\u0142owy aplikacji <strong>hello-app<\/strong>, kt\u00f3r\u0105 wdra\u017camy: <\/span><a href=\"https:\/\/github.com\/GoogleCloudPlatform\/kubernetes-engine-samples\/blob\/master\/hello-app\/main.go\" rel=\"nofollow\"><span>https:\/\/github.com\/GoogleCloudPlatform\/kubernetes-engine-samples\/blob\/master\/hello-app\/main.go<\/span><\/a><\/p>\n\n\n\n<p><span>Mo\u017cemy wdro\u017cy\u0107 nasz\u0105 aplikacj\u0119 wskazuj\u0105c skonteneryzowany obraz z Container Registry.<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/06-contaner-registry-1024x578.png\" alt=\"Kubernetes tutorial - contaner registry\" class=\"wp-image-32572\"\/><\/figure>\n\n\n\n<p><span>Teraz nale\u017cy ujawni\u0107 aplikacj\u0119 (<strong>expose<\/strong>). W tym celu u\u017cywamy komendy:<\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">kubectl expose deployment hello-server --type LoadBalancer \\\n--port 80 --target-port 8080<\/pre>\n\n\n\n<p><span>Wi\u0119cej informacji o komendzie <\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">kubectl<\/pre>\n\n\n\n<p> znajduje si\u0119 pod linkiem: <a href=\"https:\/\/kubernetes.io\/docs\/reference\/generated\/kubectl\/kubectl-commands#expose\" rel=\"nofollow\"><span>https:\/\/kubernetes.io\/docs\/reference\/generated\/kubectl\/kubectl-commands#expose<\/span><\/a><\/p>\n\n\n\n<p><span>Flaga <\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">--type<\/pre>\n\n\n\n<p><span>odpowiada za wskazanie typu wdro\u017cenia (ClusterIP, NodePort, LoadBalancer lub ExternalName). W tym przypadku tworzymy [inline_code]LoadBalancer[\/inline_code], kt\u00f3ry sprawi, \u017ce aplikacja b\u0119dzie dost\u0119pna przez internet.<\/span><\/p>\n\n\n\n<p><span>Flaga <\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">--port<\/pre>\n\n\n\n<p><span>&nbsp;wskazuje port, na kt\u00f3rym aplikacja ma by\u0107 serwowana.<\/span><\/p>\n\n\n\n<p><span>Flaga <\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">--target-port<\/pre>\n\n\n\n<p><span>&nbsp;wskazuje port w kontenerze, do kt\u00f3rego us\u0142uga powinna kierowa\u0107 ruch.<\/span><\/p>\n\n\n\n<p><span>Nast\u0119pnie wpisujemy komend\u0119:&nbsp;<\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">kubectl get service hello-server<\/pre>\n\n\n\n<p><span>Dzi\u0119ki temu otrzymujemy <strong>publiczne IP klastra<\/strong>, na kt\u00f3rym wdro\u017cyli\u015bmy aplikacj\u0119:<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/07-IP-klastra-1024x578.png\" alt=\"Kubernetes tutorial - IP klastra\" class=\"wp-image-32576\"\/><\/figure>\n\n\n\n<p>Oto efekt:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/08-hello-world-1024x115.png\" alt=\"Kubernetes tutorial - hello world\" class=\"wp-image-32580\"\/><\/figure>\n\n\n\n<p><span>Aby usun\u0105\u0107 klaster i cofn\u0105\u0107 wdro\u017cenie nale\u017cy u\u017cy\u0107 komend:<\/span><\/p>\n\n\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">kubectl delete service hello-server\ngcloud container clusters delete my-cluster<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/fotc.com\/app\/uploads\/2021\/08\/09-usuniecie-klastra-1024x442.png\" alt=\"Kubernetes tutorial - usuniecie klastra\" class=\"wp-image-32584\"\/><\/figure>\n\n\n\n<p><span>I to tyle z podstaw Kubernetes!<\/span><\/p>\n\n\n\n<style>.tb_button {padding:1px;cursor:pointer;border-right: 1px solid #8b8b8b;border-left: 1px solid #FFF;border-bottom: 1px solid #fff;}.tb_button.hover {borer:2px outset #def; background-color: #f8f8f8 !important;}.ws_toolbar {z-index:100000} .ws_toolbar .ws_tb_btn {cursor:pointer;border:1px solid #555;padding:3px}   .tb_highlight{background-color:yellow} .tb_hide {visibility:hidden} .ws_toolbar img {padding:2px;margin:0px}<\/style>\n","protected":false},"excerpt":{"rendered":"<p>Coraz wi\u0119cej system\u00f3w informatycznych jest tworzonych z u\u017cyciem kontener\u00f3w. Konteneryzacja polega na umieszczaniu komponent\u00f3w aplikacji (jej proces\u00f3w, zale\u017cno\u015bci, bibliotek, plik\u00f3w konfiguracyjnych czy lokalnych baz danych) w kilku lub wi\u0119cej \u201czbiorach\u201d nazywanych kontenerami. \u0141\u0105czy w sobie zalety wirtualizacji oraz utrzymywania systemu na fizycznym serwerze. Czyli zapewnia skalowalno\u015b\u0107, szybk\u0105 i lekk\u0105 przeno\u015bno\u015b\u0107 oprogramowania i separacj\u0119 instancji przy&#8230;<\/p>\n","protected":false},"author":13,"featured_media":75185,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":6,"_editorskit_typography_data":[],"_editorskit_blocks_typography":"","_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}"},"categories":[560],"tags":[126,195,139],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v16.7 (Yoast SEO v19.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kubernetes - co to jest i jak zacz\u0105\u0107? - FOTC<\/title>\n<meta name=\"description\" content=\"Dowiedz si\u0119, czym dok\u0142adnie jest platforma Kubernetes i jak zacz\u0105\u0107 z niej korzysta\u0107. To obecnie najpopularniejsze narz\u0119dzie do orkiestracji kontener\u00f3w.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kubernetes - co to jest i jak zacz\u0105\u0107? Tutorial na GCP\" \/>\n<meta property=\"og:description\" content=\"Dowiedz si\u0119, czym dok\u0142adnie jest platforma Kubernetes i jak zacz\u0105\u0107 z niej korzysta\u0107. To obecnie najpopularniejsze narz\u0119dzie do orkiestracji kontener\u00f3w.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"FOTC\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-24T12:12:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-27T09:45:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fotc.com\/app\/uploads\/2020\/06\/gcp_pl_kubernetes.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ida O\u017carowska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/\",\"url\":\"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/\",\"name\":\"Kubernetes - co to jest i jak zacz\u0105\u0107? - FOTC\",\"isPartOf\":{\"@id\":\"https:\/\/fotc.com\/#website\"},\"datePublished\":\"2020-06-24T12:12:04+00:00\",\"dateModified\":\"2023-11-27T09:45:02+00:00\",\"author\":{\"@id\":\"https:\/\/fotc.com\/#\/schema\/person\/84a7428ea802a35722a1839225ab0dfb\"},\"description\":\"Dowiedz si\u0119, czym dok\u0142adnie jest platforma Kubernetes i jak zacz\u0105\u0107 z niej korzysta\u0107. To obecnie najpopularniejsze narz\u0119dzie do orkiestracji kontener\u00f3w.\",\"breadcrumb\":{\"@id\":\"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/\"]}],\"accessibilityFeature\":[\"tableOfContents\"]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PL\",\"item\":\"https:\/\/fotc.com\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Google Cloud\",\"item\":\"https:\/\/fotc.com\/pl\/blog\/category\/google-cloud-platform-pl\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Kubernetes &#8211; co to jest i jak zacz\u0105\u0107? Tutorial na GCP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fotc.com\/#website\",\"url\":\"https:\/\/fotc.com\/\",\"name\":\"FOTC\",\"description\":\"Partner Google Cloud\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fotc.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/fotc.com\/#\/schema\/person\/84a7428ea802a35722a1839225ab0dfb\",\"name\":\"Ida O\u017carowska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/fotc.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e05ba028ea67bd9a1d51e046729088a9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e05ba028ea67bd9a1d51e046729088a9?s=96&d=mm&r=g\",\"caption\":\"Ida O\u017carowska\"},\"description\":\"Ida has a Master's Degree in Communication Management from the University of Wroc\u0142aw. For over 7 years, she has been creating content that connects the worlds of technology and business. At FOTC, she is a Content Manager.\",\"url\":\"https:\/\/fotc.com\/pl\/blog\/author\/ida-ozarowska\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kubernetes - co to jest i jak zacz\u0105\u0107? - FOTC","description":"Dowiedz si\u0119, czym dok\u0142adnie jest platforma Kubernetes i jak zacz\u0105\u0107 z niej korzysta\u0107. To obecnie najpopularniejsze narz\u0119dzie do orkiestracji kontener\u00f3w.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/","og_locale":"pl_PL","og_type":"article","og_title":"Kubernetes - co to jest i jak zacz\u0105\u0107? Tutorial na GCP","og_description":"Dowiedz si\u0119, czym dok\u0142adnie jest platforma Kubernetes i jak zacz\u0105\u0107 z niej korzysta\u0107. To obecnie najpopularniejsze narz\u0119dzie do orkiestracji kontener\u00f3w.","og_url":"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/","og_site_name":"FOTC","article_published_time":"2020-06-24T12:12:04+00:00","article_modified_time":"2023-11-27T09:45:02+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/fotc.com\/app\/uploads\/2020\/06\/gcp_pl_kubernetes.png","type":"image\/png"}],"author":"Ida O\u017carowska","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/","url":"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/","name":"Kubernetes - co to jest i jak zacz\u0105\u0107? - FOTC","isPartOf":{"@id":"https:\/\/fotc.com\/#website"},"datePublished":"2020-06-24T12:12:04+00:00","dateModified":"2023-11-27T09:45:02+00:00","author":{"@id":"https:\/\/fotc.com\/#\/schema\/person\/84a7428ea802a35722a1839225ab0dfb"},"description":"Dowiedz si\u0119, czym dok\u0142adnie jest platforma Kubernetes i jak zacz\u0105\u0107 z niej korzysta\u0107. To obecnie najpopularniejsze narz\u0119dzie do orkiestracji kontener\u00f3w.","breadcrumb":{"@id":"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/"]}],"accessibilityFeature":["tableOfContents"]},{"@type":"BreadcrumbList","@id":"https:\/\/fotc.com\/pl\/blog\/kubernetes-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"PL","item":"https:\/\/fotc.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Google Cloud","item":"https:\/\/fotc.com\/pl\/blog\/category\/google-cloud-platform-pl\/"},{"@type":"ListItem","position":3,"name":"Kubernetes &#8211; co to jest i jak zacz\u0105\u0107? Tutorial na GCP"}]},{"@type":"WebSite","@id":"https:\/\/fotc.com\/#website","url":"https:\/\/fotc.com\/","name":"FOTC","description":"Partner Google Cloud","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fotc.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/fotc.com\/#\/schema\/person\/84a7428ea802a35722a1839225ab0dfb","name":"Ida O\u017carowska","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/fotc.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e05ba028ea67bd9a1d51e046729088a9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e05ba028ea67bd9a1d51e046729088a9?s=96&d=mm&r=g","caption":"Ida O\u017carowska"},"description":"Ida has a Master's Degree in Communication Management from the University of Wroc\u0142aw. For over 7 years, she has been creating content that connects the worlds of technology and business. At FOTC, she is a Content Manager.","url":"https:\/\/fotc.com\/pl\/blog\/author\/ida-ozarowska\/"}]}},"_links":{"self":[{"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/posts\/31211"}],"collection":[{"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/comments?post=31211"}],"version-history":[{"count":0,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/posts\/31211\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/media\/75185"}],"wp:attachment":[{"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/media?parent=31211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/categories?post=31211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/tags?post=31211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}