ksiazki24h.pl
wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   0 zł   zamówienie wysyłkowe >>>
Strona główna > opis książki

NAJLEPSZE PRAKTYKI W KUBERNETES JAK BUDOWAĆ UDANE APLIKACJE


BURNS B. VILLALBA E. STREBEL D. EVENSON L.

wydawnictwo: HELION , rok wydania 2020, wydanie I

cena netto: 59.00 Twoja cena  56,05 zł + 5% vat - dodaj do koszyka

Najlepsze praktyki w Kubernetes

Jak budować udane aplikacje

Systemy informatyczne oparte na chmurze stały się atrakcyjną alternatywą dla standardowej infrastruktury. Wymusiły jednak radykalne zmiany w praktykach tworzenia, wdrażania i utrzymywania aplikacji. Dziś uwaga profesjonalistów skupiona jest na Kubernetes, który w ciągu zaledwie kilku lat stał się faktycznym standardem wdrażania natywnej chmury. Aby tworzone aplikacje funkcjonowały wydajnie, bezawaryjnie i niezawodnie, warto wdrożyć i stosować wzorce i najlepsze praktyki. Konieczne jest również przemodelowanie sposobu pracy programistów.

Ta książka jest przeznaczona dla profesjonalnych użytkowników Kubernetes, którzy chcą poznać wzorce i najlepsze praktyki przy wdrażaniu rzeczywistych rozwiązań.

Znalazły się tu informacje o jego działaniu w różnych skalach, topologiach i domenach, a także liczne przykłady zastosowania omawianych technologii. Sporo miejsca poświęcono zagadnieniom projektowania aplikacji, konfiguracji i działania usług Kubernetes, a także ciągłej integracji i testowania aplikacji. Ważnym zagadnieniem są takie aspekty zarządzania klastrem jak przydzielanie zasobów, zapewnienie bezpieczeństwa czy autoryzacja i dostęp do klastra. Prezentowane treści zilustrowano fragmentami przejrzystego kodu, co dodatkowo zwiększa przydatność tej książki w pracy inżyniera.

Najciekawsze zagadnienia:

  • konfiguracja i projektowanie aplikacji w Kubernetes
  • wzorce monitorowania i zarządzanie uaktualnieniami aplikacji
  • wdrażanie i wycofywanie aplikacji Kubernetes
  • polityka sieciowa i współpraca Kubernetes z architekturą Service Mesh
  • platformy wysokiego poziomu na bazie Kubernetes
  • Kubernetes i uczenie maszynowe

Wprowadzenie 11

1. Konfiguracja podstawowej usługi 15

Ogólne omówienie aplikacji 15
Zarządzanie plikami konfiguracyjnymi 15
Tworzenie usługi replikowanej za pomocą wdrożeń 17
Najlepsze praktyki dotyczące zarządzania obrazami kontenera 17
Tworzenie replikowanej aplikacji 18
Konfiguracja zewnętrznego przychodzącego ruchu sieciowego HTTP 20
Konfigurowanie aplikacji za pomocą zasobu ConfigMap 21
Zarządzanie uwierzytelnianiem za pomocą danych poufnych 22
Wdrożenie prostej bezstanowej bazy danych 25
Utworzenie za pomocą usług mechanizmu równoważenia obciążenia TCP 28
Przekazanie przychodzącego ruchu sieciowego do serwera pliku statycznego 29
Parametryzowanie aplikacji za pomocą menedżera pakietów Helm 31
Najlepsze praktyki dotyczące wdrożenia 32
Podsumowanie 33

2. Sposób pracy programisty 35

Cele 35
Tworzenie klastra programistycznego 36
Konfiguracja klastra współdzielonego przez wielu programistów 37
Przygotowywanie zasobów dla użytkownika 38
Tworzenie i zabezpieczanie przestrzeni nazw 40
Zarządzanie przestrzeniami nazw 42
Usługi na poziomie klastra 43
Umożliwienie pracy programistom 43
Konfiguracja początkowa 43
Umożliwienie aktywnego programowania 44
Umożliwienie testowania i debugowania 45
Najlepsze praktyki dotyczące konfiguracji środowiska programistycznego 46
Podsumowanie 46

3. Monitorowanie i rejestrowanie danych w Kubernetes 47

Wskaźniki kontra dzienniki zdarzeń 47
Techniki monitorowania 47
Wzorce monitorowania 48
Ogólne omówienie wskaźników Kubernetes 49
cAdvisor 49
Wskaźniki serwera 50
kube-state-metrics 50
Które wskaźniki powinny być monitorowane? 51
Narzędzia do monitorowania 52
Monitorowanie Kubernetes za pomocą narzędzia Prometheus 54
Ogólne omówienie rejestrowania danych 58
Narzędzia przeznaczone do rejestrowania danych 60
Rejestrowanie danych za pomocą stosu EFK 60
Ostrzeganie 62
Najlepsze praktyki dotyczące monitorowania, rejestrowania danych i ostrzegania 64
Monitorowanie 64
Rejestrowanie danych 64
Ostrzeganie 64
Podsumowanie 65

4. Konfiguracja, dane poufne i RBAC 67

Konfiguracja za pomocą zasobu ConfigMap i danych poufnych 67
ConfigMap 67
Dane poufne 68
Najlepsze praktyki dotyczące API zasobu ConfigMap i danych poufnych 69
RBAC 74
Krótkie wprowadzenie do mechanizmu RBAC 75
Najlepsze praktyki dotyczące mechanizmu RBAC 77
Podsumowanie 79

5. Ciągła integracja, testowanie i ciągłe wdrażanie 81

System kontroli wersji 82
Ciągła integracja 82
Testowanie 82
Kompilacja kontenera 83
Oznaczanie tagiem obrazu kontenera 84
Ciągłe wdrażanie 85
Strategie wdrażania 85
Testowanie w produkcji 89
Stosowanie inżynierii chaosu i przygotowania 91
Konfiguracja ciągłej integracji 91
Konfiguracja ciągłego wdrażania 93
Przeprowadzanie operacji uaktualnienia 94
Prosty eksperyment z inżynierią chaosu 94
Najlepsze praktyki dotyczące technik ciągłej integracji i ciągłego wdrażania 95
Podsumowanie 96

6. Wersjonowanie, wydawanie i wdrażanie aplikacji 97

Wersjonowanie aplikacji 98
Wydania aplikacji 98
Wdrożenia aplikacji 99
Połączenie wszystkiego w całość 100
Najlepsze praktyki dotyczące wersjonowania, wydawania i wycofywania wdrożeń 103
Podsumowanie 104

7. Rozpowszechnianie aplikacji na świecie i jej wersje robocze 105

Rozpowszechnianie obrazu aplikacji 106
Parametryzacja wdrożenia 107
Mechanizm równoważenia obciążenia związanego z ruchem sieciowym w globalnie wdrożonej aplikacji 107
Niezawodne wydawanie oprogramowania udostępnianego globalnie 108
Weryfikacja przed wydaniem oprogramowania 108
Region kanarkowy 111
Identyfikacja typów regionów 111
Przygotowywanie wdrożenia globalnego 112
Gdy coś pójdzie nie tak 113
Najlepsze praktyki dotyczące globalnego wdrożenia aplikacji 114
Podsumowanie 115

8. Zarządzanie zasobami 117

Zarządca procesów w Kubernetes 117
Predykaty 117
Priorytety 118
Zaawansowane techniki stosowane przez zarządcę procesów 119
Podobieństwo i brak podobieństwa podów 119
nodeSelector 120
Wartość taint i tolerancje 120
Zarządzanie zasobami poda 122
Żądanie zasobu 122
Ograniczenia zasobów i jakość usługi poda 123
PodDisruptionBudget 125
Zarządzanie zasobami za pomocą przestrzeni nazw 126
ResourceQuota 127
LimitRange 128
Skalowanie klastra 129
Skalowanie aplikacji 130
Skalowanie za pomocą HPA 131
HPA ze wskaźnikami niestandardowymi 132
Vertical Pod Autoscaler 133
Najlepsze praktyki dotyczące zarządzania zasobami 133
Podsumowanie 134

9. Sieć, bezpieczeństwo sieci i architektura Service Mesh 135

Reguły działania sieci w Kubernetes 135
Wtyczki sieci 137
Kubenet 137
Najlepsze praktyki dotyczące pracy z Kubenet 138
Wtyczka zgodna ze specyfikacją CNI 139
Najlepsze praktyki dotyczące pracy z wtyczkami zgodnymi ze specyfikacją CNI 139
Usługi w Kubernetes 140
Typ usługi ClusterIP 140
Typ usługi NodePort 142
Typ usługi ExternalName 143
Typ usługi LoadBalancer 143
Ingress i kontrolery Ingress 144
Najlepsze praktyki dotyczące usług i kontrolerów Ingress 146
Polityka zapewnienia bezpieczeństwa sieci 146
Najlepsze praktyki dotyczące polityki sieci 148
Architektura Service Mesh 150
Najlepsze praktyki dotyczące architektury Service Mesh 151
Podsumowanie 152

10. Bezpieczeństwo poda i kontenera 153

API PodSecurityPolicy 153
Włączenie zasobu PodSecurityPolicy 153
Anatomia zasobu PodSecurityPolicy 155
Wyzwania związane z zasobem PodSecurityPolicy 162
Najlepsze praktyki dotyczące zasobu PodSecurityPolicy 163
Następne kroki związane z zasobem PodSecurityPolicy 163
Izolacja zadania i API RuntimeClass 164
Używanie API RuntimeClass 164
Implementacje środowiska uruchomieniowego 165
Najlepsze praktyki dotyczące izolacji zadań i API RuntimeClass 166
Pozostałe rozważania dotyczące zapewnienia bezpieczeństwa poda i kontenera 166
Kontrolery dopuszczenia 166
Narzędzia do wykrywania włamań i anomalii 167
Podsumowanie 167

11. Polityka i zarządzanie klastrem 169

Dlaczego polityka i zarządzanie są ważne? 169
Co odróżnia tę politykę od innych? 169
Silnik polityki natywnej chmury 170
Wprowadzenie do narzędzia Gatekeeper 170
Przykładowe polityki 171
Terminologia stosowana podczas pracy z Gatekeeper 171
Definiowanie szablonu ograniczenia 172
Definiowanie ograniczenia 173
Replikacja danych 174
UX 174
Audyt 175
Poznanie narzędzia Gatekeeper 176
Następne kroki podczas pracy z narzędziem Gatekeeper 176
Najlepsze praktyki dotyczące polityki i zarządzania 176
Podsumowanie 177

12. Zarządzanie wieloma klastrami 179

Do czego potrzebujesz wielu klastrów? 179
Kwestie do rozważenia podczas projektowania architektury składającej się z wielu klastrów 181
Zarządzanie wieloma wdrożeniami klastrów 183
Wzorce wdrażania i zarządzania 183
Podejście GitOps w zakresie zarządzania klastrami 185
Narzędzia przeznaczone do zarządzania wieloma klastrami 187
Federacja Kubernetes 187
Najlepsze praktyki dotyczące zarządzania wieloma klastrami 190
Podsumowanie 191

13. Integracja usług zewnętrznych z Kubernetes 193

Importowanie usług do Kubernetes 193
Pozbawiona selektora usługa dla stabilnego adresu IP 194
Oparte na rekordzie CNAME usługi dla stabilnych nazw DNS 194
Podejście oparte na aktywnym kontrolerze 196
Eksportowanie usług z Kubernetes 197
Eksportowanie usług za pomocą wewnętrznych mechanizmów równoważenia obciążenia 197
Eksportowanie usług za pomocą usługi opartej na NodePort 198
Integracja komputerów zewnętrznych z Kubernetes 199
Współdzielenie usług między Kubernetes 200
Narzędzia opracowane przez podmioty zewnętrzne 200
Najlepsze praktyki dotyczące nawiązywania połączeń między klastrami a usługami zewnętrznymi 201
Podsumowanie 201

14. Uczenie maszynowe w Kubernetes 203

Dlaczego Kubernetes doskonale sprawdza się w połączeniu z uczeniem maszynowym? 203
Sposób pracy z zadaniami uczenia głębokiego 204
Uczenie maszynowe dla administratorów klastra Kubernetes 205
Trenowanie modelu w Kubernetes 205
Trenowanie rozproszone w Kubernetes 208
Ograniczenia dotyczące zasobów 208
Sprzęt specjalizowany 208
Biblioteki, sterowniki i moduły jądra 209
Pamięć masowa 210
Sieć 211
Protokoły specjalizowane 211
Obawy użytkowników zajmujących się analizą danych 212
Najlepsze praktyki dotyczące wykonywania w Kubernetes zadań związanych z uczeniem maszynowym 212
Podsumowanie 213

15. Tworzenie wzorców aplikacji wysokiego poziomu na podstawie Kubernetes 215

Podejścia w zakresie tworzenia abstrakcji wysokiego poziomu 215
Rozszerzanie Kubernetes 216
Rozszerzanie klastrów Kubernetes 216
Wrażenia użytkownika podczas rozszerzania Kubernetes 218
Rozważania projektowe podczas budowania platformy 218
Obsługa eksportowania do obrazu kontenera 218
Obsługa istniejących mechanizmów dla usług i wykrywania usług 219
Najlepsze praktyki dotyczące tworzenia platform dla aplikacji 220
Podsumowanie 220

16. Zarządzanie informacjami o stanie i aplikacjami wykorzystującymi te dane 221

Woluminy i punkty montowania 222
Najlepsze praktyki dotyczące woluminów 223
Pamięć masowa w Kubernetes 223
API PersistentVolume 223
API PersistentVolumeClaims 224
Klasy pamięci masowej 225
Najlepsze praktyki dotyczące pamięci masowej w Kubernetes 226
Aplikacje obsługujące informacje o stanie 227
Zasób StatefulSet 228
Operatory 229
Najlepsze praktyki dotyczące zasobu StatefulSet i operatorów 230
Podsumowanie 231

17. Sterowanie dopuszczeniem i autoryzacja 233

Sterowanie dopuszczeniem 233
Czym jest kontroler dopuszczenia? 234
Typy kontrolerów dopuszczenia 234
Konfiguracja zaczepu sieciowego dopuszczenia 235
Najlepsze praktyki dotyczące sterowania dopuszczeniem 237
Autoryzacja 239
Moduły autoryzacji 239
Najlepsze praktyki dotyczące autoryzacji 242
Podsumowanie 242

18. Zakończenie 243

248 stron, Format: 17.0x24.0cm, oprawa miękka

Po otrzymaniu zamówienia poinformujemy,
czy wybrany tytuł polskojęzyczny lub anglojęzyczny jest aktualnie na półce księgarni.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. 2012-2022