Docker i Kubernetes dla programistów

Opis

Wirtualizacja infrastruktury to obecny trend, który rozwiązuje odwieczny problem „u mnie działa” w odniesienie do różnych środowisk: deweloperskich, testowych i produkcyjnych. Począwszy od przeniesienia dowolnej aplikacji do postaci obrazu, z którego można uruchomić kontener na dowolnym systemie, w którym funkcjonuje Docker, a skończywszy na złożonych konfiguracjach środowiska wieloaplikacyjnego (np. w kontekście microservices) z użyciem Kubernetesa. Szkolenie jest dedykowane programistom, którzy pracują nad projektami, gdzie używa się Dockera i Kubernetesa, tak aby w pełni świadomie mogli używać tych narzędzie, jak i również pracować z ich konfiguracją.

Szczegółowy program

Moduł. 1
Wprowadzenie
  • Koncepcje wirtualizacji i konteneryzacji
  • Pojęcia związane z Dockerem
    • Obrazy
    • Warstwy
    • Kontenery
    • Rejestry oraz repozytoria
  • Wymagania wobec systemu operacyjnego
  • Uruchomienie pierwszego kontenera
Moduł. 2
Używanie kontenerów
  • Praca z użyciem CLI
  • Pobieranie obrazów
  • Przegląd pliku Dockerfile
  • Startowanie kontenera
  • Kontrolowanie kontenera
  • Zatrzymywanie kontenera
  • Usuwanie obrazu
  • Trwałość danych w kontenerze
Moduł. 3
Współpraca między kontenerami
  • Typy trybów sieciowych
    • Bridge
    • Host
    • None
  • Komendy sieciowe
  • Wystawianie i mapowanie portów
  • Uzyskiwanie trwałości danych w kontenerze
  • Tworzenie i usuwanie wolumenu
Moduł. 4
Praca z Dockerfile
  • Struktura pliku Dockerfile
  • Instrukcje: FROM, WORKDIR, ADD, COPY, RUN, CMD, ENTRYPOINT, EXPOSE, VOLUME, LABEL, ENV, USER, ARG
  • Tworzenie obrazu
  • Umieszczanie obrazu
Moduł. 5
Zaawansowane zagadnienia
  • Przykładowa aplikacja z użyciem kontenerów
  • Tryby uruchamiania kontenerów
  • Monitorowanie kontenerów
  • Polityki restartów
  • Ograniczenia zasobów (pamięć, procesor)
Moduł. 6
Wprowadzenie do Kubernetes
  • Architektura Kubernetesa
  • Podstawowe obiekty Kubernetesa
    • Pod
    • ReplicaSet
    • Deployment
    • Service
    • kube-dns
    • Namespace
    • Node - kubelet, proxy, docker
    • Master - etdc, API Server, scheduler
  • Narzędzia
    • kubectl
    • minikube
Moduł. 7
Praca z Kubernetes
  • Uruchomienie minikube
  • Podstawowe operacje kubectl
  • Stworzenie deploymentu
  • Stworzenie service’u
  • Interakcja z kontenerem
  • Podgląd logów
  • Techniki debugowania
  • Manualne skalowanie
  • Autoskalowanie
  • Zdarzenia w klastrze
  • Praca z Kubernetes Dashboard
  • Dodatkowe narzędzia (add-ons)
Moduł. 8
Deklaratywna konfiguracja
  • Etykiety (labels)
  • Selektory (selectors)
  • Definiowanie usług (services)
  • Usługi typu ExternalName
  • Usługi typu LoadBalancer
  • Usługi typu NodePort
  • Wdrożenia
  • Cofanie wdrożenia
  • Adnotacje (Annotations)
  • Mapy konfiguracyjne (ConfigMaps)
  • Dane wrażliwe (Secrets)
  • Przykłady konfiguracji
Moduł. 9
Cykl życia
  • Cykl życia Poda
  • Cykl życia kontenera
  • Współzależności między Deployment, ReplicaSet oraz Pod
  • Wskaźnik Liveness
  • Wskaźnik Rediness
  • Zakładanie hooka na kontenterze
  • Szybkie interaktywne testowanie
  • Poprawne zamykanie
Moduł. 10
Procesy, backend i monitoring
  • Job/CronJob
  • Volumes
  • Stateful Set
  • Prometheus
  • Grafana
  • EFK stack
Moduł. 11
Kubernetes na AWS
  • Konfiguracja AWS EKS
  • Stworzenie klastra
  • Konfiguracja klastra
  • Modyfikacja ustawień klastra
  • Wdrażanie aplikacji
  • Instalacja Dashboardu w Kubernetes

Parametry szkolenia

Czas trwania
2 x 8h
Forma zajęć
Ćwiczenia - 60%, wykład - 40%
Kod
DOKU
Wielkość grupy
do 10 osób

Jak zamówić

« lista szkoleń