Details zum E-Book

Kubernetes. Tworzenie niezawodnych systemów rozproszonych. Wydanie III

Kubernetes. Tworzenie niezawodnych systemów rozproszonych. Wydanie III

Brendan Burns, Joe Beda, Kelsey Hightower, Lachlan Evenson

E-book

Kubernetes jest ważnym narzędziem do tworzenia, wdrażania i utrzymywania aplikacji w chmurze. Obecnie pozwala na uzyskiwanie prędkości, zwinności, niezawodności i wydajności na wysokim poziomie, a samo tworzenie i utrzymywanie systemów rozproszonych jest proste, efektywne i satysfakcjonujące. Trzeba tylko zrozumieć, na czym polega abstrakcja kontenerów i interfejsów API orkiestracji kontenerów i poświęcić trochę czasu na zapoznanie się z samym Kubernetesem.

Oto podstawowe źródło wiedzy na temat systemu Kubernetes, okraszone przykładami, które umożliwiają samodzielne poznawanie tego produktu!

Liz Rice

To trzecie wydanie przewodnika autorstwa twórców Kubernetesa. Zostało starannie zaktualizowane i wzbogacone o tak ważne zagadnienia jak bezpieczeństwo, dostęp do Kubernetesa za pomocą kodu napisanego w różnych językach programowania czy tworzenie aplikacji wieloklastrowych. Dzięki książce poznasz podstawy funkcjonowania Kubernetesa, a naukę rozpoczniesz od budowy prostej aplikacji. Później dowiesz się, jak używać narzędzi i interfejsów API do automatyzacji skalowalnych systemów rozproszonych, w tym usług internetowych, aplikacji do uczenia maszynowego czy klastrów komputerów Raspberry Pi. Omówiono tu również zaawansowane zagadnienia, takie jak obiekty specjalne czy siatki usług i system kontroli źródła.

Najciekawsze zagadnienia:

  • budowa i działanie Kubernetesa na podstawie prostego przykładu
  • specjalne obiekty, takie jak DaemonSet, Job, ConfigMap i tajne dane
  • cykl życia kompletnej aplikacji rozproszonej
  • zabezpieczanie wdrażanych aplikacji
  • aplikacje wieloklastrowe i dostęp do Kubernetesa za pomocą własnego kodu

Poznaj przyszłość infrastruktury!

Przedmowa

1. Wprowadzenie

  • Prędkość
    • Wartość niemutowalności
    • Deklaratywna konfiguracja
    • Systemy samonaprawiające się
  • Skalowanie usługi i zespołów programistycznych
    • Rozłączność
    • Łatwe skalowanie aplikacji i klastrów
    • Skalowanie zespołów programistycznych za pomocą mikrousług
    • Separacja zagadnień dla zapewnienia spójności i skalowania
  • Zapewnianie abstrakcji infrastruktury
  • Wydajność
  • Ekosystem o pochodzeniu chmurowym
  • Podsumowanie

2. Tworzenie i uruchamianie kontenerów

  • Obrazy kontenerów
  • Budowanie obrazów aplikacji za pomocą Dockera
    • Pliki Dockerfile
    • Optymalizacja rozmiarów obrazu
    • Bezpieczeństwo obrazu
  • Wieloetapowe budowanie obrazów
  • Przechowywanie obrazów w zdalnym rejestrze
  • Środowisko wykonawcze kontenera Dockera
    • Uruchamianie kontenerów za pomocą Dockera
    • Odkrywanie aplikacji kuard
    • Ograniczanie wykorzystania zasobów
  • Czyszczenie
  • Podsumowanie

3. Wdrażanie klastra Kubernetes

  • Instalowanie Kubernetes w usłudze dostawcy publicznej chmury
    • Google Kubernetes Engine
    • Instalowanie Kubernetes w Azure Kubernetes Service
    • Instalowanie Kubernetes w Amazon Web Services
  • Lokalna instalacja Kubernetes za pomocą minikube
  • Uruchamianie Kubernetes w Dockerze
  • Klient Kubernetes
    • Sprawdzanie statusu klastra
    • Wyświetlanie węzłów roboczych klastra Kubernetes
  • Komponenty klastra
    • Serwer proxy Kubernetes
    • Serwer DNS Kubernetes
    • Interfejs użytkownika Kubernetes
  • Podsumowanie

4. Typowe polecenia kubectl

  • Przestrzenie nazw
  • Konteksty
  • Przeglądanie obiektów interfejsu API Kubernetes
  • Tworzenie, aktualizacja i niszczenie obiektów Kubernetes
  • Dodawanie etykiet i adnotacji do obiektów
  • Polecenia debugowania
  • Zarządzanie klastrem
  • Uzupełnianie poleceń
  • Inne sposoby pracy z klastrami
  • Podsumowanie

5. Kapsuły

  • Kapsuły w Kubernetes
  • Myślenie w kategoriach kapsuł
  • Manifest kapsuły
    • Tworzenie kapsuły
    • Tworzenie manifestu kapsuły
  • Uruchamianie kapsuł
    • Wyświetlanie listy kapsuł
    • Szczegółowe informacje o kapsule
    • Usuwanie kapsuły
  • Uzyskiwanie dostępu do kapsuły
    • Uzyskiwanie większej ilości informacji za pomocą dzienników
    • Uruchamianie poleceń w kontenerze przy użyciu exec
    • Kopiowanie plików do i z kontenerów
  • Kontrole działania
    • Sonda żywotności
    • Sonda gotowości
    • Sonda rozruchu
    • Zaawansowana konfiguracja sondy
    • Rodzaje kontroli działania
  • Zarządzanie zasobami
    • Żądania zasobów: minimalne wymagane zasoby
    • Ograniczanie wykorzystania zasobów za pomocą limitów
  • Utrwalanie danych za pomocą woluminów
    • Używanie woluminów z kapsułami
    • Różne sposoby używania woluminów z kapsułami
  • Wszystko razem
  • Podsumowanie

6. Etykiety i adnotacje

  • Etykiety
    • Stosowanie etykiet
    • Modyfikowanie etykiet
    • Selektory etykiet
    • Selektory etykiet w obiektach API
    • Etykiety w architekturze Kubernetes
  • Adnotacje
  • Czyszczenie
  • Podsumowanie

7. Wykrywanie usług

  • Co to jest wykrywanie usług?
  • Obiekt Service
    • DNS usługi
    • Kontrole gotowości
  • Udostępnianie usługi poza klastrem
  • Integracja z usługą równoważenia obciążenia
  • Szczegóły dla zaawansowanych
    • Punkty końcowe
    • Ręczne wykrywanie usług
    • kube-proxy i adresy IP klastra
    • Zmienne środowiskowe adresu IP klastra
  • Łączenie z innymi środowiskami
    • Łączenie z zasobami poza klastrem
    • Łączenie zasobów zewnętrznych z usługami w klastrze
  • Czyszczenie
  • Podsumowanie

8. Równoważenie obciążenia HTTP przy użyciu Ingress

  • Specyfikacja Ingress i kontrolery Ingress
  • Instalacja Contour
    • Konfiguracja DNS
    • Konfiguracja pliku lokalnych hostów
  • Praca z Ingress
    • Najprostszy sposób użycia
    • Używanie nazw hosta
    • Ścieżki
    • Czyszczenie
  • Techniki zaawansowane i pułapki
    • Uruchamianie kilku kontrolerów Ingress
    • Wiele obiektów Ingress
    • Ingress i przestrzenie nazw
    • Przepisywanie ścieżek
    • Serwowanie przez TLS
  • Inne implementacje Ingress
  • Przyszłość Ingress
  • Podsumowanie

9. Obiekt ReplicaSet

  • Pętle uzgadniania
  • Relacje między kapsułami i obiektami ReplicaSet
    • Adaptowanie istniejących kontenerów
    • Poddawanie kontenerów kwarantannie
  • Projektowanie z wykorzystaniem ReplicaSet
  • Specyfikacja ReplicaSet
    • Szablony kapsuł
    • Etykiety
  • Tworzenie obiektu ReplicaSet
  • Inspekcja obiektu ReplicaSet
    • Znajdowanie ReplicaSet z poziomu kapsuły
    • Znajdowanie zestawu kapsuł dla ReplicaSet
  • Skalowanie kontrolerów ReplicaSet
    • Skalowanie imperatywne za pomocą polecenia kubectl scale
    • Skalowanie deklaratywne za pomocą kubectl apply
    • Automatyczne skalowanie kontrolera ReplicaSet
  • Usuwanie obiektów ReplicaSet
  • Podsumowanie

10. Obiekt Deployment

  • Twoje pierwsze wdrożenie
  • Tworzenie obiektów Deployment
  • Zarządzanie obiektami Deployment
  • Aktualizowanie obiektów Deployment
    • Skalowanie obiektu Deployment
    • Aktualizowanie obrazu kontenera
    • Historia wersji
  • Strategie wdrażania
    • Strategia Recreate
    • Strategia RollingUpdate
    • Spowalnianie wdrażania w celu zapewnienia poprawnego działania usługi
  • Usuwanie wdrożenia
  • Monitorowanie wdrożenia
  • Podsumowanie

11. Obiekt DaemonSet

  • Planista DaemonSet
  • Tworzenie obiektów DaemonSet
  • Ograniczanie użycia kontrolerów DaemonSet do określonych węzłów
    • Dodawanie etykiet do węzłów
    • Selektory węzłów
  • Aktualizowanie obiektu DaemonSet
  • Usuwanie obiektu DaemonSet
  • Podsumowanie

12. Obiekt Job

  • Obiekt Job
  • Wzorce obiektu Job
    • Zadania jednorazowe
    • Równoległość
    • Kolejki robocze
  • Obiekt CronJob
  • Podsumowanie

13. Obiekty ConfigMap i tajne dane

  • Obiekty ConfigMap
    • Tworzenie obiektów ConfigMap
    • Używanie obiektów ConfigMap
  • Tajne dane
    • Tworzenie tajnych danych
    • Korzystanie z tajnych danych
    • Prywatne rejestry kontenera
  • Ograniczenia dotyczące nazewnictwa
  • Zarządzanie obiektami ConfigMap i tajnymi danymi
    • Wyświetlanie obiektów
    • Tworzenie obiektów
    • Aktualizowanie obiektów
  • Podsumowanie

14. Model kontroli dostępu oparty na rolach w Kubernetes

  • Kontrola dostępu oparta na rolach
    • Tożsamość w Kubernetes
    • Role i powiązania ról
    • Role i powiązania ról w Kubernetes
  • Techniki zarządzania funkcją RBAC
    • Testowanie autoryzacji za pomocą narzędzia can-i
    • Zarządzanie funkcją RBAC w kontroli źródła
  • Tematy zaawansowane
    • Agregowanie ról klastrowych
    • Wykorzystywanie grup do wiązań
  • Podsumowanie

15. Siatki usług

  • Szyfrowanie i uwierzytelnianie przy użyciu Mutual TLS
  • Kształtowanie ruchu
  • Introspekcja
  • Czy naprawdę potrzebujesz siatki usług
  • Introspekcja implementacji siatki usług
  • Krajobraz siatek usług
  • Podsumowanie

16. Integracja rozwiązań do przechowywania danych i Kubernetes

  • Importowanie usług zewnętrznych
    • Usługi bez selektorów
    • Ograniczenia usług zewnętrznych: sprawdzanie poprawności działania
  • Uruchamianie niezawodnych singletonów
    • Uruchamianie singletona MySQL
    • Dynamiczne przydzielanie woluminów
  • Natywne magazyny danych Kubernetes z wykorzystaniem obiektów StatefulSet
    • Właściwości obiektów StatefulSet
    • Ręcznie zreplikowany klaster MongoDB z wykorzystaniem obiektów StatefulSet
    • Automatyzacja tworzenia klastra MongoDB
    • Trwałe woluminy i obiekty StatefulSet
    • Ostatnia rzecz: sondy gotowości
  • Podsumowanie

17. Rozszerzanie Kubernetes

  • Co znaczy rozszerzanie Kubernetes
  • Punkty rozszerzalności
  • Wzorce tworzenia zasobów
    • Tylko dane
    • Kompilatory
    • Operatory
    • Jak zacząć
  • Podsumowanie

18. Dostęp do Kubernetes z poziomu popularnych języków programowania

  • API Kubernetes - perspektywa klienta
    • OpenAPI i generowane biblioteki klientów
    • Kwestia kubectl x
  • Programowanie API Kubernetes
    • Instalacja bibliotek klienckich
    • Uwierzytelnianie w API Kubernetes
    • Dostęp do API Kubernetes
    • Generowanie list i tworzenie kapsuł w Pythonie, Javie i .NET
    • Tworzenie i łatanie nowych obiektów
    • Obserwowanie zmian w API Kubernetes
    • Interakcja z kapsułami
  • Podsumowanie

19. Zabezpieczanie aplikacji w Kubernetes

  • Kontekst zabezpieczeń
    • Wyzwania związane z kontekstem zabezpieczeń
  • Pod Security
    • Czym jest Pod Security
    • Stosowanie standardów Pod Security
  • Zarządzanie kontami usług
  • Kontrola dostępu oparta na rolach
  • RuntimeClass
  • Network Policy
  • Siatka usług
  • Narzędzia do weryfikacji zabezpieczeń
  • Bezpieczeństwo obrazów
  • Podsumowanie

20. Polityki i zarządzanie klastrami Kubernetes

  • Dlaczego polityka i zarządzanie są ważne
  • Przepływ wstępu
  • Polityka i zarządzanie z narzędziem Gatekeeper
    • Czym jest Open Policy Agent
    • Instalacja Gatekeepera
    • Konfigurowanie polityk
    • Szablony ograniczeń
    • Tworzenie ograniczeń
    • Audyt
    • Modyfikacja
    • Replikacja danych
    • Metryki
    • Biblioteka polityk
  • Podsumowanie

21. Wdrożenia aplikacji w wielu klastrach

  • Zanim zaczniesz
  • Podejście od góry z równoważeniem obciążenia
  • Budowa aplikacji dla wielu klastrów
    • Replikowane silosy - najprostszy model międzyregionalny
    • Fragmentowanie - dane regionalne
    • Większa elastyczność - routing mikrousług
  • Podsumowanie

22. Organizacja aplikacji

  • Podstawowe zasady
    • Systemy plików jako źródło prawdy
    • Rola recenzji kodu
    • Bramy i flagi funkcji
  • Zarządzanie aplikacją w systemie kontroli źródła
    • Układ systemu plików
    • Wersje okresowe
  • Konstruowanie aplikacji w sposób umożliwiający jej rozwój, testowanie i wdrażanie
    • Cele
    • Progresja wydania
  • Parametryzacja aplikacji za pomocą szablonów
    • Parametryzacja przy użyciu narzędzia Helm i szablonów
    • Parametryzacja systemu plików
  • Wdrażanie aplikacji na całym świecie
    • Architektura umożliwiająca wdrażanie aplikacji na całym świecie
    • Implementacja wdrożenia światowego
    • Pulpity i monitorowanie wdrożeń światowych
  • Podsumowanie

A. Budowanie własnego klastra Kubernetes

  • Titel: Kubernetes. Tworzenie niezawodnych systemów rozproszonych. Wydanie III
  • Autor: Brendan Burns, Joe Beda, Kelsey Hightower, Lachlan Evenson
  • Originaler Titel: Kubernetes: Up and Running: Dive into the Future of Infrastructure, 3rd Edition
  • Übersetzung: Łukasz Piwko, Lech Lachowski
  • ISBN: 978-83-8322-337-7, 9788383223377
  • Veröffentlichungsdatum: 2023-05-16
  • Format: E-book
  • Artikelkennung: kuber3
  • Verleger: Helion
  • Alterskategorie: 14+