Кубернетес. Создание надежных систем
Товар
Характеристики
Описание
Kubernetes. Tworzenie niezawodnych systemów rozproszonych. Wydanie III
Brendan Burns, Joe Beda, Kelsey Hightower, Lachlan Evenson
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!
O autorach:
dr Brendan Burns specjalizuje się w projektowaniu dużych aplikacji i programowaniu obliczeń w chmurze. Jest też współzałożycielem projektu open source Kubernetes. Obecnie pracuje w Microsofcie, gdzie zajmuje się platformą Azure, natomiast wcześniej pracował w Google Cloud Platform. Kiedyś zajmował się również infrastrukturą wyszukiwarek internetowych Google.
Joe Beda jest jednym z inicjatorów projektu Kubernetes, pełnił kluczową funkcję w tworzeniu Google Compute Engine (usługi VM w chmurze Google). Pracuje jako dyrektor techniczny firmy Heptio.
Kelsey Hightower zajmował się różnymi technikami informatycznymi. Jest orędownikiem idei open source i prostych narzędzi, które ułatwiają ludziom życie. Namiętnie pisze kod w Go i prowadzi warsztaty techniczne
Lachlan Evenson jest głównym menedżerem programu w zespole kontenerów w Microsoft Azure. Znany z pomocnych szkoleń i wystąpień podczas różnych konferencji.
Spis treści:
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
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.