Kategorie: Linux (wszystkie), DevOps, wirtualizacja, kontenery, cloud
Docker to narzędzie, które z powodzeniem wspiera lub czasem nawet zastępuje klasyczną wirtualizację oferowaną przez rozwiązania typu VMware, KVM czy XEN. Pozwala na uruchamianie aplikacji w wydzielonym “kontenerze”, ale bez konieczności emulowania całej warstwy sprzętowej i systemu operacyjnego. Aplikacje w kontenerze mogą korzystać z potrzebnych im bibliotek bez ingerencji w system bazowy.
Najważniejszymi zastosowaniami Dockera są m.in.: podział systemów informatycznych na niezależne komponenty oraz automatyzacja procesów związanych z wdrażaniem skonteneryzowanego oprogramowania. Istotne jest również to, że każdy taki “kontener” posiada wydzielony obszar pamięci, odrębny interfejs sieciowy (z własnym prywatnym adresem IP) oraz własny obszar na dysku, na którym znajduje się zainstalowany obraz systemu operacyjnego i wszystkie zależności bibliotek potrzebnych do działania aplikacji.
Aplikacja uruchomiona z raz przygotowanego i sprawdzonego obrazu działa w identyczny sposób na każdym systemie – niezależnie od sterowników czy lokalnej konfiguracji sprzętu, co eliminuje odwieczny w informatyce problem “ale u mnie przecież działa”.
Brak wirtualizacji eliminuje w znacznym stopniu narzut wydajnościowy, efektem tego jest znacznie większa możliwość wykorzystania zasobów sprzętowych, co przy rozproszonych aplikacjach instalowanych do tej pory na kilkunastu bądź kilkudziesięciu wirtualnych maszynach przynosi wymierne oszczędności.
W drugiej części szkolenia, omówimy temat zyskującego na popularności narzędzia Kubernetes.
Rozbudowuje ono możliwości jakie uzyskujemy dzięki Deckerowi. Kubernetes (“K8s”) pozwala zarządzać większą liczbą “kontenerów” jak jedną dużą maszyną. Jest to specjalistyczne narzędzie do zarządzania aplikacjami w kontenerach rozmieszczonymi na wielu węzłach, stosowane w złożonych, wysokowydajnych środowiskach projektowanych z myślą o wysokiej dostępności usług.
Niniejsze szkolenie zostało zaprojektowane zarówno z myślą o programistach, jak i o administratorach – wpisuje się ono w specjalizację “DevOps”. Zaś dla zainteresowanych całością kierunku DevOps, kompleksowo – mamy też w ofercie dłuższy kurs: Bootcamp DevOps.
Czas trwania
3 dni
Program
- Wstęp
- teoria kontenerów
- budowa i elementy składowe Docker’a
- instalacja i konfiguracja Docker’a
- Obrazy
- nazewnictwo i tagowanie
- praca z rejestrami
- inspekcja obrazów
- Kontenery
- cykl życia kontenerów
- inspekcja kontenerów
- polityki restartowania kontenerów
- definiowanie wolumenów
- Konteneryzacja aplikacji
- definiowanie i budowanie własnych obrazów (Dockerfile)
- ograniczanie rozmiaru obrazu (multi-stage builds)
- dobre praktyki konteneryzacji
- Aplikacje wielokontenerowe
- definiowanie aplikacji wielokontenerowych (docker-compose)
- wdrażanie aplikacji wielokontenerowych
- Przykłady wykorzystania kontenerów
- Lokalny development aplikacji
- Proces ciągłej integracji (CI)
- Wdrożenie aplikacji
- Orkiestracja skalowalnych aplikacji wielokontenerowych – Kubernetes
- budowa i elementy składowe Kubernetes’a
- instalacja i konfiguracja Kubernetes’a
- tworzenie klastra
- konfiguracja artefaktów Kubernetes’a
- wdrażanie aplikacji
- zarządzanie wdrożoną aplikacją
Training also available in English.
Przeznaczenie i wymagania
Szkolenie przeznaczone jest dla programistów oraz administratorów do tworzenia, wdrażania i uruchamiania aplikacji rozproszonych chcących poznać podstawy i fundamenty działania systemów kontenerowych w oparciu o najpopularniejszą obecnie platformę jaką jest Docker. Podczas szkolenia zostanie wykorzystana przykładowa aplikacja napisana w języku Python, oparta o framework Django. Przy zamówieniu dla grupy zamkniętej możemy przeprowadzić szkolenie na aplikacji w innym języku programowania jak PHP, JavaScript, C#, Java etc.
Od osób zapisujących się na to szkolenie wymagane jest sprawne posługiwanie się linią poleceń w linuxie.
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.