Bądźmy w kontakcie

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.

 35 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (7)

Propozycje terminów

Powiązane Kategorie