{"id":15,"date":"2022-10-07T09:15:00","date_gmt":"2022-10-07T09:15:00","guid":{"rendered":"http:\/\/szatan.it\/?p=15"},"modified":"2023-01-09T11:29:30","modified_gmt":"2023-01-09T11:29:30","slug":"prawda-o-tanzu-bazodanowo-rzecz-biorac","status":"publish","type":"post","link":"https:\/\/szatan.it\/index.php\/2022\/10\/07\/prawda-o-tanzu-bazodanowo-rzecz-biorac\/","title":{"rendered":"Prawda o TANZU &#8211; BAZODANOWO RZECZ BIOR\u0104C"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Za g\u00f3rami za lasami za bazami danych, pobili si\u0119 dwaj DevOps\u2019i poleceniami. Hej DevOps\u2019i nie&nbsp; bijta si\u0119!<br>Ma Tanzu trzy systemy baz danych \u2013 podzielita si\u0119.<\/h4>\n\n\n\n<p>Tak mo\u017cna zacz\u0105\u0107 nasz kolejny wpis o&nbsp;Tanzu&nbsp;i jego funkcjonalno\u015bciach. Nie jestem pewien czy DevOps\u2019i czy mo\u017ce inni in\u017cynierowie b\u0119d\u0105 zadowoleni z mo\u017cliwo\u015bci uruchomienia baz danych w ramach Kubernetesa, ale na pewno jest \u0142atwiej i szybciej. <\/p>\n\n\n\n<p>Z poprzednich publikacji poznali\u015bmy pewne technikalia zwi\u0105zane z vSpherem i Tanzu co przybli\u017cy\u0142o temat uruchamiania pod\u2019\u00f3w oraz klastr\u00f3w Kubernetes w ramach vSphere. Teraz idziemy o krok dalej i b\u0119dziemy uruchamia\u0107 bazy danych.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">W silnikach si\u0142a<\/h4>\n\n\n\n<p>Mowa tutaj o silnikach bazodanowych takich jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MySQL,<\/li>\n\n\n\n<li>Postgres&nbsp;<\/li>\n\n\n\n<li>Greenplum.<\/li>\n<\/ul>\n\n\n\n<p>Jest to element, kt\u00f3ry dostajemy w ramach licencji Tanzu Advanced. W\u0142a\u015bnie VMware Tanzu SQL pozwala na uruchamiania dedykowanych baz danych MySQL i Postgres jako instancje Kubernters albo maszyny wirtualne. Mechanizmy Tanzu SQL with MySQL for Kubernetes i Tanzu SQL with Postgres for Kubernetes s\u0105 operatorem Kubernetes, kt\u00f3ry automatyzuje uruchamianie, zarz\u0105dzanie i operacje na dedykowanych instancjach baz danych uruchamianych w ramach Kubernetes. Jak widzimy te dwa mechanizmy dzia\u0142aj\u0105 w ramach klastr\u00f3w Kubernetes, a istnieje jeszcze mo\u017cliwo\u015b\u0107 powo\u0142ywania i u\u017cywania instancji MySQL jako maszyny wirtualne. W przypadku MySQLa widzimy wi\u0119ksze mo\u017cliwo\u015bci ni\u017c w przypadku Postgresa ale mo\u017ce si\u0119 to kiedy\u015b zmieni. Teraz p\u0142ynnie przejd\u017amy do om\u00f3wienia tych oto produkt\u00f3w.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>VMware Tanzu SQL with Postgres for Kubernetes<\/strong> zawiera paczki udost\u0119pniane na stronie producenta systemu bazodanowego. Mowa tutaj o samym silniku bazodanowym, czyli PostgreSQL oraz komponentach takich jak pgBackRest, pg_auto_failover, psqlODBC i pgjdbc. Dodatkowo mamy Kubernetes Operator, kt\u00f3ry pozwala nam wdra\u017ca\u0107 i zarz\u0105dza\u0107 jedn\u0105 lub wieloma instancjami. Ca\u0142o\u015b\u0107 tworzy nam paczk\u0119 o nazwie Tanzu Postgres. Wspomniana paczka wspiera kilka platform np. TKGI, TKG on AWS, GKE, AKS czy Amazon EKS. Wcze\u015bniej warto sprawdzi\u0107 wersje naszego \u015brodowiska \u2013 kubectl get nodes -o wide.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nast\u0119pny etap to zainstalowanie Tanzu Postgres Operator.<\/li>\n\n\n\n<li>No i \u017ceby by\u0142o \u0142atwo i przyjemnie mo\u017cliwo\u015bci mamy dwie: Instalacja za pomoc\u0105 Helma<\/li>\n\n\n\n<li>albo za pomoc\u0105 Tanzu CLI.<\/li>\n<\/ul>\n\n\n\n<p>Je\u015bli chodzi o pierwszy spos\u00f3b to tak w skr\u00f3cie Helm u\u0142atwia zarz\u0105dzanie aplikacjami Kubernetes. Nie wa\u017cne z kt\u00f3rego sposobu b\u0119dziemy chcieli skorzysta\u0107 musimy mie\u0107 dost\u0119p to Tanzu Network w celu pobrania obraz\u00f3w do lokalnego repozytorium. Je\u017celi ju\u017c mamy to wszystko zainstalowane mo\u017cemy przej\u015b\u0107 do uruchamiania instancji Postgres.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Instancja Postrges<\/h4>\n\n\n\n<p>Oczywi\u015bcie tworz\u0105c now\u0105 instalacj\u0119 musimy u\u017cy\u0107 nowego PVC albo, gdy chcemy zrobi\u0107 aktualizacje u\u017cywamy ju\u017c istniej\u0105cy. Mo\u017cemy r\u00f3wnie\u017c zainstalowa\u0107 rozszerzenia, aczkolwiek musimy to ju\u017c zrobi\u0107 r\u0119cznie. Mowa tutaj o pgAudit, PostGIS czy Orafce. Przechodz\u0105c ju\u017c do funkcji Tanzu Postgres pozwala ona:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>wykonywa\u0107 kopie zapasowe na \u017cyczenie,<\/li>\n\n\n\n<li>u\u017cywa\u0107 harmonogramu do wykonania kopii<\/li>\n\n\n\n<li>oraz mamy mo\u017cliwo\u015b\u0107 przywracania in-place oraz do nowej instancji Postgres.<\/li>\n\n\n\n<li>Mo\u017cemy r\u00f3wnie\u017c tworzy\u0107 scenariusze Disaster Recovery, tworzy\u0107 konfiguracje wysokiej dost\u0119pno\u015bci (HA) jak poni\u017cej.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/inleo.pl\/wp-content\/uploads\/2022\/10\/pg-ha-1024x615.png\" alt=\"Postgres HA\" class=\"wp-image-9715\"\/><\/figure>\n\n\n\n<p>Oczywi\u015bcie potrzebujemy jeszcze monitorowa\u0107 instancje. R\u00f3wnie\u017c Tanzu Postgres ma tak\u0105 mo\u017cliwo\u015b\u0107, wykorzystuj\u0105c Postgres Exporter czyli nic innego jak&nbsp;<strong>Prometheus exporter for Postgres<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/inleo.pl\/wp-content\/uploads\/2022\/10\/pg-monitor-824x1024.png\" alt=\"Prometheus exporter for Postgres\" class=\"wp-image-9717\"\/><\/figure>\n\n\n\n<p><strong>Odpowiednikiem dla baz danych MySQL jest Tanzu MySQL for Kubernetes.<\/strong><\/p>\n\n\n\n<p>Funkcjonalno\u015bci s\u0105 identyczne jak w poprzednim rozwi\u0105zaniu. Mo\u017cemy uruchamia\u0107 pojedyncze instancje, instancje w HA, wykonywa\u0107 backup i przywracanie, szybk\u0105 aktualizacj\u0119 itp. Aby powo\u0142ywa\u0107 instancje MySQL musimy posiada\u0107 Tanzu MySQL Operator, kt\u00f3rego mo\u017cemy zainstalowa\u0107 na dwa sposoby.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sposobem pierwszym jest instalacja z Tanzu Network Registry, je\u017celi mamy dost\u0119p do Internetu lub z pobranego pliku, gdy takiego dost\u0119pu nie posiadamy. P\u00f3\u017aniej ju\u017c mo\u017cemy dzia\u0142a\u0107 na masow\u0105 skal\u0119 \ud83d\ude09.<\/li>\n\n\n\n<li>Pojedyncza instancja MySQLa jest niezwykle prosta. Sk\u0142ada si\u0119 z serwisu, poda i aby mie\u0107 gdzie przechowywa\u0107 dane z PVC. Je\u017celi chcemy mie\u0107 HA to pod\u00f3w jest wi\u0119cej i dodatkowo mamy proxy jak przedstawi\u0142em na schemacie poni\u017cej.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/inleo.pl\/wp-content\/uploads\/2022\/10\/mysql-ha-1024x736.png\" alt=\"MSQL HA\" class=\"wp-image-9719\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Monitorowanie MySQL\u2019a jest wykonana analogicznie jak w przypadku Postgres\u2019a<\/h4>\n\n\n\n<p>Oczywi\u015bcie jak wspomnia\u0142em wcze\u015bniej MySQL\u2019a mo\u017cna uruchamia\u0107 nie tylko w klastrach Kubernetes ale r\u00f3wnie\u017c jako dedykowane instancje. W tej sytuacji sprawa jest by\u0107 mo\u017ce bardziej z\u0142o\u017cona, poniewa\u017c potrzebujemy kilku nowych element\u00f3w. Tutaj do zarz\u0105dzania i wdra\u017cania wykorzystywany b\u0119dzie BOSH (to nie ten BOSCH od pralek i innych AGD). Kolejno musimy mie\u0107 BOSH Director, BOSH Agent, BOSH UAA czy w przypadku klastr\u00f3w DNS \u2013 BOSH DNS.<\/p>\n\n\n\n<p>Jako ostatni system bazodanowy zosta\u0142&nbsp;<strong>Greenplum<\/strong>. Tutaj tylko kilka s\u0142\u00f3w o samym systemie bazodanowym, poniewa\u017c jest on dla mnie nowy.<\/p>\n\n\n\n<p><br>Przeznaczony do masowego przetwarzania r\u00f3wnoleg\u0142ego. Dzi\u0119ki swojej budowie mo\u017ce dzia\u0142a\u0107 jako superkomputer bazy danych, kt\u00f3ry dzia\u0142a superszybko. Tanzu Greenplum mo\u017cemy uruchamia\u0107 w ramach Dell EMC VxRail, AWS, GCP, Azure oraz w \u015brodowiskach on-premis. Opr\u00f3cz odpowiedniego systemu operacyjnego jak RedHat, CentOS czy Ubuntu potrzebujemy r\u00f3wnie\u017c odpowiednio skonfigurowanej sieci (potrzebna jest sie\u0107 wewn\u0119trzna i zewn\u0119trzna), DRS, HA a w przypadku vSANu r\u00f3wnie\u017c musimy odpowiednio przygotowa\u0107 polityk\u0119 dyskow\u0105. Instalacje mo\u017cemy wykona\u0107 na kilka sposob\u00f3w. Standardow\u0105 jak dla pozosta\u0142ych przez VMware Tanzu Network, ale r\u00f3wnie\u017c za pomoc\u0105 OVA dost\u0119pnego w Marketplace.<\/p>\n\n\n\n<p>Ca\u0142e rozwi\u0105zanie Tanzu SQL wydaje si\u0119 by\u0107 fajn\u0105 automatyzacj\u0105 i uproszczeniem, ale czy tak rzeczywi\u015bcie jest to musicie oceni\u0107 sami.<\/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>Za g\u00f3rami za lasami za bazami danych, pobili si\u0119 dwaj DevOps\u2019i poleceniami. Hej DevOps\u2019i nie&nbsp; bijta si\u0119!Ma Tanzu trzy systemy baz danych \u2013 podzielita si\u0119. Tak mo\u017cna zacz\u0105\u0107 nasz kolejny wpis o&nbsp;Tanzu&nbsp;i jego funkcjonalno\u015bciach. Nie jestem pewien czy DevOps\u2019i czy mo\u017ce inni in\u017cynierowie b\u0119d\u0105 zadowoleni z mo\u017cliwo\u015bci uruchomienia baz danych w ramach Kubernetesa, ale na [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":140,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,37,35],"tags":[],"class_list":["post-15","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kontenery","category-tanzu","category-vmware"],"_links":{"self":[{"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/posts\/15","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=15"}],"version-history":[{"count":8,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/posts\/15\/revisions"}],"predecessor-version":[{"id":227,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/posts\/15\/revisions\/227"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/media\/140"}],"wp:attachment":[{"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/media?parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/categories?post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/szatan.it\/index.php\/wp-json\/wp\/v2\/tags?post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}