Piszki Lab

Analiza przypadku w języku przodków…

vSphere Integrated Containers 1.1.1 – Instalacja i konfiguracja

| 0 comments

Firma VMware dość długo nie była w stanie zareagować na rewolucję jaką przyniósł ze sobą Docker. Nie zdecydowano się na zmiany w ESXi, tak aby kontenery były uruchamiane bezpośrednio w jądrze ESXi. VMware poszedł inną drogą, na tyle ciekawą, że warto się jej przyjrzeć. Ich własna interpretacja konteneryzacji opiera się na projekcie PhotonOS (ultra lekki system typu Linux bazujący na CentOS) i nazywa się vSphere Integrated Containers. W tym rozwiązaniu VMware umożliwia uruchomienie pojedynczego kontenera jako ultralekkiej wirtualnej maszyny. Brzmi jak zaprzeczenie idei Dockera? Nie, to jej rozwinięcie, przy takim podejściu hostem dockera jest całe środowisko vSphere a nie pojedyncza maszyna Linux. Z punktu widzenia Administratora vSphere, maszyny z uruchomionymi dockerami to same problemy, są duże, obciążone, nie wiadomo co jest na nich uruchomione. Stosując podejście firmy VMware można o wiele łatwiej zarządzać kontenerami w środowisku vSphere. W tym artykule pokażę jak zainstalować VIC, jak uruchomić host dockerów VCH i jak używać Admirała i Harbor (o tym czym są te usług będzie dalej).

vic1

vSphere Integrated Containers są dostępne wraz z licencją Enterprise (i wyżej), zaczynamy od ściągnięcia VIC OVA. Załadowanie OVA do środowiska powinno się odbyć z poziomu vSphere Web Client (Flex). Najważniejszym etapem konfiguracji jest podanie właściwych certyfikatów dla poszczególnych usług. Wszystko może być uruchomione na samopodpisanych certyfikatach lub podpisanych przez lokalne CA. W moim przypadku wygenerowałem certyfikat typu wildcard (*.piszki.lab) którego częścią są adresy IP które będą wykorzystane jako VCH (VMware Container Host, czyli Docker).

vic2

Certyfikat został podpisany przez moje lokalne CA (pierwszy IP to adres VIC a pozostałe to adresy VCH). VIC jest maszyną na której będzie uruchomiony Admiral (portal dający podgląd na to co się dzieje w środowisku kontenerów), Harbor (lokalny, prywatny rejestr obrazów kontenerów) oraz serwer plików. Certyfikat dla Admiral zostawiamy pusty (wygeneruje się automatycznie), jest jakiś błąd który sprawia że Admiral nie działa na zewnętrznym certyfikacie, dla pozostałych usług wgrywamy własne certyfikaty. Porty zostawiamy domyślne.

vic3

Na tym etapie możemy się zalogować do Harbor:

vic5

Oraz do Admiral:

vic6

Po uruchomieniu VIC z serwera plików (https://vic:9443) ściągamy vic_1.1.1.tar.gz i wypakowujemy na maszynie Windows lub Linux.

vic4

Celowo w tym artykule pominę instalację plugina VIC dla vSphere Web Client, plugin ten ma zerową funkcjonalność. Z pomocą polecenia vic-machine musimy otworzyć port firewall ma serwerze ESXi tak aby umożliwić tworzenie kontenerów. Aby wykonać te polecenie, będziemy potrzebować odcisk palca certyfikatu vCenter.

vic-machine update firewall –target pvc1.piszki.lab –user piotr –password xxx –allow –compute-resource=LAB –thumbprint x:x:x:x…

vic7

Możemy przystąpić do uruchomienia pierwszego VCH, jest to długa komenda której przełączniki wyjaśnię poniżej:

vic8

Wyjaśnienie przełączników:

compute-resource = resource pool, czyli pula zasobów wewnątrz której tworzymy hosta

name = nazwa VM

image-store = datastore na który wgrana będzie VM z VCH

bridge-network = sieć w której będą się komunikowały poszczególne kontenery (jeśli tego potrzebujemy)

public-network = sieć w której wystawiane będą usługi (adres ip docker hosta VCH)

no-tlsverify = w komunikacj z VCH polecenie docker nie będzie musiało używać certyfikatu CA

tls-cname = nazwa FQDN użytego certyfikatu wildcard

cert, key, ca = certyfikat i klucz wildcard

https-proxy = dla tych którzy nie mają bezpośredniego wyjścia do Internetu (dostęp do Docker Hub)

volume-store = datastore na którym będziemy składować stałe (persistent) volumeny podłączane do kontenerów

registry-ca = certyfikat CA który wystawił certyfikat dla Harbor (patrz wyżej), tutaj to jest ten sam lokalny CA

Na tym etapie konfiguracja podstawowa została zakończona, możemy stworzyć nasz pierwszy kontener. Wykorzystamy  na początku do tego Admiral, zaczniemy oczywiście od dodania hosta VCH, aby to zrobić, musimy stworzyć nowy profil z uprawnieniami (logowanie za pomocą certyfikatów). Wklejamy tutaj ten sam certyfikat i klucz który został użyty przy tworzeniu VCH.

vic9

Weryfikacja powinna przebiec poprawnie.

vic10

Host został dodany poprawnie, widać ile jest uruchomionych kontenerów i obciążenie CPU.

vic11

Sam host VCH po uruchomieniu zajmuje tylko 2GB RAM, ale wskaźnik zużycia pamięci podawany na obrazku wyżej, odnosi się do całego środowiska vSphere. Widać to dobrze gdy odpytamy hosta za pomocą standardowego polecenia docker info:

vic13

Wskaźniki total memory i CPU odnoszą się do ESXi na którym jest uruchomiony VCH. Tak jak pisałem wcześniej, przy takim podejściu do tematu, uzyskujemy Docker Host o w zasadzie nieograniczonych parametrach w stosunku do zwykłej VM z systemem Linux na której będą działały kontenery. Admiral, jeśli ma połączenie do Internetu, podpina się domyślnie pod Docker Hub z którego możemy wygenerować dowolny kontener.

vic14

Zaletą tego portalu jest to, że mamy podgląd na to co się dzieje wewnątrz kontenera po jego uruchomieniu.

vic15

Oczywiście możemy też generować kontenery w standardowy sposób (jak i obsługiwać całego VCH) za pomocą polecenia Docker.

vic16

A jak to wygląda po stronie vSphere? Całkiem ciekawie, widać wyraźnie ile kontenerów zostało stworzonych, ile działa i można dokładnie sprawdzić jakie mają parametry.

vic17

Nie unikniemy pojawienia się kontenerów w środowisku vSphere, deweloperzy ciągną w kierunku CI i pełnej automatyzacji procesu wytwarzania i uruchamiania aplikacji. Uważam, że vSphere Integrated Containers to krok w dobrym kierunku, łączy on ESXi i Dockera w sposób nieomal idealny. Jest to co prawda w zasadzie pierwsze wydanie tej usługi którym można się pobawić w środowisku i które nie wspiera jeszcze wszystkich aspektów Dockera (nie działają np. polecenia docker import). Ale już na horyzoncie mamy premierę PhotonOS 1.2 i VIC 1.2 które pchną całe rozwiązanie do przodu. Zachęcam wszystkich do zapoznania się z VIC bo na prawdę warto.

Oceń ten artykuł:
[Total: 2 Average: 5]

Dodaj komentarz

Required fields are marked *.