01.01 Pierwsze kroki z Kubernetes — wprowadzenie
01.02 Jak przejść przez szkolenie, by wynieść z niego jak najwięcej
01.03 Klaster — po co i dlaczego?
01.04 Czym jest Kubernetes
01.05 Kubernetes z perspektywy wdrażania aplikacji
01.06 Jak działa Kubernetes
01.07 Control plane
01.08 Data plane
01.09 Zastosowania Kubernetes
01.10 Konfiguracja i przygotowanie lokalnego środowiska do nauki
01.11 Środowiska do nauki w chmurze
01.11A: Zmiana w uwierzytelnianiu z klastrem w chmurze
01.12 Optymalizacja kosztów — jak się uczyć za darmo
01.13: Zadanie do samodzielnego wykonania
01.14: Kubeconfig – konfiguracja dostępów do wielu klastrów
02.01 Kubernetes Big Picture — wprowadzenie
02.02 Najmniejsza jednostka w Kubernetes — Pod
02.03 Kontener vs Pod - cechy wspólne i różnice dla znających Dockera
02.04 Format YAML
02.05 Podejście imperatywne vs deklaratywne
02.06 Omówienie ReplicaSet
02.07 Deployment Big Picture
02.08 Logiczny podział klastra z namespaces
02.09 Wdrożenie pierwszej aplikacji w Kubernetes
02.10 Wdrożenie aplikacji mikroserwisowej w praktyce
02.11 Podsumowanie & Co dalej
03.01 Konfiguracja i wzorce — wprowadzenie
03.02 Przekazywanie argumentów
03.03 Zmienne środowiskowe
03.04 Sposoby na przekazywanie konfiguracji do kontenerów
03.05 Przekazywanie konfiguracji w praktyce – sposób 1
03.06 Przekazywanie konfiguracji w praktyce – sposób 2
03.07 Jobs — teoria & praktyka
03.08 CronJobs — teoria & praktyka
03.09 Dobre praktyki & podsumowanie
04.01 Networking — wprowadzenie
04.02 Container Network Interface (CNI)
04.03 Wprowadzenie do Kubernetes Service
04.04 Jak działają poszczególne Kubernetes Service
04.05 ClusterIP w praktyce
04.06 NodePort w praktyce
04.07 LoadBalancer w praktyce
04.08 Ingress - czym jest i jak działa
04.09 Ingress w praktyce
04.10 Podsumowanie & Co dalej
05.01 Trwałość i przechowywanie danych — wprowadzenie
05.02 Przechowywanie danych — Big Picture
05.03 Volumeny
05.04 Multi-container pod
05.05 PersistenVolumes & PersistentVolumeClaims
05.06 Storage Class - po co i dlaczego
05.07 Container Storage Interface (CSI)
06.01 Projektowanie aplikacji
z myślą o Kubernetes — wprowadzenie
06.02 Wprowadzenie do Cloud Native
06.03 Co oznacza Cloud Native w praktyce
06.04 Aplikacje stanowe vs bezstanowe
06.05 Aplikacje typu multi-instance
06.06 Jak podejść do architektury aplikacji z myślą o Kubernetes
06.07 Droga od kodu do wdrożenia w Kubernetes
06.08 Konteneryzacja aplikacji w praktyce
06.09 Błędy początkujących
07.01 Wdrażanie aplikacji bezstanowych — wprowadzenie
07.02 ReplicaSet vs DeamonSets — różnice i zastosowania
07.03 DeamonSet w praktyce
07.04 Zarządzanie zasobami — limity i wymuszenia
07.05 Liveness i Readiness
07.06 Rolling update w praktyce
07.07 Agregowanie logów
07.08 Dobre praktyki
07.09 Wdrożenie aplikacji mikroserwisowej w praktyce
07.10 Debuggowanie i rozwiązywanie problemów aplikacji bezstanowych
07.11 Debuggowanie – CrashLoopBackOff
08.01 Wdrażanie aplikacji stanowych — wprowadzenie
08.02 Przykłady aplikacji stanowych
08.03 Dlaczego potrzebujemy innego mechanizmu niż Deployment
08.04 Sposób na aplikacje stanowe w Kubernetes
08.05 Headless Service
08.06 Wdrożenie aplikacji stanowej w praktyce
08.07 Gdzie przechowywać stan aplikacji
08.08 Kubernetes Operator & CRD — wprowadzenie
08.09 Bazy danych i Kubernetes
08.10 Wdrożenie bazy danych w Kubernetes w praktyce
08.11 Skalowanie bazy danych oraz weryfikacja odporności na błędy w praktyce
08.12 Błędy początkujących
08.13 Dobre praktyki
08.14 Debuggowanie i wdrażanie aplikacji stanowych z wykorzystaniem PodAffinity
09.01 Bezpieczeństwo — wprowadzenie
09.02 Jak "pod spodem" działają kontenery w Kubernetes
09.03 Ograniczanie uprawnień roota w kontenerze
09.04 Mechanizmy bezpieczeństwa kontenerów w Kubernetes
09.05 Security Context w praktyce
09.06 Dlaczego zwracać uwagę na uprawnienia kontenerów
09.07 Wykrywanie niepoprawnej konfiguracji
09.08 Service Account — wprowadzenie
09.09 Domyślny Service Account w praktyce
09.10 Tworzenie własnych Service Account & Role Binding
09.11 Polityki bezpieczeństwa dla Podów
09.12 Polityki sieciowe
09.13 Ograniczanie ruchu sieciowego Podów w podejściu multi-tenant
09.14 Skanowanie obrazów pod kątem bezpieczeństwa
09.15 Bezpieczeństwo — polecane narzędzia oraz co dalej
10.01 Strategie wdrożeń i automatyzacja — wprowadzenie
10.02 Strategia wdrażania na produkcji nr 1 - Canary release
10.03 Strategia wdrażania na produkcji nr 2 - Blue-green deployment
10.04 Wprowadzenie do Helm
10.05 Helm w praktyce
10.06 Tworzenie własnych Helm Chart w praktyce
10.07 Automatyzacja — czyli tradycyjne CI / CD
10.08 Automatyczne budowanie i skanowanie obrazów
10.09 Automatyczne deployment aplikacji
10.10 Automatyczny deployment z użyciem Helm
10.11 Tradycyjne CI/CD – wady i zalety
10.12 Wprowadzenie do GitOps
10.13 GitOps w praktyce
11.01 Kubernetes na produkcji — wprowadzenie
11.02 Kubernetes we własnej infrastrukturze
11.03 Kubernetes w chmurze
11.04 Przenoszenie istniejących rozwiązań z Docker do Kubernetes — sposób 1
11.05 Przenoszenie istniejących rozwiązań z Docker do Kubernetes — sposób 2
11.06 Integracja z prywatnym rejestrem obrazów — sposób 1
11.07 Integracja z prywatnym rejestrem obrazów — sposób 2
11.08 Wprowadzenie do OPA
11.09 Wymuszanie dobrych praktyk bezpieczeństwa za pomocą polityk
11.10 Chaos engineering
11.11 Monitoring klastrów Kubernetes
11.12 Co dalej