Facebook - konwersja

DevOps dla zdesperowanych. Praktyczny poradnik przetrwania - ebook

Wydawnictwo:
Format:
MOBI
Data wydania:
28 maja 2024
67,00
6700 pkt
punktów Virtualo

DevOps dla zdesperowanych. Praktyczny poradnik przetrwania - ebook

Początkowo metodyka DevOps miała wyłącznie ułatwiać współpracę zespołów IT. Dziś obserwuje się rozwój praktyk DevOps związanych z mikrousługami, potokami ciągłej integracji i ciągłego wdrażania, ponadto coraz częściej stosuje się tę metodologię w procesach zapewniania bezpieczeństwa infrastruktury IT, a także optymalizacji z wykorzystaniem uczenia maszynowego i sztucznej inteligencji. Wciąż jednak głównym przedmiotem zainteresowania praktyków DevOps jest dostarczanie standaryzowanego i przewidywalnego oprogramowania. Praktyczna znajomość zasad DevOps przydaje się szczególnie w pracy z nowoczesnym stosem aplikacji.

Tę książkę docenią przede wszystkim inżynierowie oprogramowania, programiści i administratorzy systemów, którzy muszą szybko zrozumieć praktyki DevOps. Znajdziesz tu bezcenną wiedzę, która ułatwi Ci efektywną pracę z nowoczesnym stosem aplikacji i sprawne przystąpienie do zadań związanych z DevOps. Poznasz najważniejsze praktyki stosowane podczas projektowania bezpiecznych i stabilnych systemów - implementację infrastruktury jako kodu (IaC) i rozwiązania z zakresu zarządzania konfiguracją. Zagłębisz się w tematy pobierania informacji o stanie systemu i definiowania powiadomień, gdy coś nie działa zgodnie z oczekiwaniami. Lektura pozwoli Ci przyswoić zagadnienia związane z konteneryzacją i przygotowaniem zautomatyzowanego potoku ciągłej integracji i ciągłego wdrażania (CI/CD), dzięki czemu skompilujesz, przetestujesz i wdrożysz kod.

Najciekawsze zagadnienia:

  • tworzenie maszyny wirtualnej Ubuntu za pomocą oprogramowania Vagrant i Ansible
  • zarządzanie użytkownikami, grupami i bezpieczeństwem haseł
  • wdrażanie klucza publicznego i uwierzytelniania wielopoziomowego podczas sesji SSH
  • automatyzacja zapory sieciowej bazującej na hoście
  • technologie Docker i Kubernetes
  • stos monitorowania i rozwiązywanie problemów z wydajnością

DevOps. Rozwijaj doskonałość nowoczesnych infrastruktur pełnego stosu!

Spis treści

Wprowadzenie

Część I. Infrastruktura jako kod, zarządzanie konfiguracją, zapewnienie bezpieczeństwa i administrowanie systemami

1. Przygotowanie maszyny wirtualnej

  • Dlaczego warto używać kodu do utworzenia infrastruktury?
  • Rozpoczęcie pracy z narzędziem Vagrant
    • Instalacja
    • Anatomia pliku Vagrantfile
    • Podstawowe polecenia Vagrant
  • Rozpoczęcie pracy z Ansible
    • Instalacja
    • Najważniejsze koncepcje Ansible
    • Scenariusz Ansible
    • Podstawowe polecenia Ansible
  • Utworzenie maszyny wirtualnej z systemem operacyjnym Ubuntu
  • Podsumowanie

2. Używanie Ansible do zarządzania hasłami, użytkownikami i grupami

  • Wymuszenie stosowania silnych haseł
    • Instalowanie narzędzia libpam-pwquality
    • Konfiguracja modułu pam_pwquality w celu wymuszenia silniejszej polityki haseł
  • Rodzaje użytkowników w systemie Linux
    • Rozpoczęcie pracy z modułem user w Ansible
    • Wygenerowanie silnego hasła
  • Grupy w systemie Linux
    • Rozpoczęcie pracy z modułem group w Ansible
    • Przypisywanie użytkownika do grupy
    • Tworzenie zasobów chronionych
  • Uaktualnianie maszyny wirtualnej
  • Sprawdzanie uprawnień użytkownika i grupy
  • Podsumowanie

3. Używanie Ansible do konfiguracji SSH

  • Poznawanie i aktywowanie uwierzytelnienia z użyciem klucza publicznego
    • Generowanie pary klucza publicznego
    • Używanie Ansible w celu pobrania w maszynie wirtualnej Twojego klucza publicznego
  • Dodawanie uwierzytelniania wielopoziomowego
    • Instalowanie Google Authenticator
    • Konfigurowanie modułu Google Authenticator
    • Konfiguracja PAM dla modułu Google Authenticator
    • Konfigurowanie serwera SSH
    • Ponowne uruchomienie serwera SSH za pomocą procedury obsługi
  • Przygotowanie maszyny wirtualnej
  • Testowanie dostępu za pomocą SSH
  • Podsumowanie

4. Kontrolowanie za pomocą sudo poleceń wydawanych przez użytkownika

  • Czym jest sudo?
    • Planowanie polityki bezpieczeństwa sudoers
  • Instalacja aplikacji internetowej Greeting
  • Anatomia pliku sudoers
    • Utworzenie pliku sudoers
    • Szablon sudoers
  • Przygotowanie maszyny wirtualnej
  • Testowanie uprawnień
    • Uzyskanie dostępu do aplikacji internetowej
    • Edycja pliku greeting.py w celu przetestowania polityki sudoers
    • Zatrzymywanie i uruchamianie serwera za pomocą polecenia systemctl
  • Audyt dzienników zdarzeń
  • Podsumowanie

5. Automatyzacja i testowanie zapory sieciowej hosta

  • Planowanie reguł zapory sieciowej
  • Automatyzacja reguł UFW
  • Przygotowanie maszyny wirtualnej
  • Testowanie zapory sieciowej
    • Skanowanie portów za pomocą nmap
    • Rejestrowanie danych zapory sieciowej
    • Ograniczenie komunikacji z portem
  • Podsumowanie

Część II. Konteneryzacja i wdrażanie nowoczesnych aplikacji

6. Konteneryzacja aplikacji za pomocą Dockera

  • Ogólne omówienie Dockera
    • Rozpoczęcie pracy z Dockerem
    • Polecenia w pliku Dockerfile
    • Obraz kontenera i jego warstwy
    • Kontener
    • Przestrzenie nazw i cgroups
  • Instalowanie i testowanie Dockera
    • Instalowanie silnika Dockera i minikube
    • Instalowanie klienta Dockera oraz zdefiniowanie zmiennych środowiskowych Dockera
    • Sprawdzenie możliwości nawiązania połączenia z klientem Dockera
  • Konteneryzacja przykładowej aplikacji
    • Analiza przykładowego pliku Dockerfile
    • Tworzenie obrazu kontenera
    • Weryfikacja obrazu Dockera
    • Uruchamianie kontenera
  • Inne polecenia klienta Dockera
    • exec
    • rm
    • inspect
    • history
    • stats
  • Testowanie kontenera
    • Nawiązanie połączenia z telnet-server
    • Pobieranie dzienników zdarzeń z kontenera
  • Podsumowanie

7. Koordynowanie kontenerów za pomocą Kubernetesa

  • Ogólne omówienie Kubernetesa
  • Zasoby związane z zadaniami Kubernetesa
    • Pod
    • ReplicaSet
    • Deployment
    • StatefulSet
    • Service
    • Volume
    • Secret
    • ConfigMap
    • Namespace
  • Wdrażanie przykładowej aplikacji telnet-server
    • Praca z Kubernetesem
    • Przegląd plików manifestu
    • Utworzenie zasobów Deployment i Service
    • Wyświetlanie zasobów Deployment i Service
  • Testowanie zasobów Deployment i Service
    • Uzyskanie dostępu do aplikacji telnet-server
    • Rozwiązywanie problemów
    • Usunięcie poda
    • Skalowanie rozwiązania
    • Dzienniki zdarzeń
  • Podsumowanie

8. Wdrażanie kodu

  • Potok CI/CD w nowoczesnym stosie aplikacji
  • Przygotowanie potoku
    • Przegląd pliku skaffold.yaml
    • Testowanie kontenera
    • Symulowanie potoku programistycznego
    • Wprowadzenie zmiany w kodzie
    • Testowanie zmiany w kodzie
    • Testowanie wycofania zmian
  • Inne narzędzia CI/CD
  • Podsumowanie

Część III. Obserwowalność i rozwiązywanie problemów

9. Obserwowalność

  • Ogólne omówienie monitorowania
  • Monitorowanie przykładowej aplikacji
    • Instalowanie stosu monitorowania
    • Weryfikacja instalacji
  • Wskaźniki
    • Złote sygnały
    • Dostosowanie wzorca monitorowania
    • Panel aplikacji telnet-server
    • PromQL - krótkie wprowadzenie
  • Ostrzeżenia
    • Przeglądanie w aplikacji Prometheus ostrzeżeń związanych ze złotymi sygnałami
    • Routing i powiadomienia
  • Podsumowanie

10. Rozwiązywanie problemów

  • Rozwiązywanie problemów i debugowanie - krótkie wprowadzenie
  • Scenariusz - wysoki poziom średniego obciążenia systemu
    • uptime
    • top
    • Następne kroki
  • Scenariusz - wysoki poziom użycia pamięci
    • free
    • vmstat
    • ps
    • Następne kroki
  • Scenariusz - wysoka wartość iowait
    • iostat
    • iotop
    • Następne kroki
  • Scenariusz - nieudane ustalenie nazwy hosta
    • resolv.conf
    • resolvectl
    • dig
    • Następne kroki
  • Scenariusz - brak wolnego miejsca na dysku
    • df
    • find
    • lsof
    • Następne kroki
  • Scenariusz - połączenie zostało odrzucone
    • curl
    • ss
    • tcpdump
    • Następne kroki
  • Sprawdzanie dzienników zdarzeń
    • Najczęściej stosowane dzienniki zdarzeń
    • Najczęściej używane polecenia journalctl
    • Przetwarzanie dzienników zdarzeń
  • Analizowanie procesów
    • strace
  • Podsumowanie
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-289-1127-7
Rozmiar pliku: 4,2 MB

BESTSELLERY

Menu

Zamknij