Nauka Kubernetesa w miesiąc - ebook
Nauka Kubernetesa w miesiąc - ebook
Kubernetes to system, który uruchamia aplikacje w kontenerach i nimi zarządza. Jest obsługiwany przez wszystkie ważne platformy chmurowe i znakomicie się sprawdza jako centrum danych. Został zbudowany w 2014 roku przez Google i do teraz prężnie się rozwija. Słynie ze skalowalności, z elastyczności, wszechstronności i potężnego zestawu funkcjonalności. Biegłość w posługiwaniu się Kubernetesem jest dziś receptą na sukces. Aby ją zdobyć, musisz zainwestować trochę zaangażowania i nieco ponad 20 godzin. Resztę znajdziesz w tej książce.
Oto znakomity przewodnik po Kubernetesie. Dzięki niemu w ciągu 22 godzinnych lekcji poznasz najważniejsze możliwości Kubernetesa. Od początku będziesz się koncentrować na praktyce: dzięki codziennym ćwiczeniom, przykładom i laboratoriom zdobędziesz biegłość w używaniu najlepszych narzędzi Kubernetesa zgodnie ze sprawdzonymi praktykami. Dowiesz się, jak definiować aplikacje w manifestach YAML, nauczysz się konfigurować ruch sieciowy i uruchamiać zadania wsadowe. Płynnie przejdziesz do pracy w środowisku produkcyjnym i zapewnisz aplikacji wysoki poziom bezpieczeństwa. Zapoznasz się też z zagadnieniami zaawansowanymi, takimi jak skalowanie aplikacji w górę i w dół, kontrola dostępu oparta na rolach, a także używanie Kubernetesa jako platformy dla funkcji bezserwerowych i jako klastra wieloarchitekturowego.
Najciekawsze zagadnienia ujęte w książce:
- cykl życia aplikacji Kubernetesa
- bezpieczeństwo w Kubernetesie
- wdrażanie aplikacji w klastrach Kubernetes
- tworzenie aplikacji skalowalnych i odpornych na błędy
- Kubernetes jako platforma dla nowych technologii
Kubernetes: wystarczą Ci 22 godziny!
Spis treści
- Wstęp
- Podziękowania
- O książce
- Kto powinien przeczytać tę książkę?
- Jak korzystać z tej książki?
- Twoja podróż edukacyjna
- Ćwiczenia Wypróbuj
- Laboratoria
- Dodatkowe materiały
- O kodzie
- O autorze
- Tydzień I Szybka droga do opanowania Kubernetesa
- 1. Zanim zaczniesz
- 1.1. Jak działa Kubernetes?
- 1.2. Czy ta książka jest dla Ciebie?
- 1.3. Tworzenie środowiska laboratoryjnego
- 1.3.1. Pobieranie kodu źródłowego do książki
- 1.3.2. Instalowanie platformy Docker Desktop
- 1.3.3. Instalowanie oprogramowania Docker Community Edition oraz K3s
- 1.3.4. Instalowanie narzędzia wiersza poleceń Kubernetesa
- 1.3.5. Uruchamianie jednowęzłowego klastra Kubernetesa w Azure
- 1.3.6. Uruchamianie jednowęzłowego klastra Kubernetesa w AWS
- 1.3.7. Zweryfikuj swój klaster
- 1.4. Natychmiastowa efektywność
- 2. Uruchamianie kontenerów w Kubernetesie za pomocą kapsuł i wdrożeń
- 2.1. Jak Kubernetes uruchamia kontenery i zarządza nimi?
- 2.2. Uruchamianie kapsuł za pomocą kontrolerów
- 2.3. Definiowanie wdrożeń w manifestach aplikacji
- 2.4. Praca z aplikacjami działającymi w kapsułach
- 2.5. Zarządzanie zasobami przez Kubernetes
- 2.6. Laboratorium
- 3. Łączenie kapsuł przez sieć za pomocą usług
- 3.1. Jak Kubernetes routuje ruch sieciowy?
- 3.2. Routowanie ruchu między kapsułami
- 3.3. Routowanie do kapsuł ruchu zewnętrznego
- 3.4. Routowanie ruchu poza Kubernetes
- 3.5. Jak działa rozwiązywanie usług w Kubernetesie?
- 3.6. Laboratorium
- 4. Konfigurowanie aplikacji za pomocą obiektów ConfigMap i Secret
- 4.1. Jak Kubernetes dostarcza konfigurację do aplikacji?
- 4.2. Zapisywanie plików konfiguracyjnych w obiektach ConfigMap oraz ich używanie
- 4.3. Udostępnianie danych konfiguracyjnych z obiektów ConfigMap
- 4.4. Konfigurowanie poufnych danych za pomocą obiektów Secret
- 4.5. Zarządzanie konfiguracją aplikacji w Kubernetesie
- 4.6. Laboratorium
- 5. Przechowywanie danych przy użyciu woluminów, punktów montowania i żądań
- 5.1. Jak Kubernetes buduje system plików kontenera?
- 5.2. Przechowywanie danych na węźle za pomocą woluminów i punktów montowania
- 5.3. Użycie woluminów trwałych oraz żądań do przechowywania danych dla całego klastra
- 5.4. Dynamiczna alokacja woluminów i klasy pamięci masowej
- 5.5. Opcje wyboru pamięci masowej w Kubernetesie
- 5.6. Laboratorium
- 6. Używanie kontrolerów do skalowania aplikacji w celu rozproszenia ich na wiele kapsuł
- 6.1. Jak Kubernetes uruchamia skalowalne aplikacje?
- 6.2. Używanie wdrożeń i zbiorów replik do skalowania pod kątem obciążenia
- 6.3. Używanie kontrolerów DaemonSet do skalowania pod kątem zapewniania wysokiej dostępności
- 6.4. Własność obiektów w Kubernetesie
- 6.5. Laboratorium
- Tydzień II Kubernetes w prawdziwym świecie
- 7 Rozszerzanie aplikacji o wielokontenerowe kapsuły
- 7.1. Jak kontenery komunikują się w kapsule?
- 7.2. Konfigurowanie aplikacji za pomocą kontenerów inicjujących
- 7.3. Zapewnianie spójności za pomocą kontenerów adapterów
- 7.4. Tworzenie warstwy abstrakcji połączeń za pomocą kontenerów ambasadorów
- 7.5. Środowisko kapsuły
- 7.6. Laboratorium
- 8. Wykorzystywanie kontrolerów StatefulSet i Job do uruchamiania aplikacji operujących na dużych ilościach danych
- 8.1. Jak Kubernetes modeluje stabilność za pomocą kontrolerów StatefulSet
- 8.2. Używanie kontenerów inicjujących do ładowania kapsuł w zbiorach stanowych
- 8.3. Żądanie pamięci masowej za pomocą szablonów PVC
- 8.4. Uruchamianie zadań konserwacyjnych za pomocą kontrolerów Job i CronJob
- 8.5. Wybór platformy dla aplikacji stanowych
- 8.6. Laboratorium
- 9. Zarządzanie wydawaniem nowych wersji aplikacji za pomocą rolloutów i rollbacków
- 9.1. Jak Kubernetes zarządza rolloutami?
- 9.2. Aktualizowanie wdrożeń za pomocą rolloutów i rollbacków
- 9.3. Konfigurowanie dla wdrożeń aktualizacji kroczących
- 9.4. Aktualizacje kroczące w zbiorach demonów i zbiorach stanowych
- 9.5. Strategie wydawania nowych wersji
- 9.6. Laboratorium
- 10. Pakowanie aplikacji i zarządzanie nimi za pomocą menedżera pakietów Helm
- 10.1. Jakie funkcjonalności Helm dodaje do Kubernetesa?
- 10.2. Pakowanie własnych aplikacji za pomocą menedżera pakietów Helm
- 10.3. Modelowanie zależności w wykresach
- 10.4. Wykonywanie uaktualnień i rollbacków wydań Helma
- 10.5. Zastosowania menedżera pakietów Helm
- 10.6. Laboratorium
- 11. Tworzenie aplikacji programistyczne przepływy pracy oraz potok CI/CD
- 11.1. Programistyczny przepływ pracy oparty na Dockerze
- 11.2. Programistyczny przepływ pracy Kubernetesa jako usługi
- 11.3. Izolowanie obciążeń roboczych za pomocą kontekstów i przestrzeni nazw
- 11.4. Ciągłe dostarczanie w Kubernetesie bez Dockera
- 11.5. Ocena programistycznych przepływów pracy w Kubernetesie
- 11.6. Laboratorium
- Tydzień III Przygotowanie do działania w środowisku produkcyjnym
- 12. Konfigurowanie samonaprawiających się aplikacji
- 12.1. Routowanie ruchu do zdrowych kapsuł przy użyciu sond gotowości
- 12.2. Wykorzystanie sond żywotności do restartowania kapsuł, które uległy awarii
- 12.3. Bezpieczne wdrażanie uaktualnień za pomocą menedżera pakietów Helm
- 12.4. Chronienie aplikacji i węzłów za pomocą limitów zasobów
- 12.5. Ograniczenia samonaprawiających się aplikacji
- 12.6. Laboratorium
- 13. Centralizacja dzienników za pomocą oprogramowania Fluentd i Elasticsearch
- 13.1. Jak Kubernetes przechowuje wpisy dzienników?
- 13.2. Gromadzenie dzienników z węzłów za pomocą Fluentd
- 13.3. Wysyłanie dzienników do Elasticsearch
- 13.4. Parsowanie i filtrowanie wpisów dzienników
- 13.5. Opcje rejestrowania w Kubernetesie
- 13.6. Laboratorium
- 14. Monitorowanie aplikacji i Kubernetesa za pomocą pakietu narzędziowego Prometheus
- 14.1. Jak Prometheus monitoruje obciążenia robocze Kubernetesa?
- 14.2. Monitorowanie aplikacji zbudowanych przy użyciu bibliotek klienckich Prometheusa
- 14.2. Monitorowanie aplikacji zbudowanych
- 14.3. Monitorowanie zewnętrznych aplikacji przy użyciu eksporterów wskaźników
- 14.4. Monitorowanie kontenerów i obiektów Kubernetesa
- 14.5. Inwestycje w monitorowanie
- 14.6. Laboratorium
- 15. Zarządzanie ruchem przychodzącym za pomocą obiektu Ingress
- 15.1. W jaki sposób Kubernetes routuje ruch za pomocą obiektu Ingress?
- 15.2. Routing ruchu HTTP za pomocą reguł obiektu Ingress
- 15.3. Porównanie kontrolerów ruchu przychodzącego
- 15.4. Używanie obiektu Ingress do zabezpieczania aplikacji za pomocą protokołu HTTPS
- 15.5. Obiekt Ingress i kontrolery ruchu przychodzącego
- 15.6. Laboratorium
- 16. Zabezpieczanie aplikacji za pomocą reguł, kontekstów i sterowania dostępem
- 16.1. Zabezpieczanie komunikacji za pomocą reguł sieciowych
- 16.2. Ograniczanie możliwości kontenerów za pomocą kontekstów bezpieczeństwa
- 16.3. Blokowanie i modyfikowanie obciążeń roboczych za pomocą zaczepów sieciowych
- 16.4. Sterowanie dostępem za pomocą silnika Open Policy Agent
- 16.5. Kwestie bezpieczeństwa w Kubernetesie
- 16.6. Laboratorium
- Tydzień IV Czysty Kubernetes w praktyce
- 17. Zabezpieczanie zasobów za pomocą kontroli dostępu opartej na rolach
- 17.1. Jak Kubernetes zabezpiecza dostęp do zasobów?
- 17.2. Zabezpieczanie dostępu do zasobów wewnątrz klastra
- 17.3. Wiązanie ról z grupami użytkowników i kont usług
- 17.4. Wykrywanie i kontrolowanie uprawnień za pomocą wtyczek
- 17.5. Planowanie strategii RBAC
- 17.6. Laboratorium
- 18. Wdrażanie Kubernetesa: klastry wielowęzłowe i wieloarchitekturowe
- 18.1. Co się znajduje w klastrze Kubernetesa?
- 18.2. Inicjowanie płaszczyzny sterowania
- 18.3. Dodawanie węzłów i uruchamianie obciążeń roboczych na węzłach linuksowych
- 18.4. Dodawanie węzłów Windowsa i uruchamianie hybrydowych obciążeń roboczych
- 18.5. Kubernetes na dużą skalę
- 18.6. Laboratorium
- 19 Kontrolowanie rozmieszczania obciążeń roboczych
- 19.1. Jak Kubernetes rozdysponowuje obciążenia robocze?
- 19.2. Zarządzanie rozmieszczaniem kapsuł
- 19.2. Zarządzanie rozmieszczaniem kapsuł za pomocą powinowactwa i antypowinowactwa
- 19.3. Kontrolowanie wydajności za pomocą automatycznego skalowania
- 19.4. Ochrona zasobów za pomocą wywłaszczeń i priorytetów
- 19.5. Mechanizmy zarządzania obciążeniami roboczymi
- 19.6. Laboratorium
- 20. Rozszerzanie Kubernetesa o niestandardowe zasoby i operatory
- 20.1. Jak rozszerzać Kubernetes za pomocą niestandardowych zasobów?
- 20.2. Wyzwalanie przepływów pracy za pomocą niestandardowych kontrolerów
- 20.3. Zarządzanie zewnętrznymi komponentami przy użyciu operatorów
- 20.4. Budowanie operatorów dla własnych aplikacji
- 20.5. Kiedy rozszerzać Kubernetes?
- 20.6. Laboratorium
- 21. Uruchamianie w Kubernetesie funkcji bezserwerowych
- 21.1. Jak działają platformy bezserwerowe w Kubernetesie?
- 21.2. Wywoływanie funkcji za pomocą żądań HTTP
- 21.3. Wywoływanie funkcji za pomocą zdarzeń i harmonogramów
- 21.4. Tworzenie warstwy abstrakcji dla funkcji bezserwerowych przy użyciu projektu Serverless
- 21.5. Kiedy stosować funkcje bezserwerowe?
- 21.6. Laboratorium
- 22. Nauka nigdy się nie kończy
- 22.1. Dalsza lektura dla poszczególnych rozdziałów
- 22.2. Wybór platformy Kubernetesa
- 22.3. Jak jest zbudowany Kubernetes?
- 22.4. Dołączanie do społeczności
Kategoria: | Serwery internetowe |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-7911-4 |
Rozmiar pliku: | 29 MB |