{"id":3420,"date":"2017-09-01T07:20:00","date_gmt":"2017-09-01T05:20:00","guid":{"rendered":"http:\/\/vm.piszki.pl\/?p=3420"},"modified":"2017-09-01T07:20:00","modified_gmt":"2017-09-01T05:20:00","slug":"vsphere-integrated-containers-1-1-1-instalacja-i-konfiguracja","status":"publish","type":"post","link":"https:\/\/vm.piszki.pl\/?p=3420","title":{"rendered":"vSphere Integrated Containers 1.1.1 &ndash; Instalacja i konfiguracja"},"content":{"rendered":"<p align=\"justify\">Firma VMware do\u015b\u0107 d\u0142ugo nie by\u0142a w stanie zareagowa\u0107 na rewolucj\u0119 jak\u0105 przyni\u00f3s\u0142 ze sob\u0105 Docker. Nie zdecydowano si\u0119 na zmiany w ESXi, tak aby kontenery by\u0142y uruchamiane bezpo\u015brednio w j\u0105drze ESXi. VMware poszed\u0142 inn\u0105 drog\u0105, na tyle ciekaw\u0105, \u017ce warto si\u0119 jej przyjrze\u0107. Ich w\u0142asna interpretacja konteneryzacji opiera si\u0119 na projekcie PhotonOS (ultra lekki system typu Linux bazuj\u0105cy na CentOS) i nazywa si\u0119 vSphere Integrated Containers. W tym rozwi\u0105zaniu VMware umo\u017cliwia uruchomienie pojedynczego kontenera jako ultralekkiej wirtualnej maszyny. Brzmi jak zaprzeczenie idei Dockera? Nie, to jej rozwini\u0119cie, przy takim podej\u015bciu hostem dockera jest ca\u0142e \u015brodowisko vSphere a nie pojedyncza maszyna Linux. Z punktu widzenia Administratora vSphere, maszyny z uruchomionymi dockerami to same problemy, s\u0105 du\u017ce, obci\u0105\u017cone, nie wiadomo co jest na nich uruchomione. Stosuj\u0105c podej\u015bcie firmy VMware mo\u017cna o wiele \u0142atwiej zarz\u0105dza\u0107 kontenerami w \u015brodowisku vSphere. W tym artykule poka\u017c\u0119 jak zainstalowa\u0107 VIC, jak uruchomi\u0107 host docker\u00f3w VCH i jak u\u017cywa\u0107 Admira\u0142a i Harbor (o tym czym s\u0105 te us\u0142ug b\u0119dzie dalej).<\/p>\n<p align=\"justify\"><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic1\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic1_thumb.png\" alt=\"vic1\" width=\"539\" height=\"227\" border=\"0\" \/><\/a><\/p>\n<p><!--more--><\/p>\n<p align=\"justify\">vSphere Integrated Containers s\u0105 dost\u0119pne wraz z licencj\u0105 Enterprise (i wy\u017cej), zaczynamy od \u015bci\u0105gni\u0119cia VIC OVA. Za\u0142adowanie OVA do \u015brodowiska powinno si\u0119 odby\u0107 z poziomu vSphere Web Client (Flex). Najwa\u017cniejszym etapem konfiguracji jest podanie w\u0142a\u015bciwych certyfikat\u00f3w dla poszczeg\u00f3lnych us\u0142ug. Wszystko mo\u017ce by\u0107 uruchomione na samopodpisanych certyfikatach lub podpisanych przez lokalne CA. W moim przypadku wygenerowa\u0142em certyfikat typu wildcard (*.piszki.lab) kt\u00f3rego cz\u0119\u015bci\u0105 s\u0105 adresy IP kt\u00f3re b\u0119d\u0105 wykorzystane jako VCH (VMware Container Host, czyli Docker).<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic2\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic2_thumb.png\" alt=\"vic2\" width=\"508\" height=\"68\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Certyfikat zosta\u0142 podpisany przez moje lokalne CA (pierwszy IP to adres VIC a pozosta\u0142e to adresy VCH). VIC jest maszyn\u0105 na kt\u00f3rej b\u0119dzie uruchomiony Admiral (portal daj\u0105cy podgl\u0105d na to co si\u0119 dzieje w \u015brodowisku kontener\u00f3w), Harbor (lokalny, prywatny rejestr obraz\u00f3w kontener\u00f3w) oraz serwer plik\u00f3w. Certyfikat dla Admiral zostawiamy pusty (wygeneruje si\u0119 automatycznie), jest jaki\u015b b\u0142\u0105d kt\u00f3ry sprawia \u017ce Admiral nie dzia\u0142a na zewn\u0119trznym certyfikacie, dla pozosta\u0142ych us\u0142ug wgrywamy w\u0142asne certyfikaty. Porty zostawiamy domy\u015blne.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic3\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic3_thumb.png\" alt=\"vic3\" width=\"571\" height=\"509\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Na tym etapie mo\u017cemy si\u0119 zalogowa\u0107 do Harbor:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic5\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic5_thumb.png\" alt=\"vic5\" width=\"582\" height=\"471\" border=\"0\" \/><\/a><\/p>\n<p>Oraz do Admiral:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic6\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic6_thumb.png\" alt=\"vic6\" width=\"606\" height=\"288\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Po uruchomieniu VIC z serwera plik\u00f3w (https:\/\/vic:9443) \u015bci\u0105gamy vic_1.1.1.tar.gz i wypakowujemy na maszynie Windows lub Linux.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic4\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic4_thumb.png\" alt=\"vic4\" width=\"293\" height=\"122\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Celowo w tym artykule pomin\u0119 instalacj\u0119 plugina VIC dla vSphere Web Client, plugin ten ma zerow\u0105 funkcjonalno\u015b\u0107. Z pomoc\u0105 polecenia vic-machine musimy otworzy\u0107 port firewall ma serwerze ESXi tak aby umo\u017cliwi\u0107 tworzenie kontener\u00f3w. Aby wykona\u0107 te polecenie, b\u0119dziemy potrzebowa\u0107 odcisk palca certyfikatu vCenter.<\/p>\n<p>vic-machine update firewall \u2013target pvc1.piszki.lab \u2013user piotr \u2013password xxx \u2013allow \u2013compute-resource=LAB \u2013thumbprint x:x:x:x\u2026<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic7.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic7\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic7_thumb.png\" alt=\"vic7\" width=\"605\" height=\"154\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Mo\u017cemy przyst\u0105pi\u0107 do uruchomienia pierwszego VCH, jest to d\u0142uga komenda kt\u00f3rej prze\u0142\u0105czniki wyja\u015bni\u0119 poni\u017cej:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic8.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic8\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic8_thumb.png\" alt=\"vic8\" width=\"610\" height=\"460\" border=\"0\" \/><\/a><\/p>\n<p>Wyja\u015bnienie prze\u0142\u0105cznik\u00f3w:<\/p>\n<p>compute-resource = resource pool, czyli pula zasob\u00f3w wewn\u0105trz kt\u00f3rej tworzymy hosta<\/p>\n<p>name = nazwa VM<\/p>\n<p>image-store = datastore na kt\u00f3ry wgrana b\u0119dzie VM z VCH<\/p>\n<p>bridge-network = sie\u0107 w kt\u00f3rej b\u0119d\u0105 si\u0119 komunikowa\u0142y poszczeg\u00f3lne kontenery (je\u015bli tego potrzebujemy)<\/p>\n<p>public-network = sie\u0107 w kt\u00f3rej wystawiane b\u0119d\u0105 us\u0142ugi (adres ip docker hosta VCH)<\/p>\n<p>no-tlsverify = w komunikacj z VCH polecenie docker nie b\u0119dzie musia\u0142o u\u017cywa\u0107 certyfikatu CA<\/p>\n<p>tls-cname = nazwa FQDN u\u017cytego certyfikatu wildcard<\/p>\n<p>cert, key, ca = certyfikat i klucz wildcard<\/p>\n<p>https-proxy = dla tych kt\u00f3rzy nie maj\u0105 bezpo\u015bredniego wyj\u015bcia do Internetu (dost\u0119p do Docker Hub)<\/p>\n<p>volume-store = datastore na kt\u00f3rym b\u0119dziemy sk\u0142adowa\u0107 sta\u0142e (persistent) volumeny pod\u0142\u0105czane do kontener\u00f3w<\/p>\n<p>registry-ca = certyfikat CA kt\u00f3ry wystawi\u0142 certyfikat dla Harbor (patrz wy\u017cej), tutaj to jest ten sam lokalny CA<\/p>\n<p align=\"justify\">Na tym etapie konfiguracja podstawowa zosta\u0142a zako\u0144czona, mo\u017cemy stworzy\u0107 nasz pierwszy kontener. Wykorzystamy\u00a0 na pocz\u0105tku do tego Admiral, zaczniemy oczywi\u015bcie od dodania hosta VCH, aby to zrobi\u0107, musimy stworzy\u0107 nowy profil z uprawnieniami (logowanie za pomoc\u0105 certyfikat\u00f3w). Wklejamy tutaj ten sam certyfikat i klucz kt\u00f3ry zosta\u0142 u\u017cyty przy tworzeniu VCH.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic9.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic9\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic9_thumb.png\" alt=\"vic9\" width=\"470\" height=\"656\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Weryfikacja powinna przebiec poprawnie.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic10.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic10\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic10_thumb.png\" alt=\"vic10\" width=\"534\" height=\"462\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Host zosta\u0142 dodany poprawnie, wida\u0107 ile jest uruchomionych kontener\u00f3w i obci\u0105\u017cenie CPU.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic11.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic11\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic11_thumb.png\" alt=\"vic11\" width=\"531\" height=\"394\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Sam host VCH po uruchomieniu zajmuje tylko 2GB RAM, ale wska\u017anik zu\u017cycia pami\u0119ci podawany na obrazku wy\u017cej, odnosi si\u0119 do ca\u0142ego \u015brodowiska vSphere. Wida\u0107 to dobrze gdy odpytamy hosta za pomoc\u0105 standardowego polecenia docker info:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic13.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic13\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic13_thumb.png\" alt=\"vic13\" width=\"524\" height=\"439\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Wska\u017aniki total memory i CPU odnosz\u0105 si\u0119 do ESXi na kt\u00f3rym jest uruchomiony VCH. Tak jak pisa\u0142em wcze\u015bniej, przy takim podej\u015bciu do tematu, uzyskujemy Docker Host o w zasadzie nieograniczonych parametrach w stosunku do zwyk\u0142ej VM z systemem Linux na kt\u00f3rej b\u0119d\u0105 dzia\u0142a\u0142y kontenery. Admiral, je\u015bli ma po\u0142\u0105czenie do Internetu, podpina si\u0119 domy\u015blnie pod Docker Hub z kt\u00f3rego mo\u017cemy wygenerowa\u0107 dowolny kontener.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic14.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic14\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic14_thumb.png\" alt=\"vic14\" width=\"523\" height=\"275\" border=\"0\" \/><\/a><\/p>\n<p>Zalet\u0105 tego portalu jest to, \u017ce mamy podgl\u0105d na to co si\u0119 dzieje wewn\u0105trz kontenera po jego uruchomieniu.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic15.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic15\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic15_thumb.png\" alt=\"vic15\" width=\"504\" height=\"535\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Oczywi\u015bcie mo\u017cemy te\u017c generowa\u0107 kontenery w standardowy spos\u00f3b (jak i obs\u0142ugiwa\u0107 ca\u0142ego VCH) za pomoc\u0105 polecenia Docker.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic16.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic16\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic16_thumb.png\" alt=\"vic16\" width=\"496\" height=\"48\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">A jak to wygl\u0105da po stronie vSphere? Ca\u0142kiem ciekawie, wida\u0107 wyra\u017anie ile kontener\u00f3w zosta\u0142o stworzonych, ile dzia\u0142a i mo\u017cna dok\u0142adnie sprawdzi\u0107 jakie maj\u0105 parametry.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic17.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"vic17\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2017\/09\/vic17_thumb.png\" alt=\"vic17\" width=\"610\" height=\"323\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Nie unikniemy pojawienia si\u0119 kontener\u00f3w w \u015brodowisku vSphere, deweloperzy ci\u0105gn\u0105 w kierunku CI i pe\u0142nej automatyzacji procesu wytwarzania i uruchamiania aplikacji. Uwa\u017cam, \u017ce vSphere Integrated Containers to krok w dobrym kierunku, \u0142\u0105czy on ESXi i Dockera w spos\u00f3b nieomal idealny. Jest to co prawda w zasadzie pierwsze wydanie tej us\u0142ugi kt\u00f3rym mo\u017cna si\u0119 pobawi\u0107 w \u015brodowisku i kt\u00f3re nie wspiera jeszcze wszystkich aspekt\u00f3w Dockera (nie dzia\u0142aj\u0105 np. polecenia docker import). Ale ju\u017c na horyzoncie mamy premier\u0119 PhotonOS 1.2 i VIC 1.2 kt\u00f3re pchn\u0105 ca\u0142e rozwi\u0105zanie do przodu. Zach\u0119cam wszystkich do zapoznania si\u0119 z VIC bo na prawd\u0119 warto.<\/p>\n<div style='text-align:left' class='yasr-auto-insert-visitor'><\/div>","protected":false},"excerpt":{"rendered":"<p>Firma VMware do\u015b\u0107 d\u0142ugo nie by\u0142a w stanie zareagowa\u0107 na rewolucj\u0119 jak\u0105 przyni\u00f3s\u0142 ze sob\u0105 Docker. Nie zdecydowano si\u0119 na zmiany w ESXi, tak aby kontenery by\u0142y uruchamiane bezpo\u015brednio w j\u0105drze ESXi. VMware poszed\u0142 inn\u0105 drog\u0105, na tyle ciekaw\u0105, \u017ce &hellip; <a href=\"https:\/\/vm.piszki.pl\/?p=3420\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":3424,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"yasr_overall_rating":0,"yasr_post_is_review":"","yasr_auto_insert_disabled":"","yasr_review_type":"","footnotes":""},"categories":[6,45],"tags":[120,121,119],"class_list":["post-3420","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lab","category-poradniki","tag-docker","tag-vch","tag-vic"],"yasr_visitor_votes":{"stars_attributes":{"read_only":false,"span_bottom":false},"number_of_votes":2,"sum_votes":10},"_links":{"self":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/3420"}],"collection":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3420"}],"version-history":[{"count":3,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/3420\/revisions"}],"predecessor-version":[{"id":3423,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/3420\/revisions\/3423"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/media\/3424"}],"wp:attachment":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}