Details zum E-Book

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ß

E-book

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

  • Titel: Kubernetes. Wzorce projektowe. Komponenty wielokrotnego użycia do projektowania natywnych aplikacji chmurowych
  • Autor: Bilgin Ibryam, Roland Huß
  • Originaler Titel: Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications
  • Übersetzung: Krzysztof Rychlicki-Kicior
  • ISBN: 978-83-283-6404-2, 9788328364042
  • Veröffentlichungsdatum: 2020-05-11
  • Format: E-book
  • Artikelkennung: kubewp
  • Verleger: Helion