KUBERNETES – ROZWIĄZANIA CHMUROWE W ŚWIECIE DEVOPS

62.10

Na stanie

SPIS TREŚCI

  • Kubernetes rozwiązania chmurowe w świecie DevOps
  • Przedmowa
  • Wstęp
    • Czego się nauczysz?
    • Dla kogo jest ta książka?
    • Na jakie pytania odpowiada ta książka?
    • Konwencje użyte w tej książce
    • Korzystanie z przykładów
      • Podziękowania
  • Rozdział 1. Rewolucja chmurowa
    • Tworzenie chmury
      • Czas kupowania
      • Infrastruktura jako usługa
    • Początki DevOps
      • Nikt nie rozumie DevOps
      • Przewaga biznesowa
      • Infrastruktura w postaci kodu
      • Wspólna nauka
    • Nadejście kontenerów
      • Stan aktualny
      • Myślenie pudełkowe
      • Umieszczanie oprogramowania w kontenerach
      • Aplikacje Plug and Play
    • Uruchomienie orkiestratora
    • Kubernetes
      • Od Borga do Kubernetes
      • Co sprawia, że Kubernetes jest tak cenny?
        • Kubernetes ułatwia wdrażanie
      • Czy Kubernetes zniknie?
      • Kubernetes nie załatwia wszystkiego
        • Funkcje chmurowe i funtainery
    • Model Cloud Native
      • Nie chodzi tylko o mikrousługi
    • Przyszłość operacji
      • Rozproszone DevOps
      • Niektóre rzeczy pozostaną scentralizowane
      • Produktywni programiści
      • Jesteś przyszłością
    • Podsumowanie
  • Rozdział 2. Pierwsze kroki z Kubernetes
    • Uruchamianie pierwszego kontenera
      • Instalowanie Docker Desktop
      • Co to jest Docker?
      • Uruchamianie obrazu kontenera
    • Aplikacja demonstracyjna
      • Oglądamy kod źródłowy
      • Wprowadzenie do języka Go
      • Jak działa aplikacja demonstracyjna?
    • Budowanie kontenera
      • Opis plików Dockerfile
      • Minimalne obrazy kontenerów
      • Uruchamianie skompilowanego obrazu Docker
      • Nazywanie obrazów
      • Przekierowanie portów (ang. port forwarding)
    • Rejestry kontenerowe
      • Uwierzytelnianie w rejestrze
      • Przydzielanie nazwy i dodawanie obrazu
      • Uruchamianie obrazu
    • Cześć, Kubernetes
      • Uruchamianie aplikacji demonstracyjnej
      • Jeśli kontener się nie uruchamia
    • Minikube
    • Podsumowanie
  • Rozdział 3. Opis Kubernetes
    • Architektura klastrowa
      • Warstwa sterowania
      • Elementy węzła
      • System wysokiej niezawodności (ang. high availability)
        • Awaria warstwy sterowania
        • Awaria węzła worker
        • Ufaj, ale sprawdzaj
    • Koszty samodzielnego hostingu Kubernetes
      • To więcej pracy niż myślisz
      • Nie chodzi tylko o początkową konfigurację
      • Narzędzia nie wykonają za Ciebie całej pracy
      • Kubernetes jest trudny
      • Koszty administracyjne
      • Zacznij od usług zarządzanych
    • Zarządzane usługi Kubernetes
      • Google Kubernetes Engine (GKE)
        • Wysoka niezawodność
      • Automatyczne skalowanie klastra
        • GKE jest najlepsza w swojej klasie
      • Usługa Amazon Elastic Container Service dla Kubernetes (EKS)
      • Usługa Azure Kubernetes Service (AKS)
      • OpenShift
      • Usługa IBM Cloud Kubernetes Service
    • Rozwiązania Kubernetes pod klucz
      • Containership Kubernetes Engine (CKE)
    • Instalatory Kubernetes
      • kops
      • Kubespray
      • TK8
      • Kubernetes The Hard Way
      • kubeadm
      • Tarmak
      • Rancher Kubernetes Engine (RKE)
      • Moduł Puppet dla Kubernetes
      • Kubeformation
    • Kup lub zbuduj: nasze rekomendacje
      • Uruchom mniej oprogramowania
      • Skorzystaj z zarządzanych usług Kubernetes, jeśli możesz
      • A co z uzależnieniem od jednego dostawcy?
      • Jeśli trzeba, użyj standardowych narzędzi do samodzielnego hostingu Kubernetes
      • Gdy Twoje wybory są ograniczone
      • Bare-metal i on-premise
    • Bezklastrowe usługi kontenerowe
      • Amazon Fargate
      • Azure Container Instances (ACI)
    • Podsumowanie
  • Rozdział 4. Praca z obiektami Kubernetes
    • Zasoby Deployment
      • Nadzór i planowanie
      • Restart kontenerów
      • Zapytania obiektów Deployment
    • Pody
    • ReplicaSet
    • Utrzymanie pożądanego stanu
    • Scheduler
    • Manifesty zasobów w formacie YAML
      • Zasoby są danymi
      • Manifesty obiektu Deployment
      • Polecenie kubectl apply
      • Serwis
      • Odpytywanie klastra za pomocą polecenia kubectl
      • Przenoszenie zasobów na wyższy poziom
    • Helm: menadżer pakietów Kubernetes
      • Instalacja Helm
      • Instalacja wykresu Helm
      • Wykresy, repozytoria i wydania
      • Wyświetlanie listy wydań Helm
    • Podsumowanie
  • Rozdział 5. Zarządzanie zasobami
    • Zrozumienie działania zasobów
      • Jednostki zasobów
      • Żądania zasobów
      • Limity zasobów
      • Utrzymuj małe kontenery
    • Zarządzanie cyklem życia kontenera
      • Sondy żywotności
      • Opóźnienie i częstotliwość sondy
      • Inne typy sond
      • Sondy gRPC
      • Sondy gotowości
      • Sondy gotowości na podstawie pliku
      • minReadySeconds
      • Budżety zakłóceń Poda
        • minAvailable
        • maxUnavailable
    • Korzystanie z przestrzeni nazw
      • Praca z przestrzeniami nazw
      • Jakich przestrzeni nazw powinieneś używać?
      • Adresy serwisów
      • Przydziały zasobów (ang. Resource Quotas)
      • Domyślne żądania zasobów i limity
    • Optymalizacja kosztów klastra
      • Optymalizacja obiektów Deployment
      • Optymalizacja Podów
      • Vertical Pod Autoscaler
      • Optymalizacja węzłów
      • Optymalizacja przestrzeni dyskowej
      • Czyszczenie nieużywanych zasobów
        • Korzystanie z metadanych właściciela
        • Znajdowanie niewykorzystanych zasobów
        • Czyszczenie zakończonych obiektów Job
      • Sprawdzanie wolnej pojemności
      • Korzystanie z instancji zastrzeżonych
      • Korzystanie z instancji w trybie wywłaszczeniowym
        • Zmienna cena lub zmienne wywłaszczenie
        • Węzły z wywłaszczeniem mogą zmniejszyć o połowę Twoje koszty
        • Używanie koligacji węzłów do kontroli uruchomień
      • Utrzymywanie równowagi obciążeń
    • Podsumowanie
  • Rozdział 6. Operacje na klastrach
    • Rozmiar i skalowanie klastra
      • Planowanie pojemności
        • Najmniejszy klaster
        • Największy klaster
        • Klastry sfederowane
        • Czy potrzebuję wielu klastrów?
      • Węzły i instancje
        • Wybór odpowiedniego rozmiaru węzła
        • Typy instancji chmurowych
        • Węzły heterogeniczne
        • Serwery bare-metal
      • Skalowanie klastra
        • Grupy instancji
        • Skalowanie w dół
        • Automatyczne skalowanie
    • Sprawdzanie zgodności
      • Certyfikat CNCF
        • Zgodne z Kubernetes
        • Certyfikowany administrator Kubernetes (CKA ang. Certified Kubernetes Administrator)
        • Certyfikowany dostawca usług Kubernetes (KCSP ang. Kubernetes Certified Service Provider)
      • Testy zgodności z Sonobuoy
    • Walidacja i audyt
      • K8Guard
      • Copper
      • kube-bench
      • Dziennik kontroli Kubernetes (ang. Kubernetes audit log)
    • Testowanie chaosu
      • Tylko produkcja jest produkcją
      • chaoskube
      • kube-monkey
      • PowerfulSeal
    • Podsumowanie
  • Rozdział 7. Narzędzia Kubernetes
    • Znowu o kubectl
      • Aliasy powłoki
      • Używanie przełączników
      • Skracanie typów zasobów
      • Automatyczne uzupełnianie poleceń kubectl
      • Uzyskiwanie pomocy
      • Uzyskiwanie pomocy na temat zasobów Kubernetes
      • Bardziej szczegółowe wyniki
      • Praca z JSON Data i jq
      • Oglądanie obiektów
      • Opisywanie obiektów
    • Praca z zasobami
      • Imperatywne polecenia kubectl
      • Kiedy nie należy używać poleceń imperatywnych?
      • Generowanie manifestów zasobów
      • Eksportowanie zasobów
      • Śledzenie różnic w zasobach
    • Praca z kontenerami
      • Przeglądanie dzienników kontenera
      • Przyłączanie do kontenera
      • Oglądanie zasobów Kubernetes za pomocą kubespy
      • Przekierowanie portu kontenera
      • Wykonywanie poleceń w kontenerach
      • Rozwiązywanie problemów w kontenerach
      • Korzystanie z poleceń BusyBox
      • Dodawanie BusyBox do kontenerów
      • Instalowanie programów w kontenerze
      • Debugowanie w czasie rzeczywistym za pomocą kubesquash
    • Konteksty i przestrzenie nazw
      • kubectx i kubens
      • kube-ps1
    • Powłoki i narzędzia Kubernetes
      • kube-shell
      • Click
      • kubed-sh
      • Stern
    • Budowanie własnych narzędzi Kubernetes
    • Podsumowanie
  • Rozdział 8. Uruchamianie kontenerów
    • Kontenery i Pody
      • Co to jest kontener?
      • Co należy do kontenera?
      • Co należy do Poda?
    • Manifesty kontenera
      • Identyfikatory obrazu
      • Tag latest
      • Skróty kontenerów
      • Podstawowe tagi obrazu
      • Porty
      • Żądania i limity dotyczące zasobów
      • Polityka pobierania obrazu
      • Zmienne środowiskowe
    • Bezpieczeństwo kontenerów
      • Uruchamianie kontenerów jako użytkownik inny niż root
      • Blokowanie kontenerów z uprawnieniami root
      • Ustawianie systemu plików tylko do odczytu
      • Wyłączanie eskalacji uprawnień
      • Mechanizm właściwości
      • Konteksty bezpieczeństwa Poda
      • Polityka bezpieczeństwa Poda
      • Konta usług Poda
    • Woluminy
      • Woluminy emptyDir
      • Woluminy trwałe
    • Restart polityk
    • Uwierzytelnianie przy pobieraniu obrazu
    • Podsumowanie
  • Rozdział 9. Zarządzanie Podami
    • Etykiety
      • Co to są etykiety?
      • Selektory
      • Bardziej zaawansowane selektory
      • Inne zastosowania etykiet
      • Etykiety i adnotacje
    • Koligacje węzłów
      • Koligacje twarde
      • Koligacje miękkie
    • Koligacje Podów i antykoligacje
      • Trzymanie Podów razem
      • Trzymanie Podów oddzielnie
      • Antykoligacje miękkie
      • Kiedy korzystać z koligacji Podów?
    • Skazy i tolerancje
    • Kontrolery Podów
      • DaemonSet
      • StatefulSet
      • Kontroler Job
      • CronJob
      • Horizontal Pod Autoscaler
      • PodPreset
      • Operatory i niestandardowe definicje zasobów (CRD)
    • Zasoby Ingress
      • Reguły Ingress
      • Zarządzanie połączeniami TLS za pomocą Ingress
        • Korzystanie z istniejących certyfikatów TLS
        • Automatyzacja certyfikatów LetsEncrypt za pomocą cert-manager
      • Kontroler Ingress
    • Istio
    • Envoy
    • Podsumowanie
  • Rozdział 10. Konfiguracja i obiekty Secret
    • ConfigMap
      • Tworzenie ConfigMap
      • Ustawianie zmiennych środowiskowych z obiektu ConfigMap
      • Ustawianie środowiska za pomocą ConfigMap
      • Używanie zmiennych środowiskowych w argumentach poleceń
      • Tworzenie plików konfiguracji z ConfigMaps
      • Aktualizacja Podów po zmianie konfiguracji
    • Obiekty Secret aplikacji Kubernetes
      • Używanie obiektów Secret jako zmiennych środowiskowych
      • Zapisywanie obiektów Secret do plików
      • Odczyt obiektów Secret
        • base64
      • Dostęp do obiektów Secret
      • Szyfrowanie w stanie spoczynku
      • Przechowywanie obiektów Secret
    • Strategie zarządzania obiektami Secret
      • Szyfrowanie Secret w systemach kontroli wersji
      • Zdalne przechowywanie Secret
      • Dedykowane narzędzie do zarządzania obiektami Secret
      • Rekomendacje
    • Szyfrowanie obiektów Secret za pomocą Sops
      • Przedstawiamy Sops
      • Szyfrowanie pliku za pomocą Sops
      • Korzystanie z zaplecza KMS
    • Podsumowanie
  • Rozdział 11. Bezpieczeństwo i kopia zapasowa
    • Kontrola dostępu i uprawnienia
      • Zarządzanie dostępem przez klaster
      • Kontrola dostępu oparta na rolach (RBAC)
      • Role
      • Wiązanie ról z użytkownikami
      • Jakich ról potrzebuję?
      • Ochrona dostępu do Cluster-Admin
      • Aplikacje i wdrażanie
      • Rozwiązywanie problemów z RBAC
    • Skanowanie bezpieczeństwa
      • Clair
      • Aqua
      • Anchore Engine
    • Kopie zapasowe
      • Czy muszę wykonać kopię zapasową?
      • Tworzenie kopii zapasowej etcd
      • Kopia zapasowa stanu zasobów
      • Tworzenie kopii zapasowej stanu klastra
      • Duże i małe katastrofy
      • Velero
        • Konfigurowanie Velero
        • Tworzenie kopii zapasowej Velero
        • Przywracanie danych
        • Procedury przywracania i testy
        • Planowanie wykonywania kopii zapasowych Velero
        • Inne zastosowania Velero
    • Monitorowanie statusu klastra
      • kubectl
        • Status płaszczyzny sterowania
        • Status węzła
        • Obciążenia
      • Wykorzystanie procesora i pamięci
      • Konsola dostawcy chmury
      • Pulpit Kubernetes (ang. Kubernetes Dashboard)
      • Weave Scope
      • kube-ops-view
      • node-problem-detector
    • Dalsza lektura
    • Podsumowanie
  • Rozdział 12. Wdrażanie aplikacji Kubernetes
    • Budowanie manifestów za pomocą wykresu Helm
      • Co znajduje się w wykresie narzędzia Helm?
        • Plik Chart.yaml
        • Plik values.yaml
      • Szablony Helm
      • Zmienne interpolacyjne
      • Wartości tekstowe w szablonach
      • Określanie zależności
    • Wdrażanie wykresów Helm
      • Ustawianie zmiennych
        • Tworzenie zmiennej środowiskowej
      • Określanie opcji podczas instalacji Helm
      • Aktualizowanie aplikacji za pomocą Helm
      • Powrót do poprzednich wersji
        • Automatyczny powrót za pomocą helm-monitor
      • Tworzenie repozytorium wykresów Helm
      • Zarządzanie obiektami Secret wykresów Helm za pomocą Sops
    • Zarządzanie wieloma wykresami za pomocą Helmfile
      • Co znajduje się w pliku Helmfile?
      • Metadane wykresu
      • Stosowanie pliku Helmfile
    • Zaawansowane narzędzia do zarządzania manifestami
      • Tanka
      • kapitan
      • kustomize
      • kompose
      • Ansible
      • kubeval
    • Podsumowanie
  • Rozdział 13. Proces tworzenia oprogramowania
    • Narzędzia programistyczne
      • Skaffold
      • Draft
      • Telepresence
      • Knative
    • Strategie wdrażania
      • Rolling Updates
      • Recreate
      • maxSurge i maxUnavailable
      • Wdrożenia niebiesko-zielone
      • Wdrożenia rainbow
      • Wdrożenia kanarkowe
    • Obsługa migracji za pomocą Helm
      • Funkcja hook wykresu Helm
      • Obsługa nieudanych funkcji hook
      • Inne funkcje hook
      • Kolejność wykonywania funkcji hook
    • Podsumowanie
  • Rozdział 14. Ciągłe wdrażanie w Kubernetes
    • Co to jest ciągłe wdrażanie?
    • Z którego narzędzia CD powinienem skorzystać?
      • Jenkins
      • Drone
      • Google Cloud Build
      • Concourse
      • Spinaker
      • GitLab CI
      • Codefresh
      • Azure Pipelines
    • Komponenty CD
      • Docker Hub
      • Gitkube
      • Flux
      • Keel
    • Potok CD z wykorzystaniem Google Cloud Build
      • Konfigurowanie Google Cloud i GKE
      • Kopiowanie repozytorium demo
      • Wprowadzenie do Cloud Build
      • Budowanie kontenera testowego
      • Uruchamianie testów
      • Budowanie kontenera aplikacji
      • Walidacja manifestów Kubernetes
      • Publikowanie obrazu
      • Tagi Git SHA
      • Tworzenie pierwszego triggera kompilacji
      • Testowanie triggera
      • Wdrożenie z potoku CD
        • Uzyskiwanie poświadczeń dla klastra Kubernetes
        • Dodanie tagu środowiska
        • Wdrażanie w klastrze
      • Tworzenie triggera wdrażania
      • Optymalizacja potoku kompilacji
      • Dostosowanie przykładowego potoku
    • Podsumowanie
  • Rozdział 15. Obserwowalność i monitorowanie
    • Co to jest obserwowalność?
      • Co to jest monitorowanie?
      • Monitorowanie typu czarna skrzynka
        • Strony dynamiczne
        • Ograniczenia monitorowania typu czarna skrzynka
      • Co oznacza określenie działa?
        • Dziewiątki nie mają znaczenia, jeśli użytkownicy nie są zadowoleni
        • Aplikacje cloud native zawsze nie działają
      • Zapisywanie logów
        • Limity logowania
        • Dzienniki są trudne do skalowania
        • Czy logowanie jest przydatne w Kubernetes?
      • Przedstawiamy metryki
        • Metryki pomagają odpowiedzieć na pytanie dlaczego?
        • Metryki pomagają przewidywać problemy
        • Metryki monitorują aplikacje od wewnątrz
      • Śledzenie
      • Obserwowalność
        • Obserwowalność polega na zrozumieniu
        • Oprogramowanie jest nieprzezroczyste
        • Budowanie kultury obserwowalności
    • Potok obserwowalności
    • Monitorowanie w Kubernetes
      • Zewnętrzny monitoring typu czarna skrzynka
        • Monitorowanie naśladuje zachowanie użytkownika
        • Nie buduj własnej infrastruktury monitorowania
      • Wewnętrzna kontrola aplikacji
        • Czy użytkownicy są zadowoleni?
        • Usługi i wyłączniki
        • Wdzięczna degradacja
    • Podsumowanie
  • Rozdział 16. Metryki w Kubernetes
    • Czym są metryki?
      • Seria danych w czasie
      • Liczniki i mierniki
      • Co mogą powiedzieć metryki?
    • Wybór dobrych metryk
      • Usługi: wzorzec RED
      • Zasoby: wzorzec USE
      • Metryki biznesowe
      • Metryki Kubernetes
        • Wskaźniki kondycji klastra
        • Metryki obiektu Deployment
        • Metryki kontenera
        • Metryki aplikacji
        • Metryki czasu wykonywania
    • Analizowanie metryk
      • Dlaczego nie korzystać z wartości średniej?
      • Średnie arytmetyczne, mediany i wartości odstające
      • Odkrywanie percentyli
      • Stosowanie percentyli do danych metryk
      • Zwykle chcemy zobaczyć to, co najgorsze
      • Co zamiast percentylów?
    • Tworzenie wykresów metryk w pulpicie
      • Użyj standardowego układu graficznego dla wszystkich serwisów
      • Zbuduj radiator informacji za pomocą pulpitu
      • Umieszczanie na pulpicie rzeczy, które ulegają awarii
    • Alarmy na podstawie metryk
      • Jakie są problemy związane z alarmami?
      • Bezbolesna reakcja na żądanie
      • Pilne, ważne i przydatne alarmy
      • Śledź swoje alarmy, powiadomienia poza godzinami pracy i pobudki
    • Narzędzia i usługi metryczne
      • Prometheus
      • Google Stackdriver
      • AWS Cloudwatch
      • Azure Monitor
      • Datadog
      • New Relic
    • Podsumowanie
  • Posłowie
    • Co dalej?
    • Witamy na pokładzie
      • O Autorach
      • Kolofon
Autor

ISBN

978-83-283-6927-6

Liczba stron

Rok wydania

Wydawca

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „KUBERNETES – ROZWIĄZANIA CHMUROWE W ŚWIECIE DEVOPS”

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *