Plan Szkolenia
Dzień 1 – Kontenery i zarządzanie obrazami
Wprowadzenie do platform kontenerowych
- Tradycyjne wdrażanie aplikacji w porównaniu z wdrażaniem kontenerowym
- Kontenery a maszyny wirtualne
- Środowiska uruchomieniowe kontenerów i silniki kontenerowe
- Role Dockera, Kubernetes i OpenShift
- Typowe architektury platform kontenerowych
- Przepływy pracy w rozwoju, testowaniu i produkcji
Praca z kontenerami
- Uruchamianie i zarządzanie kontenerami
- Cykl życia kontenera
- Uruchamianie, zatrzymywanie i usuwanie kontenerów
- Wykonywanie poleceń wewnątrz kontenerów
- Zmienne środowiskowe
- Mapowanie portów
- Logi kontenerów
- Wykorzystanie zasobów i inspekcja procesów
Budowanie obrazów kontenerów
- Struktura i warstwy obrazu
- Tworzenie Dockerfiles i Containerfiles
- Wybór obrazów bazowych
- Dodawanie zależności aplikacji
- Konfigurowanie punktów wejścia i poleceń
- Buforowanie obrazów
- Zmniejszanie rozmiaru obrazów
- Budowanie powtarzalnych obrazów
Rejestry kontenerów
- Rejestry publiczne i prywatne
- Tagowanie i wersjonowanie obrazów
- Wysyłanie i pobieranie obrazów
- Uwierzytelnianie obrazów
- Retencja i czyszczenie obrazów
- Podstawowe zagadnienia bezpieczeństwa obrazów
Sieć i pamięć masowa w kontenerach
- Pojęcia związane z siecią kontenerową
- Sieć mostkowa
- Udostępnianie portów
- Komunikacja między kontenerami
- Montowanie i woluminy
- Trwałe dane kontenerowe
- Zagadnienia związane z backupem
Ćwiczenia praktyczne
- Uruchom i inspekcjonuj kontenery
- Zbuduj obraz aplikacji
- Skonfiguruj porty i zmienne środowiskowe
- Opublikuj obraz w rejestrze
- Przechowuj trwałe dane poza kontenerem
Dzień 2 – Architektura Kubernetes i obciążenia
Podstawy Kubernetes
- Cel orkiestracji kontenerów
- Architektura Kubernetes
- Składniki płaszczyzny sterującej
- Węzły robocze
- Serwer API
- Harmonogramowanie
- Kontrolery
- Stan klastra i pożądany stan
- Komunikacja z klastrem za pomocą kubectl
Zasoby Kubernetes
- Pody
- ReplicaSets
- Deployments
- Przestrzenie nazw
- Etykiety i adnotacje
- Selektory
- Definicje zasobów deklaratywnych
- Manifesty YAML
Wdrażanie aplikacji
- Tworzenie i zarządzanie Deploymentami
- Skalowanie obciążeń
- Aktualizowanie obrazów kontenerów
- Aktualizacje stopniowe
- Wycofywanie zmian
- Historia wdrożeń
- Ponowne uruchamianie obciążeń
- Zarządzanie replikami aplikacji
Konfiguracja aplikacji
- ConfigMaps
- Sekrety
- Zmienne środowiskowe
- Pliki konfiguracyjne
- Oddzielanie kodu aplikacji od konfiguracji
- Zarządzanie ustawieniami specyficznymi dla środowiska
Zarządzanie zasobami
- Żądania CPU i pamięci
- Limity CPU i pamięci
- Kwoty zasobów
- Zakresy limitów
- Implikacje dla harmonogramowania
- Diagnozowanie błędów związanych z zasobami
Ćwiczenia praktyczne
- Wdróż aplikację kontenerową
- Twórz i aktualizuj manifesty Kubernetes
- Skaluj aplikację
- Przeprowadź aktualizację stopniową i wycofanie
- Skonfiguruj aplikację za pomocą ConfigMaps i Secretów
- Zastosuj żądania i limity zasobów
Dzień 3 – Sieć, pamięć masowa i bezpieczeństwo w Kubernetes
Sieć w Kubernetes
- Model sieciowy klastra
- Komunikacja między podami
- Odnajdowanie usług
- DNS wewnątrz klastra
- Usługi ClusterIP
- Usługi NodePort
- Usługi LoadBalancer
- Pojęcia związane z Ingress
- Wzorce udostępniania aplikacji
Polityki sieciowe
- Kontrolowanie ruchu między obciążeniami
- Reguły przychodzące i wychodzące
- Kontrola ruchu na podstawie przestrzeni nazw
- Testowanie łączności sieciowej
- Rozwiązywanie problemów z komunikacją usług
Pamięć trwała
- Pamięć tymczasowa i trwała
- Woluminy
- PersistentVolumes
- PersistentVolumeClaims
- StorageClasses
- Dynamiczne przygotowywanie
- Tryby dostępu
- Polityki odzyskiwania
- Pamięć masowa dla aplikacji stanowych
Kontrola dostępu w Kubernetes
- Pojęcia uwierzytelniania i autoryzacji
- Kontrola dostępu oparta na rolach
- Role i ClusterRoles
- RoleBindings i ClusterRoleBindings
- Konta usług
- Dostęp z najmniejszymi uprawnieniami
- Inspekcja efektywnych uprawnień
Bezpieczeństwo obciążeń
- Konteksty bezpieczeństwa
- Uruchamianie kontenerów jako nie-root
- Możliwości Linux
- Systemy plików tylko do odczytu
- Obsługa sekretów
- Pochodzenie obrazów
- Typowe ryzyka konfiguracji
Ćwiczenia praktyczne
- Udostępnij aplikację za pomocą usług Kubernetes
- Skonfiguruj ingress
- Ogranicz ruch za pomocą polityki sieciowej
- Przygotuj pamięć trwałą
- Skonfiguruj uprawnienia RBAC
- Uruchom obciążenie z odpowiednim kontekstem bezpieczeństwa
Dzień 4 – Praca ze środowiskami OpenShift
Wprowadzenie do OpenShift
- OpenShift jako platforma aplikacyjna oparta na Kubernetes
- Zasoby Kubernetes w środowisku OpenShift
- Architektura klastra OpenShift
- Projekty i przestrzenie nazw
- Użytkownicy platformy i konta usług
- Praca z konsolą webową
- Praca z interfejsem wiersza poleceń OpenShift
Zarządzanie projektami i dostępem
- Tworzenie i zarządzanie projektami
- Przypisywanie uprawnień użytkownikom
- Role na poziomie projektu
- Dostęp administracyjny
- Kwoty zasobów
- Zakresy limitów
- Konta usług
- Przegląd zasobów projektu
Wdrażanie aplikacji
- Wdrażanie obrazów kontenerów
- Tworzenie obciążeń aplikacyjnych
- Zarządzanie wdrożeniami
- Skalowanie aplikacji
- Aktualizowanie wersji aplikacji
- Wycofywanie zmian
- Zarządzanie konfiguracją aplikacji
- Praca z sekretami
Udostępnianie aplikacji
- Usługi w OpenShift
- Trasy
- Pojęcia związane z TLS
- Dostęp wewnętrzny i zewnętrzny do aplikacji
- Nazwy hostów i certyfikaty
- Diagnozowanie problemów z trasami i usługami
Pamięć masowa w OpenShift
- Persistent Volume Claims
- StorageClasses
- Podłączanie pamięci masowej do obciążeń
- Obciążenia stanowe
- Uprawnienia dostępu do pamięci masowej
- Rozwiązywanie problemów z montowaniem woluminów
Harmonogramowanie i zarządzanie węzłami
- Etykiety i selektory
- Selektory węzłów
- Taints i tolerancje
- Pojęcia związane z afinicją i antyafinicją
- Umieszczanie obciążeń
- Kordony i opróżnianie węzłów
- Zagadnienia związane z konserwacją węzłów
Ćwiczenia praktyczne
- Uzyskaj dostęp do środowiska OpenShift
- Utwórz i skonfiguruj projekt
- Wdróż i udostępnij aplikację
- Skonfiguruj dostęp użytkowników i kont usług
- Podłącz pamięć trwałą
- Skaluj i aktualizuj uruchomione obciążenie
Dzień 5 – Operacje, monitorowanie i rozwiązywanie problemów
Monitorowanie platformy
- Monitorowanie stanu klastra i aplikacji
- Metryki zasobów
- Stan węzłów
- Status obciążeń
- Pojemność i wykorzystanie zasobów
- Identyfikowanie ograniczeń wydajności
Logi i zdarzenia
- Logi kontenerów
- Logi podów
- Logi poprzednich kontenerów
- Zdarzenia Kubernetes
- Komunikaty aplikacji i platformy
- Filtrowanie i interpretacja danych operacyjnych
Sprawdzanie zdrowia
- Proby startowe
- Proby gotowości
- Proby żywotności
- Projektowanie użytecznych punktów końcowych zdrowia
- Diagnozowanie błędów prób
- Zapobieganie niepotrzebnym restartom aplikacji
Rozwiązywanie problemów z obciążeniami
- Oczekujące pody
- Błędy pobierania obrazów
- Pętle awarii
- Błędnie skonfigurowane zmienne środowiskowe
- Nieudane montowania
- Niewystarczające zasoby
- Błędy uprawnień
- Problemy z łącznością usług i tras
- Problemy z DNS
- Błędy uruchamiania aplikacji
Bezpieczeństwo operacyjne
- Przegląd uprawnień
- Użycie kont usług
- Bezpieczne zarządzanie poświadczeniami
- Praktyki bezpieczeństwa obrazów
- Izolacja sieciowa
- Audyt dostępu do platformy
- Stosowanie zasady najmniejszych uprawnień
Konserwacja i zarządzanie cyklem życia
- Rutynowe kontrole platformy
- Konserwacja węzłów
- Zagadnienia związane z backupem aplikacji
- Backup konfiguracji
- Planowanie aktualizacji
- Zarządzanie zmianami
- Testowanie aktualizacji
- Planowanie wycofania zmian
- Pojęcia związane z odzyskiwaniem po awarii
Końcowe warsztaty praktyczne
Uczestnicy wykonują kompleksowy scenariusz operacyjny:
- Zbuduj i otaguj obraz kontenerowy.
- Opublikuj obraz w rejestrze.
- Wdróż aplikację do Kubernetes lub OpenShift.
- Skonfiguruj ustawienia aplikacji i poświadczenia.
- Udostępnij aplikację.
- Podłącz pamięć trwałą.
- Skonfiguruj uprawnienia dostępu.
- Dodaj sprawdzanie zdrowia.
- Skaluj i aktualizuj aplikację.
- Zdiagnozuj i rozwiąż wprowadzony błąd.
Format kursu
- Wykłady interaktywne i dyskusje techniczne.
- Demonstracje instruktora.
- Obszerne ćwiczenia praktyczne.
- Warsztaty administracyjne i rozwiązywania problemów oparte na scenariuszach.
- Praca praktyczna w środowiskach kontenerowych, Kubernetes i OpenShift.
Opcje dostosowania kursu
- Kurs może być dostosowany do istniejącej infrastruktury uczestników, dostawcy chmury i narzędzi kontenerowych.
- Proporcje tematów dotyczących Dockera, Kubernetes i OpenShift mogą być dostosowane do doświadczenia zespołu.
- Ćwiczenia praktyczne mogą być dostosowane do aplikacji organizacji, procesów wdrażania i wymagań operacyjnych.
Uwaga dotycząca znaków towarowych
OpenShift jest znakiem towarowym firmy Red Hat, Inc. To niezależnie opracowane szkolenie nie jest powiązane z, nie jest zatwierdzone ani autoryzowane przez Red Hat.
Wymagania
Uczestnicy powinni mieć:
- Doświadczenie w korzystaniu z wiersza poleceń Linux.
- Podstawową wiedzę z zakresu administracji systemowej lub DevOps.
- Ogólne zrozumienie pojęć związanych z sieciami.
- Znajomość procesów wdrażania oprogramowania.
Wcześniejsze doświadczenie z Dockerem, Kubernetesem lub OpenShiftem jest pomocne, ale nie jest wymagane.
Opinie uczestników (7)
Zaangażowanie i otwartość na rozszerzanie dyskusji o tematy związane z zakresem szkolenia ale ze specyfiką naszej firmy
Michal Koscinski - Volkswagen Poznan Sp. z o.o.
Szkolenie - Docker, Kubernetes and OpenShift 3 for Administrators
Praktyczne przykłady, możliwość samodzielnego przetestowania omawianych zagadnień.
Kamil - Volkswagen Poznan Sp. z o.o.
Szkolenie - Docker, Kubernetes and OpenShift 3 for Administrators
Precyzyjne i transparentne odpowiedzi na pytania
Bartlomiej Mityk - summ-it s.a.
Szkolenie - Docker, Kubernetes and OpenShift 3 for Administrators
Profesjonalnie przygotowane. Dadesktop działa super - szkoda, ze go nie było 10 lat temu
Mariusz Masewicz - summ-it s.a.
Szkolenie - Docker, Kubernetes and OpenShift 3 for Administrators
Reda wytłumaczył i znacznie uprościł zrozumienie
Eric Van Wyk
Szkolenie - Docker, Kubernetes and OpenShift 3 for Administrators
Przetłumaczone przez sztuczną inteligencję
Laboratoria były najlepsze. Bardzo praktyczne i zapewniają doświadczenie na bieżąco. Osobiście uważam, że jest to najefektywniejszy sposób na prawdziwe zrozumienie kursu i zastosowanie omawianych konceptów.
Hishaam Johnstone
Szkolenie - Docker, Kubernetes and OpenShift 3 for Administrators
Przetłumaczone przez sztuczną inteligencję
Podobało mi się chęć pomocy i dalszego wyjaśniania w sytuacjach niepewnych
Letlotlo Miffi
Szkolenie - Docker, Kubernetes and OpenShift 3 for Administrators
Przetłumaczone przez sztuczną inteligencję