Najlepsze praktyki w Kubernetes. Jak budować udane aplikacje - Helion
Tytuł oryginału: Kubernetes Best Practices: Blueprints for Building Successful Applications on Kubernetes
Tłumaczenie: Robert Górczyński
ISBN: 978-83-283-7233-7
stron: 248, Format: ebook
Data wydania: 2020-10-01
Księgarnia: Helion
Cena książki: 44,25 zł (poprzednio: 59,00 zł)
Oszczędzasz: 25% (-14,75 zł)
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
Najlepsze praktyki w Kubernetes: poradzisz sobie z każdym wyzwaniem!
Osoby które kupowały "Najlepsze praktyki w Kubernetes. Jak budować udane aplikacje", wybierały także:
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku 58,64 zł, (12,90 zł -78%)
- Mapa Agile & Scrum. Jak si 57,69 zł, (15,00 zł -74%)
- Sztuka podst 53,46 zł, (13,90 zł -74%)
- Lean dla bystrzaków. Wydanie II 49,62 zł, (12,90 zł -74%)
Spis treści
Najlepsze praktyki w Kubernetes. Jak budować udane aplikacje eBook -- spis treści
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