Szczegóły ebooka

Kubernetes. Wzorce projektowe. Komponenty wielokrotnego użycia do projektowania natywnych aplikacji chmurowych

Kubernetes. Wzorce projektowe. Komponenty wielokrotnego użycia do projektowania natywnych aplikacji chmurowych

Bilgin Ibryam, Roland Huß

Ebook

Kubernetes jest platformą do orkiestracji kontenerów. Projekt ten należy dziś do najpopularniejszych i najbogatszych narzędzi w swojej klasie, stanowi także podstawę dla wielu innych platform, znanych jako systemy typu PaaS. Dzięki nim Kubernetes zyskał możliwość tworzenia aplikacji, jednak tego rodzaju narzędzia wymagają od programistów i architektów zastosowania odpowiednich wzorców projektowych. Opisują one schematy rozwiązywania problemów na różnych poziomach dokładności, a tym samym umożliwiają efektywne projektowanie i implementację nowoczesnych, elastycznych natywnych aplikacji chmurowych w Kubernetesie.

To książka przeznaczona dla programistów, którzy chcą rozwijać chmurowe aplikacje dla Kubernetesa. Opisano w niej wiele przydatnych wzorców, przedstawiono ich możliwości i wytyczne do stosowania. Poszczególne zagadnienia zostały zilustrowane praktycznymi przykładami. Wśród wzorców znalazły się te, które ułatwiają tworzenie aplikacji chmurowych, oraz umożliwiające zarządzanie interakcjami między kontenerami i platformami. Opisano tu różne metody konfiguracji aplikacji w Kubernetesie oraz zasady organizowania kontenerów w ramach kapsuły. Wprowadzono również szereg bardziej zaawansowanych tematów, takich jak techniki rozszerzania platformy czy tworzenie obrazów kontenerów. Poszczególne wzorce nadają się do wielokrotnego użytku i są szczególnie przydatne w przypadku natywnych środowisk chmurowych.

W książce opisano następujące kategorie wzorców:

  • wzorce podstawowe
  • wzorce zachowań
  • wzorce strukturalne
  • wzorce konfiguracji
  • wzorce zaawansowane

Kubernetes: rzeczywiste rozwiązanie istotnych problemów!


Przedmowa 9

Wstęp 11

1. Wprowadzenie 17

  • Droga do natywnej chmury 17
  • Rozproszone prymitywy 19
    • Kontenery 20
    • Kapsuły 21
    • Usługi 23
    • Etykiety 23
    • Adnotacje 24
    • Przestrzenie nazw 25
  • Dyskusja 26
  • Więcej informacji 27

CZĘŚĆ I. WZORCE PODSTAWOWE

2. Przewidywalne Wymagania 31

  • Problem 31
  • Rozwiązanie 32
    • Zależności uruchomieniowe 32
    • Profile zasobów 34
    • Priorytety kapsuł 35
    • Zasoby projektowe 37
    • Planowanie pojemności 38
  • Dyskusja 38
  • Więcej informacji 39

3. Deklaratywne Wdrażanie 41

  • Problem 41
  • Rozwiązanie 41
    • Ciągłe wdrażanie 42
    • Stałe wdrażanie 44
    • Wydanie niebiesko-zielone 45
    • Wydanie kanarkowe 46
  • Dyskusja 46
  • Więcej informacji 47

4. Sonda Kondycji 49

  • Problem 49
  • Rozwiązanie 49
    • Kontrola działania procesu 50
    • Sonda żywotności 50
    • Sondy gotowości 51
  • Dyskusja 52
  • Więcej informacji 53

5. Zarządzany Cykl Życia 55

  • Problem 55
  • Rozwiązanie 55
    • Sygnał SIGTERM 56
    • Sygnał SIGKILL 56
    • Hak postartowy 56
    • Hak przed zatrzymaniem 58
    • Inne mechanizmy kontroli cyklu życia 58
  • Dyskusja 59
  • Więcej informacji 60

6. Automatyczne Rozmieszczanie 61

  • Problem 61
  • Rozwiązanie 61
    • Dostępne węzły zasobów 62
    • Oczekiwania zasobów wobec kontenera 62
    • Zasady rozmieszczenia 63
    • Proces rozplanowania 63
    • Przypisanie węzła 65
    • Przypisanie i rozdzielność kapsuł 66
    • Skazy i tolerancje 67
  • Dyskusja 70
  • Więcej informacji 72

CZĘŚĆ II. WZORCE ZACHOWAŃ

7. Zadanie Wsadowe 75

  • Problem 75
  • Rozwiązanie 76
  • Dyskusja 78
  • Więcej informacji 79

8. Zadanie Okresowe 81

  • Problem 81
  • Rozwiązanie 82
  • Dyskusja 83
  • Więcej informacji 83

9. Usługa Demona 85

  • Problem 85
  • Rozwiązanie 85
  • Dyskusja 88
  • Więcej informacji 88

10. Usługa Singleton 89

  • Problem 89
  • Rozwiązanie 90
    • Blokada pozaaplikacyjna 90
    • Blokada wewnątrzaplikacyjna 92
    • Budżet zakłóceń kapsuły 93
  • Dyskusja 94
  • Więcej informacji 95

11. Usługa Stanowa 97

  • Problem 97
    • Pamięć trwała 98
    • Sieć 98
    • Tożsamość 99
    • Uporządkowanie 99
    • Inne wymagania 99
  • Rozwiązanie 99
    • Pamięć trwała 101
    • Sieć 101
    • Tożsamość 103
    • Uporządkowanie 103
    • Inne funkcje 104
  • Dyskusja 105
  • Więcej informacji 106

12. Wykrywanie Usług 107

  • Problem 107
  • Rozwiązanie 108
    • Wykrywanie usług wewnętrznych 109
    • Ręczne wykrywanie usług 112
    • Wykrywanie usług spoza klastra 113
    • Wykrywanie usług w warstwie aplikacji 117
  • Dyskusja 119
  • Więcej informacji 120

13. Samoświadomość 121

  • Problem 121
  • Rozwiązanie 121
  • Dyskusja 124
  • Więcej informacji 125

CZĘŚĆ III. WZORCE STRUKTURALNE

14. Kontener Inicjalizacji 129

  • Problem 129
  • Rozwiązanie 130
  • Dyskusja 132
  • Więcej informacji 134

15. Przyczepka 135

  • Problem 135
  • Rozwiązanie 135
  • Dyskusja 137
  • Więcej informacji 138

16. Adapter 139

  • Problem 139
  • Rozwiązanie 139
  • Dyskusja 142
  • Więcej informacji 142

17. Ambasador 143

  • Problem 143
  • Rozwiązanie 143
  • Dyskusja 145
  • Więcej informacji 145

CZĘŚĆ IV. WZORCE KONFIGURACYJNE

18. Konfiguracja EnvVar 149

  • Problem 149
  • Rozwiązanie 149
  • Dyskusja 152
  • Więcej informacji 153

19. Zasób Konfiguracji 155

  • Problem 155
  • Rozwiązanie 155
  • Dyskusja 159
  • Więcej informacji 160

20. Niezmienna Konfiguracja 161

  • Problem 161
  • Rozwiązanie 161
    • Wolumeny Dockera 162
    • Kontenery inicjalizacji Kubernetesa 163
    • Szablony OpenShift 165
  • Dyskusja 166
  • Więcej informacji 166

21. Szablon Konfiguracji 167

  • Problem 167
  • Rozwiązanie 167
  • Dyskusja 172
  • Więcej informacji 172

CZĘŚĆ V. WZORCE ZAAWANSOWANE

22. Kontroler 175

  • Problem 175
  • Rozwiązanie 176
  • Dyskusja 185
  • Więcej informacji 185

23. Operator 187

  • Problem 187
  • Rozwiązanie 188
    • Definicje własnych zasobów 188
    • Klasyfikacja kontrolerów i operatorów 190
    • Tworzenie i wdrażanie operatorów 192
    • Przykład 194
  • Dyskusja 197
  • Więcej informacji 198

24. Elastyczne Skalowanie 201

  • Problem 201
  • Rozwiązanie 201
    • Ręczne skalowanie horyzontalne 202
    • Horyzontalne autoskalowanie kapsuł 203
    • Wertykalne autoskalowanie kapsuł 207
    • Autoskalowanie klastra 210
    • Poziomy skalowania 213
  • Dyskusja 215
  • Więcej informacji 215

25. Budowniczy Obrazów 217

  • Problem 217
  • Rozwiązanie 218
    • Budowanie w OpenShift 219
    • Budowanie w Knative 225
  • Dyskusja 229
  • Więcej informacji 230

Posłowie 231

  • Tytuł: Kubernetes. Wzorce projektowe. Komponenty wielokrotnego użycia do projektowania natywnych aplikacji chmurowych
  • Autor: Bilgin Ibryam, Roland Huß
  • Tytuł oryginału: Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications
  • Tłumaczenie: Krzysztof Rychlicki-Kicior
  • ISBN: 978-83-283-6404-2, 9788328364042
  • Data wydania: 2020-05-11
  • Format: Ebook
  • Identyfikator pozycji: kubewp
  • Wydawca: Helion