E-book details

Nauka Kubernetesa w miesiąc

Nauka Kubernetesa w miesiąc

Elton Stoneman

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!

  • 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
  • Title: Nauka Kubernetesa w miesiąc
  • Author: Elton Stoneman
  • Original title: Learn Kubernetes in a Month of Lunches
  • Translation: Lech Lachowski
  • ISBN: 978-83-283-7911-4, 9788328379114
  • Date of issue: 2021-12-21
  • Format: Ebook
  • Item ID: kubnwm
  • Publisher: Helion