Kategorie: Linux (wszystkie), DevOps. CI/CD, Ansible, Docker i Kubernetes, cloud
Solidne, przekrojowe szkolenie z zakresu Docker i Kubernetes.
Docker to narzędzie, które z powodzeniem wspiera lub czasem nawet zastępuje klasyczną wirtualizację oferowaną przez rozwiązania typu VMware, czy KVM. Pozwala na uruchamianie aplikacji w wydzielonych “kontenerach”, natomiast bez konieczności emulowania całej warstwy sprzętowej i systemu operacyjnego. Aplikacje w kontenerze mogą również korzystać z potrzebnych im bibliotek bez ingerencji w system bazowy.
Istotnymi korzyściami płynącymi z zastosowania Dockera są m.in.: podział systemów informatycznych na niezależne (i łatwiej zarządzalne osobno) 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”. Zaś brak wirtualizacji zmniejsza narzut wydajnościowy i sprzętowy, czego efektem jest lepsza możliwość wykorzystania zasobów sprzętowych, co przy rozproszonych aplikacjach instalowanych wcześniej na kilkunastu, kilkudziesięciu (czy też na tysiącach) wirtualnych maszyn przynosi wymierne oszczędności.
Kubernetes (“K8s”) – to coraz bardziej zyskujące na popularności narzędzie, rozbudowujące możliwości uzyskiwane dzięki Dockerowi. Kubernetes pozwala zarządzać większą liczbą “kontenerów” jako 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.
To 3-dniowe szkolenie jest częścią kompleksowego kursu Bootcamp DevOps dedykowanego osobom zainteresowanym uzyskaniem całości wiedzy z zakresu Devops.
Czas trwania
3 dni
Program
- Docker
- Podstawowe komendy oraz zarządzanie kontenerami
- Sieci
- Volumeny
- Dockerfile (tworzenie, budowanie obrazu, podstawowe instrukcje, ENTRYPOINT i CMD)
- LAB: budowa kontenera na bazie prostej aplikacji
- Docker registry
- Docker compose
- Kubernetes
- Wprowadzenie do Kubernetes
- Historia i podstawowe koncepcje Kubernetes
- Architektura Kubernetes
- Podstawowe komponenty: Pod, Node, Cluster
- Instalacja Kubernetes
- Różne metody instalacji Kubernetes (minikube, kubeadm, etc.)
- Praktyczne ćwiczenie: Instalacja Kubernetes na lokalnej maszynie
- Wprowadzenie do microk8s
- Co to jest k3s, minikube, microk8s i jakie są ich zalety?
- Porównanie k3s z pełnym Kubernetes
- Praktyczne ćwiczenie: Instalacja microk8s
- Podstawowe operacje w Kubernetes i microk8s
- Tworzenie i zarządzanie Podami
- Skalowanie aplikacji
- Aktualizacje i roll-backi
- Networking w Kubernetes i microk8s
- Sieciowe modele w Kubernetes
- Service, Ingress i Network Policies
- Praktyczne ćwiczenie: Konfiguracja sieci w Kubernetes
- Storage w Kubernetes
- Persistent Volumes i Persistent Volume Claimsą
- Storage Classes
- Praktyczne ćwiczenie: Zarządzanie danymi w Kubernetes
- Zaawansowane tematy
- Helm: zarządzanie aplikacjami w Kubernetes
- Kubernetes Dashboard
- Praktyczne ćwiczenie: Tworzenie własnych zasobów
- Wprowadzenie do Kubernetes
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 webowa z backend’em bazodanowym. Przy zamówieniu dla grupy zamkniętej możemy przeprowadzić szkolenie na aplikacji w dowolnym języku programowania jak Python, Java, PHP, JavaScript, C#, 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.