- nowość
Kubernetes. Receptury. Aplikacje natywne dla środowiska chmurowego - ebook
Kubernetes. Receptury. Aplikacje natywne dla środowiska chmurowego - ebook
Kubernetes stał się standardem orkiestracji kontenerów i zarządzania rozproszonymi aplikacjami. Obecnie pozwala na uzyskiwanie automatyzacji, rozszerzalności i przenośności na wysokim poziomie, a sama praca z nim jest efektywna i satysfakcjonująca. Niekiedy jednak tworzenie i wdrażanie aplikacji Kubernetes sprawia problemy nawet zaawansowanym użytkownikom.
To książka przeznaczona dla osób pracujących z systemami Kubernetes. Poszczególne zagadnienia przedstawiono w niej w przejrzystym formacie problem - rozwiązanie - omówienie, dzięki czemu szybko znajdziesz rozwiązanie konkretnego problemu, a to z kolei pozwoli Ci na korzystanie ze wszystkich zalet tej platformy w codziennej pracy. Znalazło się tu ponad 100 praktycznych receptur obejmujących takie tematy jak konfigurowanie klastra, zarządzanie obciążeniem w kontenerach przy użyciu obiektów Kubernetes API, użycie pamięci masowej indeksowanej wartościami klucz-wartość, konfigurowanie zabezpieczeń i wiele innych. Każda receptura jest niezależna od innych, a materiał został zorganizowany w sposób maksymalnie ułatwiający szybkie odnalezienie interesującego Cię zagadnienia.
W książce między innymi:
- tworzenie klastra i interfejs wiersza poleceń Kubernetes
- zarządzanie obciążeniami i usługami
- interfejs API Kubernetes
- skalowanie na poziomie klastra i aplikacji
- zabezpieczanie aplikacji i jej monitorowanie
- utrzymywanie systemów w środowisku chmury i rozwiązywanie problemów
Kubernetes w praktyce. Znajdź szybkie rozwiązania dla każdego wyzwania!
Spis treści
Przedmowa
Rozdział 1. Pierwsze kroki z Kubernetes
- 1.1. Instalacja interfejsu wiersza poleceń Kubernetes (kubectl)
- 1.2. Instalacja Minikube w celu uruchomienia lokalnej instancji Kubernetes
- 1.3. Lokalne wykorzystanie Minikube jako środowiska deweloperskiego
- 1.4. Uruchamianie swojej pierwszej aplikacji na Minikube
- 1.5. Używanie kind do uruchamiania Kubernetes lokalnie
- 1.6. Korzystanie z Kubernetes w Docker Desktop
- 1.7. Przełączanie kontekstów kubectl
- 1.8. Przełączanie kontekstów i przestrzeni nazw przy użyciu kubectx i kubens
Rozdział 2. Tworzenie klastra Kubernetes
- 2.1. Przygotowanie nowego węzła dla klastra Kubernetes
- 2.2. Uruchamianie węzła warstwy sterowania Kubernetes
- 2.3. Instalowanie dodatku Container Network dla sieci klastrów
- 2.4. Dodawanie węzłów roboczych do klastra Kubernetes
- 2.5. Uruchamianie kokpitu nawigacyjnego Kubernetes
- 2.6. Uzyskanie dostępu do kokpitu nawigacyjnego Kubernetes
- 2.7. Wdrażanie serwera Kubernetes Metrics Server
- 2.8. Pobieranie określonej wersji Kubernetes z serwisu GitHub
- 2.9. Pobieranie plików binarnych klienta i serwera
- 2.10. Korzystanie z plików jednostek systemd do uruchamiania komponentów Kubernetes
- 2.11. Tworzenie klastra Kubernetes w Google Kubernetes Engine
- 2.12. Tworzenie klastra Kubernetes w usłudze Azure Kubernetes Service
- 2.13. Tworzenie klastra Kubernetes w usłudze Amazon Elastic Kubernetes Service
Rozdział 3. Jak korzystać z klienta Kubernetes
- 3.1. Lista zasobów
- 3.2. Usuwanie zasobów
- 3.3. Obserwowanie zmian zasobów za pomocą kubectl
- 3.4. Edytowanie obiektów za pomocą kubectl
- 3.5. Uzyskiwanie dodatkowych informacji co do zasobów i pól z kubectl
Rozdział 4. Tworzenie i modyfikowanie podstawowych obciążeń roboczych
- 4.1. Tworzenie poda przy użyciu kubectl run
- 4.2. Tworzenie wdrożenia przy użyciu kubectl create
- 4.3. Tworzenie obiektów z pliku manifestów
- 4.4. Pisanie od podstaw manifestu dla poda
- 4.5. Uruchamianie wdrożenia przy użyciu manifestu
- 4.6. Aktualizacja wdrożenia
- 4.7. Uruchamianie zadań w trybie wsadowym
- 4.8. Uruchamianie w podzie zadania według harmonogramu
- 4.9. Uruchamianie demonów infrastruktury na węzeł
Rozdział 5. Praca z usługami
- 5.1. Tworzenie usługi eksponującej Twoją aplikację
- 5.2. Weryfikacja wpisu DNS dla usługi
- 5.3. Zmiana typu usługi
- 5.4. Wdrażanie kontrolera ingress
- 5.5. Udostępnianie usług spoza klastra
Rozdział 6. Zarządzanie manifestami aplikacji
- 6.1. Instalacja Helm, menedżera pakietów dla Kubernetes
- 6.2. Dodawanie repozytoriów ze schematami do Helm
- 6.3. Używanie Helm do instalowania aplikacji
- 6.4. Sprawdzanie, jakie parametry schematu są konfigurowalne
- 6.5. Nadpisywanie parametrów schematu
- 6.6. Pobieranie podawanych przez użytkownika parametrów wydania Helm
- 6.7. Odinstalowywanie aplikacji z wykorzystaniem Helm
- 6.8. Tworzenie własnego schematu - przygotowanie paczki z aplikacją dla Helm
- 6.9. Instalacja Kompose
- 6.10. Konwertowanie plików Docker Compose na manifesty Kubernetes
- 6.11. Konwersja pliku Docker Compose na schemat Helm
- 6.12. Instalacja kapp
- 6.13. Wdrażanie manifestów YAML przy użyciu kapp
Rozdział 7. Odkrywanie interfejsu API Kubernetes i kluczowe metadane
- 7.1. Wykrywanie punktów końcowych serwera API Kubernetes
- 7.2. Zrozumienie struktury manifestu Kubernetes
- 7.3. Tworzenie przestrzeni nazw w celu uniknięcia kolizji nazw
- 7.4. Ustawianie ograniczeń w przestrzeni nazw
- 7.5. Etykietowanie obiektu
- 7.6. Używanie etykiet w zapytaniach
- 7.7. Dodawanie komentarzy do zasobu za pomocą jednego polecenia
Rozdział 8. Woluminy i dane konfiguracyjne
- 8.1. Wymiana danych między kontenerami za pośrednictwem woluminu lokalnego
- 8.2. Przekazywanie klucza dostępu API do podów przy użyciu sekretu
- 8.3. Dostarczanie danych konfiguracyjnych do aplikacji
- 8.4. Używanie trwałego woluminu w Minikube
- 8.5. O trwałości danych w Minikube
- 8.6. Przechowywanie zaszyfrowanych sekretów w systemie kontroli wersji
Rozdział 9. Skalowanie
- 9.1. Skalowanie wdrożenia
- 9.2. Korzystanie z automatycznego, poziomego skalowania poda (HPA)
- 9.3. Automatyczna zmiana rozmiaru klastra w GKE
- 9.4. Automatyczna zmiana rozmiaru klastra w Amazon EKS
Rozdział 10. Bezpieczeństwo
- 10.1. Zapewnianie unikalnej tożsamości dla aplikacji
- 10.2. Wyświetlanie i przeglądanie informacji związanych z kontrolą dostępu
- 10.3. Kontrolowanie dostępu do zasobów
- 10.4. Zabezpieczanie podów
Rozdział 11. Monitorowanie i rejestrowanie
- 11.1. Dostęp do dzienników kontenera
- 11.2. Odzyskiwanie ze stanu uszkodzonego za pomocą sondy aktywności
- 11.3. Kontrolowanie przepływu ruchu do poda przy użyciu sondy gotowości
- 11.4. Ochrona wolno uruchamiających się kontenerów za pomocą sondy rozruchowej
- 11.5. Dodawanie sond aktywności i gotowości do wdrożeń
- 11.6. Uzyskiwanie dostępu do wskaźników Kubernetes w interfejsie linii poleceń
- 11.7. Korzystanie z Prometheus i Grafana na Minikube
Rozdział 12. Utrzymywanie systemu i rozwiązywanie problemów
- 12.1. Włączanie autouzupełniania dla kubectl
- 12.2. Usuwanie podów z usługi
- 12.3. Uzyskiwanie spoza klastra dostępu do usługi ClusterIP
- 12.4. Zrozumienie i analizowanie stanu zasobów
- 12.5. Debugowanie podów
- 12.6. Wpływanie na zachowanie podów podczas uruchamiania
- 12.7. Uzyskiwanie szczegółowej migawki stanu klastra
- 12.8. Dodawanie węzłów roboczych Kubernetes
- 12.9. Czasowe odłączanie węzła Kubernetes na potrzeby wykonania konserwacji
Rozdział 13. Sieci usług
- 13.1. Instalacja sieci usług Istio
- 13.2. Wdrażanie mikrousługi za pomocą sidecara Istio
- 13.3. Trasowanie ruchu przy użyciu usługi wirtualnej Istio
- 13.4. Nadpisywanie adresu URL przy użyciu usługi wirtualnej Istio
- 13.5. Instalacja usługi Linkerd Service Mesh
- 13.6. Wdrażanie usługi w sieci Linkerd Mesh
- 13.7. Linkerd: przekierowywanie ruchu do usługi
- 13.8. Linkerd: autoryzowanie ruchu do serwera
Rozdział 14. Aplikacje bezserwerowe i aplikacje sterowane zdarzeniami
- 14.1. Instalacja Knative Operator
- 14.2. Instalacja komponentu Knative Serving
- 14.3. Instalacja Knative CLI
- 14.4. Tworzenie usługi Knative
- 14.5. Instalacja komponentu Knative Eventing
- 14.6. Wdrażanie Knative Eventing Source
- 14.7. Włączanie Knative Eventing Sources
- 14.8. Instalowanie źródeł zdarzeń z TriggerMesh
Rozdział 15. Rozbudowywanie Kubernetes
- 15.1. Kompilacja ze źródła
- 15.2. Kompilowanie określonego komponentu
- 15.3. Używanie oprogramowania klienckiego języka Python do pracy z Kubernetes API
- 15.4. Rozszerzanie interfejsu API z wykorzystaniem definicji niestandardowych zasobów
Dodatek. Zasoby
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-289-1346-2 |
Rozmiar pliku: | 5,8 MB |