{"id":8,"date":"2024-01-09T14:58:00","date_gmt":"2024-01-09T14:58:00","guid":{"rendered":"https:\/\/pickledvm.ovh\/?p=8"},"modified":"2025-01-10T09:05:12","modified_gmt":"2025-01-10T09:05:12","slug":"harbor-part1","status":"publish","type":"post","link":"https:\/\/pickledvm.ovh\/?p=8","title":{"rendered":"Harbor jako narz\u0119dzie do zarz\u0105dzania obrazami w \u015brodowisku vSphere Tanzu part1"},"content":{"rendered":"<div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__avatar\"><img alt='' src='https:\/\/secure.gravatar.com\/avatar\/ef3ed636b97bf01235ed1d4c4d71b9ad1fcfa577983ae1e8ae1a5eb4d8e1554a?s=48&#038;d=mm&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/ef3ed636b97bf01235ed1d4c4d71b9ad1fcfa577983ae1e8ae1a5eb4d8e1554a?s=96&#038;d=mm&#038;r=g 2x' class='avatar avatar-48 photo' height='48' width='48' \/><\/div><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Slawomir Radzimski<\/p><\/div><\/div>\n\n\n<h3 class=\"wp-block-heading\">Harbor: Rozwi\u0105zanie do zarz\u0105dzania obrazami w \u015brodowisku vSphere Tanzu.<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"856\" src=\"https:\/\/pickledvm.ovh\/wp-content\/uploads\/2024\/01\/image-1024x856.png\" alt=\"\" class=\"wp-image-37\" srcset=\"https:\/\/pickledvm.ovh\/wp-content\/uploads\/2024\/01\/image-1024x856.png 1024w, https:\/\/pickledvm.ovh\/wp-content\/uploads\/2024\/01\/image-300x251.png 300w, https:\/\/pickledvm.ovh\/wp-content\/uploads\/2024\/01\/image-768x642.png 768w, https:\/\/pickledvm.ovh\/wp-content\/uploads\/2024\/01\/image-1536x1284.png 1536w, https:\/\/pickledvm.ovh\/wp-content\/uploads\/2024\/01\/image-2048x1712.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><br>Harbor to otwarta \u017ar\u00f3d\u0142owa platforma do przechowywania, skanowania i zarz\u0105dzania obrazami kontenerowymi, stworzona w celu wsparcia organizacji w zabezpieczeniu i kontroli nad infrastruktur\u0105 Docker. Jest szczeg\u00f3lnie przydatna w \u015brodowiskach produkcyjnych, gdzie du\u017ca liczba obraz\u00f3w kontenerowych wymaga odpowiedniego zarz\u0105dzania.<\/p>\n\n\n\n<p>Harbor pe\u0142ni rol\u0119 mened\u017cera rejestr\u00f3w obraz\u00f3w kontenerowych, oferuj\u0105c funkcjonalno\u015bci takie jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Autoryzacja u\u017cytkownik\u00f3w<\/strong>: Zarz\u0105dzanie uprawnieniami dost\u0119pu dla poszczeg\u00f3lnych projekt\u00f3w i obraz\u00f3w.<\/li>\n\n\n\n<li><strong>Skalowalno\u015b\u0107<\/strong>: Mo\u017cliwo\u015b\u0107 obs\u0142ugi du\u017cych rejestr\u00f3w kontener\u00f3w dzi\u0119ki wsparciu dla klastr\u00f3w HA.<\/li>\n\n\n\n<li><strong>Bezpiecze\u0144stwo<\/strong>: Skanowanie obraz\u00f3w pod k\u0105tem podatno\u015bci.<\/li>\n\n\n\n<li><strong>Replikacja obraz\u00f3w<\/strong>: Synchronizacja rejestr\u00f3w mi\u0119dzy centrami danych lub chmurami.<\/li>\n\n\n\n<li><strong>Wsparcie dla wielu backend\u00f3w pami\u0119ci<\/strong>: Obs\u0142uguje r\u00f3\u017cne systemy przechowywania, takie jak lokalne systemy plik\u00f3w, S3, czy Azure Blob Storage.<\/li>\n<\/ul>\n\n\n\n<p><strong>2. Za\u0142o\u017cenia systemu Harbor<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Integracja z systemami CI\/CD<\/strong>: Harbor jest przeznaczony do wsp\u00f3\u0142pracy z pipeline&#8217;ami CI\/CD, umo\u017cliwiaj\u0105c automatyczne zarz\u0105dzanie obrazami.<\/li>\n\n\n\n<li><strong>Zgodno\u015b\u0107 z OCI (Open Container Initiative)<\/strong>: Harbor wspiera standardy OCI, co czyni go kompatybilnym z r\u00f3\u017cnymi narz\u0119dziami kontenerowymi.<\/li>\n\n\n\n<li><strong>Wysoka dost\u0119pno\u015b\u0107 (HA)<\/strong>: Architektura wspiera redundancj\u0119 i r\u00f3wnowa\u017cenie obci\u0105\u017cenia, co zwi\u0119ksza niezawodno\u015b\u0107.<\/li>\n\n\n\n<li><strong>Rozbudowany system logowania i monitorowania<\/strong>: Zapewnia pe\u0142ny wgl\u0105d w akcje u\u017cytkownik\u00f3w oraz stan systemu.<\/li>\n<\/ul>\n\n\n\n<p><strong>3. Wymagania techniczne<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Serwer Docker<\/strong>: Harbor wymaga dzia\u0142aj\u0105cej instancji Dockera.<\/li>\n\n\n\n<li><strong>Wsparcie dla bazy danych<\/strong>: PostgreSQL lub MariaDB s\u0105 wykorzystywane do przechowywania danych o rejestrze.<\/li>\n\n\n\n<li><strong>Us\u0142ugi dodatkowe<\/strong>: Redis jest cz\u0119sto wykorzystywany do obs\u0142ugi pami\u0119ci podr\u0119cznej i przyspieszenia dzia\u0142ania.<\/li>\n\n\n\n<li><strong>HAProxy lub r\u00f3wnowa\u017cenie obci\u0105\u017cenia<\/strong>: Do zarz\u0105dzania ruchami w \u015brodowiskach wysokiej dost\u0119pno\u015bci.<\/li>\n\n\n\n<li><strong>Skanery podatno\u015bci<\/strong>: Zintegrowane narz\u0119dzia takie jak Trivy do oceny bezpiecze\u0144stwa obraz\u00f3w.<\/li>\n<\/ul>\n\n\n\n<p><strong>4. Korzy\u015bci z wykorzystania Harbor<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Zwi\u0119kszone bezpiecze\u0144stwo<\/strong>: Harbor oferuje wbudowane mechanizmy skanowania obraz\u00f3w, co pozwala na eliminacj\u0119 podatnych wersji przed wdro\u017ceniem.<\/li>\n\n\n\n<li><strong>Centralizacja zarz\u0105dzania obrazami<\/strong>: Wszystkie obrazy s\u0105 przechowywane w jednym miejscu, co u\u0142atwia ich kontrol\u0119 i zarz\u0105dzanie.<\/li>\n\n\n\n<li><strong>Kontrola dost\u0119pu<\/strong>: Dostosowanie poziomu uprawnie\u0144 dla u\u017cytkownik\u00f3w i zespo\u0142\u00f3w.<\/li>\n\n\n\n<li><strong>Efektywno\u015b\u0107 operacyjna<\/strong>: Automatyzacja replikacji obraz\u00f3w w wielu lokalizacjach, co przyspiesza proces wdro\u017ce\u0144.<\/li>\n\n\n\n<li><strong>Zgodno\u015b\u0107 z zasadami<\/strong>: Mo\u017cliwo\u015b\u0107 wdra\u017cania polityk zgodno\u015bci, np. blokowanie obraz\u00f3w niespe\u0142niaj\u0105cych kryteri\u00f3w bezpiecze\u0144stwa.<\/li>\n\n\n\n<li><strong>Wsparcie dla klastr\u00f3w HA<\/strong>: Zapewnienie dost\u0119pno\u015bci systemu nawet w przypadku awarii jednego z komponent\u00f3w.<\/li>\n<\/ul>\n\n\n\n<p><strong>5. Przyk\u0142ad zastosowania Harbor<\/strong><br>W swoim HOME LAB zaimplementowa\u0142em rozwi\u0105zanie wg powy\u017cej za\u0142\u0105czonego diagram. Pierwszy serwery HAProxy r\u00f3wnowa\u017cy ruch mi\u0119dzy instancjami Harbor, Redis i PostgreSQL przez co taka konfiguracja umo\u017cliwia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zabezpieczenie przed awariami dzi\u0119ki redundancji (np. &#8220;Harbor 1 Active&#8221; i &#8220;Harbor 2 Standby&#8221;).<\/li>\n\n\n\n<li>Wysok\u0105 dost\u0119pno\u015b\u0107 i mo\u017cliwo\u015b\u0107 skalowania dzi\u0119ki rozproszonej architekturze backendu (Redis i PostgreSQL).<\/li>\n\n\n\n<li>Obs\u0142ug\u0119 r\u00f3wnoleg\u0142ych zapyta\u0144 Docker klienta dzi\u0119ki skalowalnemu HAProxy.<\/li>\n<\/ul>\n\n\n\n<p>Harbor mo\u017ce pos\u0142u\u017cy\u0107 jako niezb\u0119dn\u0119 narz\u0119dzie w nowoczesnych \u015brodowiskach DevOps, pozwalaj\u0105ce na efektywne i bezpieczne zarz\u0105dzanie obrazami Docker.<br>Bez problemu integruje si\u0119 ze \u015brodowiskiem vSphere i Tanzu.<\/p>\n\n\n\n<p>C.D.N<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Harbor: Rozwi\u0105zanie do zarz\u0105dzania obrazami w \u015brodowisku vSphere Tanzu. Harbor to otwarta \u017ar\u00f3d\u0142owa platforma do przechowywania, skanowania i zarz\u0105dzania obrazami kontenerowymi, stworzona w celu wsparcia organizacji w zabezpieczeniu i kontroli nad infrastruktur\u0105 Docker. Jest szczeg\u00f3lnie przydatna w \u015brodowiskach produkcyjnych, gdzie du\u017ca liczba obraz\u00f3w kontenerowych wymaga odpowiedniego zarz\u0105dzania. Harbor pe\u0142ni rol\u0119 mened\u017cera rejestr\u00f3w obraz\u00f3w kontenerowych, oferuj\u0105c [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-8","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/pickledvm.ovh\/index.php?rest_route=\/wp\/v2\/posts\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pickledvm.ovh\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pickledvm.ovh\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pickledvm.ovh\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pickledvm.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8"}],"version-history":[{"count":5,"href":"https:\/\/pickledvm.ovh\/index.php?rest_route=\/wp\/v2\/posts\/8\/revisions"}],"predecessor-version":[{"id":132,"href":"https:\/\/pickledvm.ovh\/index.php?rest_route=\/wp\/v2\/posts\/8\/revisions\/132"}],"wp:attachment":[{"href":"https:\/\/pickledvm.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pickledvm.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pickledvm.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}