Kubernetes - rozwiązania chmurowe w świecie DevOps
Товар
- 0 раз купили
- 4.76 оценка
- 1 осталось
- 21 отзыв
Доставка
Характеристики
Описание
Kubernetes - rozwiązania chmurowe w świecie DevOps. Tworzenie, wdrażanie i skalowanie nowoczesnych aplikacji chmurowych
John Arundel, Justin Domingus
Kubernetes jest standardową platformą rozproszonych aplikacji chmurowych. Pozwala na budowanie i wdrażanie niezawodnych, wydajnych i skalowalnych aplikacji. Jednak przebudowa klasycznej infrastruktury IT na rozwiązania chmurowe, aby mogła być przeprowadzona bez dużych utrudnień pracy firmy, wymaga przygotowania i odpowiedzi na kilka ważnych pytań.
W tym wyczerpującym i praktycznym przewodniku opisano, jak działają kontenery Kubernetes, jak je budować i nimi zarządzać oraz jak projektować usługi i infrastrukturę cloud native. Wyjaśniono różnice między budowaniem swoich klastrów a korzystaniem z usług zarządzanych takich firm jak Amazon, Google i Microsoft. Dokładnie przedstawiono - od strony praktycznej - rozwijanie aplikacji, konfigurowanie i obsługę klastrów oraz automatyzację infrastruktury. Wiedza ta pozwoli na sprawne zbudowanie skalowalnej, odpornej na awarie i opłacalnej infrastruktury Kubernetes - w zgodzie z metodyką DevOps.
W tej książce:
- solidne podstawy działania kontenerów i systemu Kubernetes
- uruchamianie własnych klastrów
- zarządzane usługi Kubernetes od Amazon, Google i innych dostawców
- cykl życia kontenera i optymalizacja klastrów
- najlepsze narzędzia i najnowsze praktyki branżowe
- zasady DevOps w praktyce
Kubernetes: nowoczesność, skalowalność i prawdziwa niezawodność!
O autorach książki
John Arundel od trzydziestu lat zajmuje się technologiami informatycznymi, jest konsultantem i autorem kilku książek. Specjalizuje się w tworzeniu infrastruktury cloud native, szczególnie w Kubernetesie. Mieszka w Kornwalii w Anglii.
Justin Domingus jest inżynierem operacyjnym. Zdobył duże doświadczenie w pracy z technologiami chmurowymi w środowiskach DevOps z Kubernetesem. Mieszka w Seattle w stanie Waszyngton.
Spis treści książki
Przedmowa 19
Wstęp 21
1. Rewolucja chmurowa 25
- Tworzenie chmury 25
Czas kupowania 26
Infrastruktura jako usługa 27
- Początki DevOps 27
Nikt nie rozumie DevOps 28
Przewaga biznesowa 29
Infrastruktura w postaci kodu 30
Wspólna nauka 30
- Nadejście kontenerów 31
Stan aktualny 31
Myślenie pudełkowe 31
Umieszczanie oprogramowania w kontenerach 32
Aplikacje Plug and Play 33
- Uruchomienie orkiestratora 33
- Kubernetes 34
Od Borga do Kubernetes 34
Co sprawia, że Kubernetes jest tak cenny? 35
Czy Kubernetes zniknie? 36
Kubernetes nie załatwia wszystkiego 37
- Model Cloud Native 38
- Przyszłość operacji 39
Rozproszone DevOps 40
Niektóre rzeczy pozostaną scentralizowane 40
Produktywni programiści 40
Jesteś przyszłością 41
- Podsumowanie 41
2. Pierwsze kroki z Kubernetes 43
- Uruchamianie pierwszego kontenera 43
Instalowanie Docker Desktop 43
Co to jest Docker? 44
Uruchamianie obrazu kontenera 44
- Aplikacja demonstracyjna 45
Oglądamy kod źródłowy 45
Wprowadzenie do języka Go 46
Jak działa aplikacja demonstracyjna? 46
- Budowanie kontenera 46
Opis plików Dockerfile 47
Minimalne obrazy kontenerów 47
Uruchamianie skompilowanego obrazu Docker 48
Nazywanie obrazów 48
Przekierowanie portów (ang. port forwarding) 49
- Rejestry kontenerowe 49
Uwierzytelnianie w rejestrze 49
Przydzielanie nazwy i dodawanie obrazu 50
Uruchamianie obrazu 50
- Cześć, Kubernetes 50
Uruchamianie aplikacji demonstracyjnej 50
Jeśli kontener się nie uruchamia 51
- Minikube 52
- Podsumowanie 52
3. Opis Kubernetes 53
- Architektura klastrowa 53
Warstwa sterowania 54
Elementy węzła 54
System wysokiej niezawodności (ang. high availability) 55
- Koszty samodzielnego hostingu Kubernetes 56
To więcej pracy niż myślisz 57
Nie chodzi tylko o początkową konfigurację 58
Narzędzia nie wykonają za Ciebie całej pracy 58
Kubernetes jest trudny 58
Koszty administracyjne 59
Zacznij od usług zarządzanych 59
- Zarządzane usługi Kubernetes 60
Google Kubernetes Engine (GKE) 60
Automatyczne skalowanie klastra 61
Usługa Amazon Elastic Container Service dla Kubernetes (EKS) 61
Usługa Azure Kubernetes Service (AKS) 61
OpenShift 62
Usługa IBM Cloud Kubernetes Service 62
- Rozwiązania Kubernetes pod klucz 62
Containership Kubernetes Engine (CKE) 62
- Instalatory Kubernetes 63
kops 63
Kubespray 63
TK8 63
Kubernetes The Hard Way 64
kubeadm 64
Tarmak 64
Rancher Kubernetes Engine (RKE) 64
Moduł Puppet dla Kubernetes 65
Kubeformation 65
- Kup lub zbuduj: nasze rekomendacje 65
Uruchom mniej oprogramowania 65
Skorzystaj z zarządzanych usług Kubernetes, jeśli możesz 66
A co z uzależnieniem od jednego dostawcy? 66
Jeśli trzeba, użyj standardowych narzędzi do samodzielnego hostingu Kubernetes 67
Gdy Twoje wybory są ograniczone 67
Bare-metal i on-premise 67
- Bezklastrowe usługi kontenerowe 68
Amazon Fargate 68
Azure Container Instances (ACI) 69
- Podsumowanie 69
4. Praca z obiektami Kubernetes 71
- Zasoby Deployment 71
Nadzór i planowanie 72
Restart kontenerów 72
Zapytania obiektów Deployment 72
- Pody 73
- ReplicaSet 74
- Utrzymanie pożądanego stanu 74
- Scheduler 75
- Manifesty zasobów w formacie YAML 76
Zasoby są danymi 76
Manifesty obiektu Deployment 76
Polecenie kubectl apply 77
Serwis 77
Odpytywanie klastra za pomocą polecenia kubectl 80
Przenoszenie zasobów na wyższy poziom 80
- Helm: menadżer pakietów Kubernetes 81
Instalacja Helm 81
Instalacja wykresu Helm 81
Wykresy, repozytoria i wydania 82
Wyświetlanie listy wydań Helm 82
- Podsumowanie 83
5. Zarządzanie zasobami 85
- Zrozumienie działania zasobów 85
Jednostki zasobów 86
Żądania zasobów 86
Limity zasobów 86
Utrzymuj małe kontenery 87
- Zarządzanie cyklem życia kontenera 88
Sondy żywotności 88
Opóźnienie i częstotliwość sondy 89
Inne typy sond 89
Sondy gRPC 89
Sondy gotowości 90
Sondy gotowości na podstawie pliku 90
minReadySeconds 91
Budżety zakłóceń Poda 91
- Korzystanie z przestrzeni nazw 92
Praca z przestrzeniami nazw 93
Jakich przestrzeni nazw powinieneś używać? 93
Adresy serwisów 94
Przydziały zasobów (ang. Resource Quotas) 94
Domyślne żądania zasobów i limity 96
- Optymalizacja kosztów klastra 96
Optymalizacja obiektów Deployment 97
Optymalizacja Podów 97
Vertical Pod Autoscaler 98
Optymalizacja węzłów 98
Optymalizacja przestrzeni dyskowej 99
Czyszczenie nieużywanych zasobów 100
Sprawdzanie wolnej pojemności 102
Korzystanie z instancji zastrzeżonych 102
Korzystanie z instancji w trybie wywłaszczeniowym 103
Utrzymywanie równowagi obciążeń 105
- Podsumowanie 106
6. Operacje na klastrach 109
- Rozmiar i skalowanie klastra 109
Planowanie pojemności 109
Węzły i instancje 112
Skalowanie klastra 114
- Sprawdzanie zgodności 116
Certyfikat CNCF 116
Testy zgodności z Sonobuoy 118
- Walidacja i audyt 118
K8Guard 118
Copper 119
kube-bench 119
Dziennik kontroli Kubernetes (ang. Kubernetes audit log) 119
- Testowanie chaosu 120
Tylko produkcja jest produkcją 120
chaoskube 121
kube-monkey 121
PowerfulSeal 122
- Podsumowanie 122
7. Narzędzia Kubernetes 125
- Znowu o kubectl 125
Aliasy powłoki 125
Używanie przełączników 126
Skracanie typów zasobów 126
Automatyczne uzupełnianie poleceń kubectl 126
Uzyskiwanie pomocy 127
Uzyskiwanie pomocy na temat zasobów Kubernetes 127
Bardziej szczegółowe wyniki 127
Praca z JSON Data i jq 128
Oglądanie obiektów 129
Opisywanie obiektów 129
- Praca z zasobami 129
Imperatywne polecenia kubectl 130
Kiedy nie należy używać poleceń imperatywnych? 130
Generowanie manifestów zasobów 131
Eksportowanie zasobów 131
Śledzenie różnic w zasobach 132
- Praca z kontenerami 132
Przeglądanie dzienników kontenera 132
Przyłączanie do kontenera 134
Oglądanie zasobów Kubernetes za pomocą kubespy 134
Przekierowanie portu kontenera 134
Wykonywanie poleceń w kontenerach 135
Rozwiązywanie problemów w kontenerach 135
Korzystanie z poleceń BusyBox 136
Dodawanie BusyBox do kontenerów 137
Instalowanie programów w kontenerze 138
Debugowanie w czasie rzeczywistym za pomocą kubesquash 138
- Konteksty i przestrzenie nazw 139
kubectx i kubens 140
kube-ps1 140
- Powłoki i narzędzia Kubernetes 141
kube-shell 141
Click 141
kubed-sh 141
Stern 142
- Budowanie własnych narzędzi Kubernetes 142
- Podsumowanie 143
8. Uruchamianie kontenerów 145
- Kontenery i Pody 145
Co to jest kontener? 146
Co należy do kontenera? 147
Co należy do Poda? 147
- Manifesty kontenera 148
Identyfikatory obrazu 149
Tag latest 149
Skróty kontenerów 150
Podstawowe tagi obrazu 150
Porty 151
Żądania i limity dotyczące zasobów 151
Polityka pobierania obrazu 151
Zmienne środowiskowe 152
- Bezpieczeństwo kontenerów 152
Uruchamianie kontenerów jako użytkownik inny niż root 153
Blokowanie kontenerów z uprawnieniami root 153
Ustawianie systemu plików tylko do odczytu 154
Wyłączanie eskalacji uprawnień 154
Mechanizm właściwości 155
Konteksty bezpieczeństwa Poda 156
Polityka bezpieczeństwa Poda 156
Konta usług Poda 157
- Woluminy 157
Woluminy emptyDir 158
Woluminy trwałe 159
- Restart polityk 160
- Uwierzytelnianie przy pobieraniu obrazu 160
- Podsumowanie 160
9. Zarządzanie Podami 163
- Etykiety 163
Co to są etykiety? 163
Selektory 164
Bardziej zaawansowane selektory 164
Inne zastosowania etykiet 165
Etykiety i adnotacje 166
- Koligacje węzłów 167
Koligacje twarde 167
Koligacje miękkie 168
- Koligacje Podów i antykoligacje 168
Trzymanie Podów razem 169
Trzymanie Podów oddzielnie 169
Antykoligacje miękkie 170
Kiedy korzystać z koligacji Podów? 170
- Skazy i tolerancje 171
- Kontrolery Podów 172
DaemonSet 172
StatefulSet 173
Kontroler Job 174
CronJob 175
Horizontal Pod Autoscaler 176
PodPreset 177
Operatory i niestandardowe definicje zasobów (CRD) 178
- Zasoby Ingress 179
Reguły Ingress 180
Zarządzanie połączeniami TLS za pomocą Ingress 180
Kontroler Ingress 181
- Istio 182
- Envoy 182
- Podsumowanie 183
10. Konfiguracja i obiekty Secret 185
- ConfigMap 185
Tworzenie ConfigMap 186
Ustawianie zmiennych środowiskowych z obiektu ConfigMap 186
Ustawianie środowiska za pomocą ConfigMap 188
Używanie zmiennych środowiskowych w argumentach poleceń 189
Tworzenie plików konfiguracji z ConfigMaps 190
Aktualizacja Podów po zmianie konfiguracji 191
- Obiekty Secret aplikacji Kubernetes 192
Używanie obiektów Secret jako zmiennych środowiskowych 192
Zapisywanie obiektów Secret do plików 193
Odczyt obiektów Secret 194
Dostęp do obiektów Secret 195
Szyfrowanie w stanie spoczynku 195
Przechowywanie obiektów Secret 195
- Strategie zarządzania obiektami Secret 195
Szyfrowanie Secret w systemach kontroli wersji 196
Zdalne przechowywanie Secret 197
Dedykowane narzędzie do zarządzania obiektami Secret 197
Rekomendacje 198
- Szyfrowanie obiektów Secret za pomocą Sops 198
Przedstawiamy Sops 199
Szyfrowanie pliku za pomocą Sops 199
Korzystanie z zaplecza KMS 201
- Podsumowanie 201
11. Bezpieczeństwo i kopia zapasowa 203
- Kontrola dostępu i uprawnienia 203
Zarządzanie dostępem przez klaster 203
Kontrola dostępu oparta na rolach (RBAC) 204
Role 204
Wiązanie ról z użytkownikami 205
Jakich ról potrzebuję? 206
Ochrona dostępu do Cluster-Admin 206
Aplikacje i wdrażanie 206
Rozwiązywanie problemów z RBAC 207
- Skanowanie bezpieczeństwa 208
Clair 208
Aqua 208
Anchore Engine 209
- Kopie zapasowe 209
Czy muszę wykonać kopię zapasową? 209
Tworzenie kopii zapasowej etcd 210
Kopia zapasowa stanu zasobów 210
Tworzenie kopii zapasowej stanu klastra 210
Duże i małe katastrofy 211
Velero 211
- Monitorowanie statusu klastra 214
kubectl 214
Wykorzystanie procesora i pamięci 216
Konsola dostawcy chmury 216
Pulpit Kubernetes (ang. Kubernetes Dashboard) 216
Weave Scope 218
kube-ops-view 218
node-problem-detector 218
- Dalsza lektura 219
- Podsumowanie 220
12. Wdrażanie aplikacji Kubernetes 221
- Budowanie manifestów za pomocą wykresu Helm 221
Co znajduje się w wykresie narzędzia Helm? 222
Szablony Helm 223
Zmienne interpolacyjne 223
Wartości tekstowe w szablonach 224
Określanie zależności 225
- Wdrażanie wykresów Helm 225
Ustawianie zmiennych 225
Określanie opcji podczas instalacji Helm 226
Aktualizowanie aplikacji za pomocą Helm 226
Powrót do poprzednich wersji 227
Tworzenie repozytorium wykresów Helm 227
Zarządzanie obiektami Secret wykresów Helm za pomocą Sops 228
- Zarządzanie wieloma wykresami za pomocą Helmfile 229
Co znajduje się w pliku Helmfile? 230
Metadane wykresu 231
Stosowanie pliku Helmfile 231
- Zaawansowane narzędzia do zarządzania manifestami 232
Tanka 232
kapitan 233
kustomize 233
kompose 233
Ansible 234
kubeval 234
- Podsumowanie 235
13. Proces tworzenia oprogramowania 237
- Narzędzia programistyczne 237
Skaffold 237
Draft 238
Telepresence 238
Knative 238
- Strategie wdrażania 239
Rolling Updates 239
Recreate 240
maxSurge i maxUnavailable 240
Wdrożenia niebiesko-zielone 241
Wdrożenia rainbow 242
Wdrożenia kanarkowe 242
- Obsługa migracji za pomocą Helm 242
Funkcja hook wykresu Helm 243
Obsługa nieudanych funkcji hook 243
Inne funkcje hook 244
Kolejność wykonywania funkcji hook 244
- Podsumowanie 244
14. Ciągłe wdrażanie w Kubernetes 247
- Co to jest ciągłe wdrażanie? 247
- Z którego narzędzia CD powinienem skorzystać? 248
Jenkins 248
Drone 248
Google Cloud Build 248
Concourse 249
Spinaker 249
GitLab CI 249
Codefresh 249
Azure Pipelines 249
- Komponenty CD 250
Docker Hub 250
Gitkube 250
Flux 250
Keel 250
- Potok CD z wykorzystaniem Google Cloud Build 250
Konfigurowanie Google Cloud i GKE 251
Kopiowanie repozytorium demo 251
Wprowadzenie do Cloud Build 251
Budowanie kontenera testowego 252
Uruchamianie testów 252
Budowanie kontenera aplikacji 253
Walidacja manifestów Kubernetes 253
Publikowanie obrazu 253
Tagi Git SHA 254
Tworzenie pierwszego triggera kompilacji 254
Testowanie triggera 254
Wdrożenie z potoku CD 256
Tworzenie triggera wdrażania 258
Optymalizacja potoku kompilacji 258
Dostosowanie przykładowego potoku 259
- Podsumowanie 259
15. Obserwowalność i monitorowanie 261
- Co to jest obserwowalność? 261
Co to jest monitorowanie? 261
Monitorowanie typu czarna skrzynka 261
Co oznacza określenie "działa"? 263
Zapisywanie logów 264
Przedstawiamy metryki 265
Śledzenie 267
Obserwowalność 267
- Potok obserwowalności 268
- Monitorowanie w Kubernetes 269
Zewnętrzny monitoring typu czarna skrzynka 269
Wewnętrzna kontrola aplikacji 271
- Podsumowanie 272
16. Metryki w Kubernetes 275
- Czym są metryki? 275
Seria danych w czasie 275
Liczniki i mierniki 276
Co mogą powiedzieć metryki? 277
- Wybór dobrych metryk 277
Usługi: wzorzec RED 278
Zasoby: wzorzec USE 279
Metryki biznesowe 279
Metryki Kubernetes 280
- Analizowanie metryk 283
Dlaczego nie korzystać z wartości średniej? 284
Średnie arytmetyczne, mediany i wartości odstające 284
Odkrywanie percentyli 284
Stosowanie percentyli do danych metryk 285
Zwykle chcemy zobaczyć to, co najgorsze 287
Co zamiast percentylów? 287
- Tworzenie wykresów metryk w pulpicie 288
Użyj standardowego układu graficznego dla wszystkich serwisów 288
Zbuduj radiator informacji za pomocą pulpitu 289
Umieszczanie na pulpicie rzeczy, które ulegają awarii 291
- Alarmy na podstawie metryk 291
Jakie są problemy związane z alarmami? 291
Bezbolesna reakcja na żądanie 292
Pilne, ważne i przydatne alarmy 293
Śledź swoje alarmy, powiadomienia poza godzinami pracy i pobudki 294
- Narzędzia i usługi metryczne 294
Prometheus 294
Google Stackdriver 296
AWS Cloudwatch 297
Azure Monitor 297
Datadog 297
New Relic 298
- Podsumowanie 299
Posłowie 301
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.