{"id":153,"date":"2022-04-07T12:35:00","date_gmt":"2022-04-07T12:35:00","guid":{"rendered":"http:\/\/szatan.it\/?p=153"},"modified":"2023-01-09T11:32:35","modified_gmt":"2023-01-09T11:32:35","slug":"prawda-o-tanzu-technicznie-rzecz-biorac","status":"publish","type":"post","link":"https:\/\/szatan.it\/index.php\/2022\/04\/07\/prawda-o-tanzu-technicznie-rzecz-biorac\/","title":{"rendered":"PRAWDA O TANZU \u2013 TECHNICZNIE RZECZ BIOR\u0104C"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Jaki\u015b czas temu nasz kolega&nbsp;Micha\u0142&nbsp;przedstawi\u0142 demo jak uruchomi\u0107 VMware Tanzu. Natomiast ja napisa\u0142em kilka s\u0142\u00f3w wstepu na temat tego rozwi\u0105zania (link poni\u017cej), ale odnosz\u0119 wra\u017cenie, \u017ce potrzeba uzupe\u0142ni\u0107 kilka rzeczy. Musimy jednak zrobi\u0107 krok w ty\u0142. Bez wi\u0119kszego przynudzania, zaczynajmy!&nbsp;&nbsp;<\/h4>\n\n\n\n<p>W ostatnim artykule wspomnia\u0142em troch\u0119 o wersjach, \u017ce mo\u017cemy korzysta\u0107 z NSX-T lub zewn\u0119trznego load balancera. Ale nie wyja\u015bni\u0142em, jak wp\u0142ywa to na dzia\u0142anie, czy mo\u017cliwo\u015bci samego Tanzu. Zaczynaj\u0105c od vSpere 7 U1, vSphere with Tanzu, mo\u017ce by\u0107 uruchomione na dwa sposoby (je\u017celi m\u00f3wimy o cz\u0119\u015bci sieciowej).<\/p>\n\n\n\n<p>W gr\u0119 tutaj wchodzi wspomniany&nbsp;NSX-T&nbsp;lub&nbsp;vSphere&nbsp;Distributed Switches (vDS). Wykorzystanie jednego lub drugiego rozwi\u0105zania wp\u0142ywa na funkcjonalno\u015b\u0107. W przypadku NSX-T mo\u017cemy korzysta\u0107 w pe\u0142ni z zarz\u0105dzania sieci\u0105 i bezpiecze\u0144stwem, mo\u017cemy r\u00f3wnie\u017c uruchomi\u0107 Tanzu Kubernetes Grid Service, czy vSphere Pod Service.<\/p>\n\n\n\n<p>Oczywi\u015bcie id\u0105c dalej, mo\u017cemy wykorzystywa\u0107 wbudowane: Network, Storage i Registry Services. Brzmi bardzo fajnie. Inaczej wygl\u0105da sprawa, je\u017celi wykorzystamy vDS\u2019y.<\/p>\n\n\n\n<p>W takiej sytuacji sie\u0107 jest oparta o prze\u0142\u0105czniki wirtualne, mo\u017cemy uruchomi\u0107 Tanzu Kubernetes Grid Services, wspierane s\u0105 zewn\u0119trzne load balancery i w pe\u0142ni mo\u017cemy korzysta\u0107 s Storage Service. Niestety nie mo\u017cemy korzysta\u0107 z vSphere Pod i wbudowanego rejestru obraz\u00f3w Harbor. Oczywi\u015bcie mo\u017cemy wykorzysta\u0107 wersje standalone lub inne rozwi\u0105zanie tego typu.&nbsp;&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Zerknijmy szybko jeszcze na Contol Plane.<\/h4>\n\n\n\n<p>W przypadku uruchomienia VMware Tanzu powo\u0142ywane s\u0105 trzy maszyny wirtualne, kt\u00f3re nie r\u00f3\u017cni\u0105 si\u0119 znacz\u0105co od Kubernetes control plane nod\u00f3w. Powo\u0142ane maszyny wsp\u00f3\u0142tworz\u0105 tzw. Supervisior Cluster. Oczywi\u015bcie dodatkowo tworzone s\u0105 polityki odno\u015bnie umiejscowienia maszyn na hostach. Maszyny te zapewniaj\u0105 interfejs zarz\u0105dzania i programisty, udost\u0119pniaj\u0105 us\u0142ugi i modu\u0142y dla klastra i zarz\u0105dzaj\u0105 cyklem \u017cycia maszyn wirtualnych w ramach klastra.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Od strony sieciowej maszyny wirtualne korzystaj\u0105 z 3 sieci.&nbsp;&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/inleo.pl\/wp-content\/uploads\/2022\/04\/Tanzu2_1-1024x481.png\" alt=\"Tanzu Rysunek Control Plane\" class=\"wp-image-9385\"\/><\/figure>\n<\/div>\n\n\n<p>Jak widzimy na za\u0142\u0105czonym obrazku etcd wykorzystuje sie\u0107 Management. Nasi kochani Developerzy dostaj\u0105 si\u0119 do infrastruktury przez VIP. Wszystkie pody, a w\u0142a\u015bciwie Control Plane komunikuje si\u0119 z Pod\u2019ami za pomoc\u0105 dedykowanej sieci.&nbsp;&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Magia Spherelet<\/h4>\n\n\n\n<p>W poprzednim artykule (link ni\u017cej) wspomina\u0142em, \u017ce hosty ESXi s\u0105 wykorzystywane jako Workery. Wszystko to za pomoc\u0105 instancji Spherelet, kt\u00f3ry jest specjaln\u0105 implementacj\u0105 kubelet i jest uruchamiana bezpo\u015brednio na ESXi i nie jest to maszyna wirtualna. Dzi\u0119ki temu host staje si\u0119 cz\u0119\u015bci\u0105 klastra Kubernetes. Dodatkowo Spherelet monitoruje vSphere Pod\u2019y, uruchamia je, zarz\u0105dza konfiguracja i komunikuje si\u0119 z Control Plane VM. Oto ca\u0142a magia. Wygl\u0105da to mniej wi\u0119cej (bardziej \u201ewi\u0119cej ni\u017c mniej\u201d) tak jak ni\u017cej \ud83d\ude0a<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/inleo.pl\/wp-content\/uploads\/2022\/04\/Tanzu2_2-1024x774.png\" alt=\"Tanzu Rysunek Sperelet\" class=\"wp-image-9387\"\/><\/figure>\n<\/div>\n\n\n<p>W tradycyjnym \u015brodowisku Kubernetes pody s\u0105 uruchamiane w ramach worker\u00f3w, kt\u00f3re chyba zawsze s\u0105 oparte o system Linux (mog\u0119 si\u0119 myli\u0107). W vSphere with Tanzu pody uruchamiane s\u0105 na ESXi bardzo podobnie jak maszyny wirtualne.&nbsp;&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Namespace \u2013 czyli granica zasob\u00f3w<\/h4>\n\n\n\n<p>Zosta\u0142a jeszcze jedna istotna rzecz, kt\u00f3r\u0105 chcia\u0142bym poruszy\u0107 w tym artykule \u2013&nbsp;<strong>Namespace<\/strong>. Cz\u0119sto zdarza si\u0119, \u017ce przez tak wiele warstw abstrakcji ju\u017c gubimy si\u0119. Niczym w filmie Incepcja.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Przestrze\u0144 nazw (Namespace) wyznacza granice zasob\u00f3w, na kt\u00f3rych mog\u0105 dzia\u0142a\u0107 vSphere Pods i klastry Kubernetes. Musimy jednak pami\u0119ta\u0107, \u017ce jest to Namespace po stronie \u015brodowiska vSphere. Oczywi\u015bcie je\u017celi powo\u0142amy klaster Kubernetes, tam te\u017c mamy do czynienia z Namespace. Dodatkowo musimy pami\u0119ta\u0107, \u017ce Namespace po stronie vSphere domy\u015blnie tworzony jest bez ogranicze\u0144. Aby zapewni\u0107 DevOps dost\u0119p wystarczy przypisa\u0107 im uprawnienia (u\u017cytkownikom lub grupie u\u017cytkownik\u00f3w). Niby banalna sprawa, ale cz\u0119sto mo\u017cna j\u0105 przeoczy\u0107 przede wszystkim, je\u017celi chodzi o limit zasob\u00f3w. Oczywi\u015bcie je\u017celi tworzymy nowy klaster Kubernetes to tworzony jest Control Plane i Workery. A logika wygl\u0105da tak:&nbsp;&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/inleo.pl\/wp-content\/uploads\/2022\/04\/Tanzu2_3-1024x587.png\" alt=\"Tanzu Rysunek Name space\" class=\"wp-image-9389\"\/><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\">Jeszcze kilka s\u0142\u00f3w o zasobach dyskowych<\/h4>\n\n\n\n<p>Wykorzystywany jest do tego CNS (Cloud Native Storage) kt\u00f3ry zintegrowany jest z vCenter Server. Zarz\u0105dza on powo\u0142ywaniem wolumen\u00f3w, wsparciem po stronie kontener\u00f3w i datastore vSphere. Zintegrowany jest r\u00f3wnie\u017c z SPBM (Sotrage Policy Based Management). Polityk\u0119 oraz limity przypisujemy dla konkretnego Namespace w vSphere. W \u015brodowisku vSphere with Tanzu obiekty wolumin\u00f3w trwa\u0142ych s\u0105 obs\u0142ugiwane prze FCD. Tanzu ob\u0142uguje dynamiczne udost\u0119pnianie wolumin\u00f3w w trybie ReadWriteOnce, co oznacza ze mog\u0105 by\u0107 montowane do pojedynczego noda. W wersji vSphere 7 U3 w klastrach Tanzu Kubernetes mo\u017cna montowa\u0107 woluminy oparte o vSAN w trybie RWX. Oczywi\u015bcie sta\u0142e woluminy wida\u0107 z poziomy interfejsu GUI vCenter dlatego \u0142atwo je monitorowa\u0107 i w razie problem\u00f3w diagnozowa\u0107.&nbsp;&nbsp;<\/p>\n\n\n\n<p>W tym artykule poruszy\u0142em tylko kilka technicznych rzeczy zwi\u0105zanych z Tanzu. Rozwi\u0105zanie jest, z jednej strony proste w uruchomieniu, ale ca\u0142a otoczka sieciowa, dyskowa i us\u0142ug skoncentrowanych na kontenerach mo\u017ce przyt\u0142oczy\u0107. To jak wielka g\u00f3ra p\u0142ywaj\u0105cych kontener\u00f3w, kt\u00f3rej szczyt nazywa si\u0119 VMware Tanzu. Trzeba uwa\u017ca\u0107, \u017ceby nie sko\u0144czy\u0107 jak Titanic na dnie, gdy odkryjemy co jest poni\u017cej powierzchni wody. Buul buul buul\u2026 \ud83d\ude0a&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p>Zapraszam do obejrzenia\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/youtu.be\/rlZyY4VXOlI\" target=\"_blank\">Demo<\/a>\u00a0przygotowanego przez Micha\u0142a Iwa\u0144czuka oraz do przeczytania\u00a0pierwszego artyku\u0142u o Taznu. Oczywi\u015bcie z czasem pojawi\u0105 si\u0119 kolejne, opisuj\u0105ce inne elementy ekosystemu Tanzu. Dlatego ju\u017c zapraszam do przeczytania.\u00a0\u00a0<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-center\">\u201e<em>Artyku\u0142 zosta\u0142 opublikowany na \u0142amach bloga evoila Poland<\/em>.\u201d<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jaki\u015b czas temu nasz kolega&nbsp;Micha\u0142&nbsp;przedstawi\u0142 demo jak uruchomi\u0107 VMware Tanzu. Natomiast ja napisa\u0142em kilka s\u0142\u00f3w wstepu na temat tego rozwi\u0105zania (link poni\u017cej), ale odnosz\u0119 wra\u017cenie, \u017ce potrzeba uzupe\u0142ni\u0107 kilka rzeczy. Musimy jednak zrobi\u0107 krok w ty\u0142. Bez wi\u0119kszego przynudzania, zaczynajmy!&nbsp;&nbsp; W ostatnim artykule wspomnia\u0142em troch\u0119 o wersjach, \u017ce mo\u017cemy korzysta\u0107 z NSX-T lub zewn\u0119trznego load [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":155,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,40,37,35],"tags":[],"class_list":["post-153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kontenery","category-nsx-t","category-tanzu","category-vmware"],"_links":{"self":[{"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/posts\/153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/comments?post=153"}],"version-history":[{"count":2,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/posts\/153\/revisions"}],"predecessor-version":[{"id":229,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/posts\/153\/revisions\/229"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/media\/155"}],"wp:attachment":[{"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/media?parent=153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/categories?post=153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/tags?post=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}