Kubernetes. Przewodnik po orkiestracji kontenerów i tworzeniu niezawodnych aplikacji Dobrzyń nad Wisłą

Kontenery i framework Kubernetes gwarantują niezawodne działanie oprogramowania i przejrzystą kontrolę jego funkcjonowania. Największą zaletą platformy Kubernetes jest ukrywanie za warstwą abstrakcji mechanizmu uruchamiania kontenerów w różnych klastrach. Ułatwia to wdrażanie aplikacji i …

od 58 Najbliżej: 17 km

Liczba ofert: 2

Oferta sklepu

Opis

Kontenery i framework Kubernetes gwarantują niezawodne działanie oprogramowania i przejrzystą kontrolę jego funkcjonowania. Największą zaletą platformy Kubernetes jest ukrywanie za warstwą abstrakcji mechanizmu uruchamiania kontenerów w różnych klastrach. Ułatwia to wdrażanie aplikacji i zarządzanie nimi, ale jednocześnie utrudnia zrozumienie, co naprawdę dzieje się w klastrze. W tej książce omówiono wewnętrzny sposób działania frameworka Kubernetes i pokazano, jak za jego pomocą budować wydajne, niezawodne i odporne na awarie aplikacje natywnej chmury. Dowiesz się, jak kontenery używają przestrzeni nazw w celu izolowania procesów, a także jak korzystają z funkcjonalności ograniczania zasobów, aby zagwarantować, że proces będzie się opierał jedynie na tych, które zostały mu przydzielone. Nauczysz się instalować klaster Kubernetes, wdrażać kontenery i zrozumiesz, na czym polega przepływ pakietów między kontenerami w sieci hosta. Ponadto poznasz strategie tworzenia i uruchamiania kontenerów, które zapewnią oprogramowaniu optymalną wydajność, jak również sposoby identyfikowania i usuwania potencjalnych problemów. W książce między innymi: zapewnienie większej wydajności działania aplikacji automatyczne skalowanie i mechanizm równoważenia obciążenia konfigurowanie mechanizmu kontroli dostępu wykrywanie problemów i ich usuwanie wdrażanie nowych kontenerów i konfigurowanie routingu w sieci rozszerzanie klastra Kubernetes przez dodawanie nowych funkcjonalności Czy na pewno rozumiesz działanie kontenera Kubernetes? Spis treści: Wprowadzenie Część I. Tworzenie i używanie kontenerów 1. Dlaczego kontenery są ważne? Nowoczesna architektura aplikacji Atrybut: natywna chmura Atrybut: modułowość Atrybut: mikrousługi Zaleta: skalowalność Zaleta: niezawodność Zaleta: odporność na awarie Dlaczego kontenery? Wymagania dotyczące kontenerów Wymagania dotyczące koordynacji Uruchamianie kontenerów Jak wygląda kontener? Czym tak naprawdę jest kontener? Wdrażanie kontenerów w Kubernetesie Komunikacja z klastrem Kubernetesa Ogólne omówienie przykładowej aplikacji Funkcje Kubernetesa Podsumowanie 2. Izolacja procesu Na czym polega izolacja? Dlaczego proces wymaga izolacji? Uprawnienia pliku i środowisko chroot Izolacja kontenera Platformy kontenerów i środowiska uruchomieniowe kontenerów Instalacja demona containerd Stosowanie demona containerd Wprowadzenie do przestrzeni nazw Linuksa Kontenery i przestrzenie nazw w CRI-O Bezpośrednie uruchamianie procesów w przestrzeni nazw Podsumowanie 3. Mechanizm ograniczania zasobów Priorytet procesora Polityki w czasie rzeczywistym i nie w czasie rzeczywistym Określenie priorytetu procesu Grupy kontrolne systemu Linux Przydział zasobów procesora za pomocą grup kontrolnych Ograniczanie zasobów procesora za pomocą środowiska uruchomieniowego kontenerów CRI-O i polecenia crictl Ograniczanie zasobów pamięci Ograniczenia przepustowości sieci Podsumowanie 4. Sieciowe przestrzenie nazw Izolacja sieci Sieciowe przestrzenie nazw Analiza sieciowej przestrzeni nazw Tworzenie sieciowej przestrzeni nazw Interfejs mostu Dodawanie interfejsu do mostu Śledzenie ruchu sieciowego Maskarada sieci Podsumowanie 5. Obraz kontenera i warstwy środowiska uruchomieniowego Izolacja systemu plików Zawartość obrazu kontenera Wersje i warstwy obrazu kontenera Tworzenie obrazu kontenera Używanie pliku Dockerfile Nadawanie tagów i publikowanie obrazu Obraz i pamięć masowa kontenera Nakładające się systemy plików Warstwy kontenera Praktyczna wskazówka dotycząca tworzenia obrazu Projekt Open Container Initiative Podsumowanie Część II. Kontenery w Kubernetesie 6. Dlaczego Kubernetes ma znaczenie? Uruchamianie kontenerów w klastrze Zadania przekrojowe Koncepcje Kubernetesa Wdrożenie klastra Wymagane pakiety Pakiety Kubernetesa Inicjalizacja klastra Dołączanie węzłów do klastra Instalowanie dodatków dla klastra Sterownik sieci Instalowanie pamięci masowej Instalowanie kontrolera przychodzącego ruchu sieciowego Serwer wskaźników działania Poznawanie klastra Podsumowanie 7. Wdrażanie kontenerów w Kubernetesie Pody Wdrażanie poda Rejestrowanie danych i informacje szczegółowe o podzie Wdrożenia Tworzenie zasobu Deployment Monitorowanie i skalowanie Automatyczne skalowanie Inne kontrolery Job i CronJob StatefulSet DaemonSet Podsumowanie 8. Sieci nakładkowe Sieć w klastrze Wtyczki CNI Sieć poda Sieć między węzłami Sieć Calico WeaveNet Wybór wtyczek sieciowych Dostosowanie sieci do własnych potrzeb Podsumowanie 9. Sieci usługi i przychodzącego ruchu sieciowego Usługi Tworzenie usługi Usługa DNS Przestrzenie nazw i określanie nazw Routing ruchu sieciowego Sieć zewnętrzna Usługi zewnętrzne Usługi przychodzącego ruchu sieciowego Zasób Ingress w środowisku produkcyjnym Podsumowanie 10. Gdy coś pójdzie nie tak Szeregowanie Brak dostępnych węzłów Niewystarczająca ilość zasobów Pobieranie obrazu kontenera Uruchamianie kontenera Debugowanie z użyciem dzienników zdarzeń Debugowanie za pomocą polecenia kubectl exec Debugowanie z użyciem funkcjonalności przekazywania portu Podsumowanie 11. Płaszczyzna kontrolna i kontrola dostępu Serwer API Uwierzytelnianie serwera API Certyfikat klienta Token bootstrap Zasób ServiceAccount Kontrola dostępu na podstawie roli Role i role klastra Powiązanie roli i powiązanie roli klastra Przypisanie podów zasobowi ServiceAccount Dołączanie ról do użytkowników Podsumowanie 12. Środowisko uruchomieniowe kontenerów Usługa węzła Konfiguracja klastra w usłudze kubelet Konfiguracja środowiska uruchomieniowego kontenerów w usłudze kubelet Konfiguracja sieciowa w usłudze kubelet Pody statyczne Obsługa techniczna węzła Drenaż i korodowanie węzłów Problematyczny węzeł Węzeł jest niedostępny Podsumowanie 13. Sprawdzanie stanu aplikacji Operacje sprawdzenia poprawności działania Sprawdzanie istnienia kontenera Sprawdzanie typu Exec Sprawdzanie typu HTTP Sprawdzanie typu TCP Sprawdzanie możliwości uruchamiania kontenera Sprawdzanie możliwości odczytywania kontenera Podsumowanie 14. Limity i przydziały Żądania i limity Limity procesora i pamięci operacyjnej Egzekwowanie limitów za pomocą grupy kontrolnej Limity sieciowe Przydział Podsumowanie 15. Trwała pamięć masowa Klasy pamięci masowej Definicja klasy pamięci masowej Wewnętrzne komponenty wtyczki CSI Trwałe woluminy Zasób StatefulSet Woluminy i poświadczenia Zasób Deployment Tryby dostępu Podsumowanie 16. Konfiguracja i klucze tajne użytkownika Wstrzykiwanie konfiguracji Konfiguracja zewnętrzna Zapewnienie ochrony kluczom tajnym użytkownika Wstrzykiwanie plików Repozytorium konfiguracji klastra Używanie polecenia etcdctl Deszyfrowanie danych w etcd Podsumowanie 17. Operatory i zasoby niestandardowe Zasoby niestandardowe Tworzenie CRD Obserwowanie CRD Operatory Podsumowanie Część III. Wydajność działania Kubernetes 18. Powiązanie i urządzenia Powiązanie i jego brak Brak powiązania Powiązanie Routing ruchu sieciowego usługi Zasoby sprzętowe Podsumowanie 19. Dostrajanie jakości usługi Osiągnięcie przewidywalności Klasy jakości usługi Klasa BestEffort Klasa Burstable Klasa Guaranteed Usuwanie podów w poszczególnych klasach jakości usługi Wybór klasy jakości usługi Priorytet poda Podsumowanie 20. Aplikacje odporne na awarie Stos przykładowej aplikacji Baza danych Wdrożenie aplikacji Automatyczne skalowanie poda Usługa aplikacji Monitorowanie aplikacji i klastra Monitorowanie z użyciem narzędzia Prometheus Wdrażanie kube-prometheus Wskaźniki klastra Dodawanie monitorowania dla usług Podsumowanie O autorze: Alan Hohn od ponad 25 lat zajmuje się tworzeniem oprogramowania. Jest inżynierem oprogramowania, architektem i menedżerem, a także trenerem DevSecOps, architektury oprogramowania i Kubernetes. Pracował w Google, gdzie zajmował się rozwojem frameworka Kubernetes, potem współzałożył firmę Heptio działającą w zakresie narzędzi i usług dla tej platformy.

Specyfikacja

Podstawowe informacje

Autor
  • Alan Hohn
Wybrane wydawnictwa
  • Helion
Okładka
  • Miękka
Rok wydania
  • 2024
Ilość stron
  • 392
Tematyka
  • Programowanie
ISBN
  • 9788328910126