Piszki Lab

Analiza przypadku w języku przodków…

vSphere Integrated Containers 1.1.1 – tworzymy własny, bazowy obraz i ładujemy go do Harbor.

| 0 comments

O tym jak zainstalować i skonfigurować vSphere Integrated Containers pisałem niedawno tutaj (lektura obowiązkowa). Dzisiaj stworzymy własny, bazowy obraz kontenera (z systemem CentOS 7) z dowolną aplikacją, załadujemy go do rejestru (lokalne repozytorium obrazów) na Harbor. Dodatkowo stworzymy stały wolumen który podłączymy do naszego nowego kontenera. Temat VIC jest dość nowy, stąd nie wiele w Internecie jest informacji na tematy z nim związane, artykuł ten powstał jako próba usystematyzowania wiedzy z nim związanej.

doc8

Czemu mamy stworzyć własny bazowy obraz systemu CentOS 7 skoro na Docker Hub jest dostępny od ręki? Wszystkie obrazy z huba są wyczyszczone do zera, nie znajdziemy tam tak prostych rzeczy jak edytor vim, mc, wget i innych a które czasem się przydają. Nie mówiąc już o yum za pomocą którego można zaktualizować np. apache. Oczywiście stawiając własne aplikacje będziemy posługiwać się własnymi obrazami, warto wiedzieć jak je tworzyć i zarządzać nimi w środowisku vSphere za pomocą Harbor i Admiral. Aby zrobić bazowy obraz, będziemy potrzebowali maszyny z systemem CentOS 7. Wykonujemy następujące polecenia:

export image=/image/rootfs
mkdir -p $image
initialize rpm database
rpm –root $image –initdb

yum reinstall –downloadonly –downloaddir . centos-release
rpm –root $image -ivh centos-release*.rpm
rpm –root $image –import  $image/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

yum -y –installroot=$image –setopt=tsflags=’nodocs’ –setopt=override_install_langs=en_US.utf8 install yum

sed -i “/distroverpkg=centos-release/a override_install_langs=en_US.utf8\ntsflags=nodocs” $image/etc/yum.conf

cp /etc/resolv.conf $image/etc
chroot $image /bin/bash <<EOF
yum install -y procps-ng iputils vi mc bindutils wget curl
yum clean all
EOF
rm -f $image/etc/resolv.conf

Jeśli potrzebujemy proxy to ustawiamy je wewnątrz pliku $image/etc/yum.conf. W ten sposób mamy przygotowany wyjściowy obraz, na maszynie instalujemy dockera, uruchamiamy go i importujemy nasz obraz. Następnie uruchamiamy kontener i sprawdzamy czy wszystko działa.

doc2

Nasz kontener działa poprawnie (na razie lokalnie na maszynie gdzie został zrobiony), aby uruchomić go na VCH musimy go wcześniej załadować do Harbor. Na maszynie linuksowej tworzymy katalog z nazwą maszyny do którego wgrywamy plik ca.crt którym podpisany jest certyfikat wystawiony dla Harbor (patrz pierwszy artykuł o VIC). Następnie logujemy się do Harbor aby sprawdzić czy komunikacja jest poprawna.

doc3

Jeśli wszystko jest ok, możemy przegrać obraz z lokalnego repozytorium do Harbor (polecenie docker push). W zdalnym repozytorium jest stworzony domyślny projekt o nazwie library którego użyjemy.

doc4

Jeśli wszystko jest ok, to przepychamy (docker pull) obraz kontenera z Harbor do VCH (VMware Container Host) i sprawdzamy czy obraz jest poprawnie widoczny.

doc5

Zanim uruchomimy kontener to wygenerujemy stały (persistent) volumen i podłączymy go pod kontener.

doc6

Widok od strony VIC:

doc7

Mamy uruchomiony własny kontener z systemem CentOS 7 z podłączonym stałym wolumenem w katalog /etc, dzięki czemu efekty naszej pracy nie znikną po restarcie kontenera. Oczywiście cała przeprowadzona tutaj procedura to tylko przykład możliwości jakie niesie ze sobą vSphere Integrated Containers.

Oceń ten artykuł:
[Total: 0 Average: 0]

Dodaj komentarz

Required fields are marked *.