Szczegóły ebooka

Ansible 2 w praktyce. Automatyzacja infrastruktury, zarządzanie konfiguracją i wdrażanie aplikacji

Ansible 2 w praktyce. Automatyzacja infrastruktury, zarządzanie konfiguracją i wdrażanie aplikacji

Daniel Oh, James Freeman, Fabio Alessandro Locati

Ebook

Framework Ansible jest potężnym narzędziem służącym do automatyzacji wdrożeń oprogramowania i zarządzania jego konfiguracjami. Oferuje proste i bardzo przydatne funkcje przeznaczone do automatyzacji wielowarstwowych środowisk za pomocą komunikacji niewymagającej agenta. Przydaje się także do obsługi ciągłej integracji i wdrażania oprogramowania (CI/CD) bez żadnego przestoju. Może służyć do różnych celów: przygotowania infrastruktury jako kodu, wdrożeń aplikacji czy automatyzacji codziennych, czasochłonnych zadań.

Ta książka jest przeznaczona dla osób zajmujących się automatyzacją - od żmudnych codziennych zadań po złożone wdrożenia infrastruktury jako kodu. Ten praktyczny przewodnik pozwoli na sprawne rozpoczęcie korzystania z frameworka Ansible 2.9. Na początku pokazano, jak go zainstalować i skonfigurować, później zaprezentowano proste, jednowierszowe polecenia automatyzacji, aby stopniowo wprowadzać czytelników do tworzenia własnego kodu rozszerzającego możliwości Ansible, a nawet automatyzującego infrastrukturę chmury i kontenerów. Znalazło się tu mnóstwo praktycznych przykładów kodu, a zdobyte umiejętności pozwolą na korzystanie z Ansible w sposób skalowalny, powtarzalny i niezawodny.

W książce:

  • podstawy pracy z frameworkiem Ansible
  • konfiguracja zależności i zmiennych bazujących na rolach
  • unikanie najczęściej popełnianych błędów podczas tworzenia kodu w Ansible
  • tworzenie modułów i wtyczek dla Ansible
  • rozwiązywanie problemów podczas wykonywania scenariuszy Ansible

Żmudne i nudne? Ansible wykona to za Ciebie!


O autorach 9

O recenzentach technicznych 11

Wprowadzenie 13

CZĘŚĆ I. PODSTAWY ANSIBLE 19

Rozdział 1. Rozpoczęcie pracy z Ansible 21

  • Wymagania techniczne 22
  • Instalacja i konfiguracja Ansible 22
    • Instalacja Ansible w systemach Linux i FreeBSD 22
    • Instalacja Ansible w macOS 25
    • Konfiguracja hosta Windows do pracy z Ansible 27
  • Poznajemy oprogramowanie Ansible 32
    • Jak Ansible nawiązuje połączenie z hostem? 32
    • Weryfikacja poprawności instalacji oprogramowania Ansible 35
    • Wymagania dotyczące węzła zarządzanego przez Ansible 37
  • Instalacja Ansible na podstawie kodu źródłowego kontra instalacja z pakietu RPM 39
  • Podsumowanie 41
  • Pytania 42
  • Dalsza lektura 42

Rozdział 2. Podstawy Ansible 43

  • Wymagania techniczne 44
  • Poznajemy framework Ansible 44
    • Komponenty tworzące Ansible 48
    • Składnia YAML 51
    • Organizowanie kodu automatyzacji 55
  • Plik konfiguracyjny Ansible 59
  • Argumenty powłoki 63
    • Polecenia jednorazowe 65
  • Definiowanie zmiennych 70
  • Filtry Jinja2 74
  • Podsumowanie 78
  • Pytania 78
  • Dalsza lektura 79

Rozdział 3. Ewidencja 81

  • Wymagania techniczne 81
  • Utworzenie pliku ewidencji i dodanie hostów 82
    • Używanie grup hostów 84
    • Dodawanie hostów i zmiennych grup do ewidencji 88
  • Generowanie pliku ewidencji dynamicznej 94
    • Używanie wielu źródeł ewidencji 97
    • Używanie grup statycznych i dynamicznych 98
  • Zarządzanie hostami za pomocą wzorców 99
  • Podsumowanie 102
  • Pytania 102
  • Dalsza lektura 103

Rozdział 4. Scenariusze i role 105

  • Wymagania techniczne 106
  • Poznawanie frameworka scenariuszy 106
    • Porównanie scenariusza i polecenia jednorazowego 111
    • Definiowanie zbiorów i zadań 114
  • Poznawanie ról - sposób organizowania scenariuszy 116
    • Definiowanie zależności i zmiennych na podstawie roli 121
    • Ansible Galaxy 127
  • Konstrukcje warunkowe w kodzie Ansible 128
  • Wielokrotne wykonywanie zadań w pętli 133
  • Grupowanie zadań za pomocą bloków 138
  • Strategie wykonywania scenariusza 143
  • Używanie ansible-pull 146
  • Podsumowanie 148
  • Pytania 149
  • Dalsza lektura 149

CZĘŚĆ II. ROZSZERZANIE MOŻLIWOŚCI ANSIBLE 151

Rozdział 5. Tworzenie i używanie modułów 153

  • Wymagania techniczne 154
  • Wykonywanie wielu modułów w powłoce 154
  • Praca z repozytorium modułów 156
  • Uzyskanie z poziomu powłoki dostępu do dokumentacji modułu 159
  • Wartość zwrotna modułu 161
  • Samodzielne opracowanie modułu 163
    • Unikanie najczęściej występujących problemów 171
    • Testowanie i dokumentowanie modułu 173
    • Lista rzeczy do sprawdzenia podczas tworzenia modułu Ansible 177
    • Przekazanie kodu modułu do projektu Ansible 178
  • Podsumowanie 181
  • Pytania 182
  • Dalsza lektura 183

Rozdział 6. Tworzenie i używanie wtyczek 185

  • Wymagania techniczne 186
  • Ustalanie typów wtyczek 186
  • Wyszukiwanie wtyczek w standardowej instalacji Ansible 189
  • Samodzielne tworzenie wtyczki Ansible 191
    • Integracja własnej wtyczki z kodem źródłowym Ansible 198
    • Przekazanie kodu wtyczki do projektu Ansible 199
  • Podsumowanie 202
  • Pytania 203
  • Dalsza lektura 203

Rozdział 7. Najlepsze praktyki podczas tworzenia kodu 205

  • Wymagania techniczne 206
  • Preferowana struktura katalogów 206
  • Najlepsze praktyki dotyczące ewidencji w chmurze 211
  • Odróżnianie poszczególnych typów środowisk 215
  • Właściwe podejście w zakresie definiowania zmiennych hostów i grup 216
  • Używanie scenariuszy najwyższego poziomu 221
  • Wykorzystanie narzędzi systemu kontroli wersji 221
  • Definiowanie wariantów systemu operacyjnego i dystrybucji 224
  • Przenoszenie kodu między różnymi wersjami Ansible 227
  • Podsumowanie 229
  • Pytania 230
  • Dalsza lektura 230

Rozdział 8. Zagadnienia zaawansowane w Ansible 231

  • Wymagania techniczne 232
  • Akcje asynchroniczne kontra synchroniczne 232
  • Kontrolowanie wykonywania zbioru podczas stosowania nieustannych uaktualnień 235
  • Określenie maksymalnego poziomu niepowodzenia 238
  • Konfiguracja delegowania zadań 240
  • Używanie opcji run_once 244
  • Lokalne uruchamianie scenariuszy 247
  • Praca z proxy i używanie hostów pośrednich 249
  • Pobieranie danych wejściowych dla scenariusza 250
  • Używanie tagów w zbiorach i zadaniach 252
  • Zabezpieczanie danych za pomocą Ansible Vault 255
  • Podsumowanie 259
  • Pytania 259
  • Dalsza lektura 260

CZĘŚĆ III. UŻYCIE ANSIBLE W PRZEDSIĘBIORSTWACH 261

Rozdział 9. Automatyzacja sieci z Ansible 263

  • Wymagania techniczne 264
  • Dlaczego w ogóle należy automatyzować zarządzanie siecią? 264
  • Jak Ansible zarządza urządzeniami sieciowymi? 266
    • Jak włączyć automatyzację sieci? 267
    • Dostępne moduły Ansible przeznaczone do obsługi sieci 269
  • Nawiązywanie połączenia z urządzeniami sieciowymi 271
    • Zmienne środowiskowe dla urządzeń sieciowych 273
  • Konstrukcje warunkowe dla urządzeń sieciowych 275
  • Podsumowanie 277
  • Pytania 278
  • Dalsza lektura 278

Rozdział 10. Zarządzanie kontenerami i chmurami 279

  • Wymagania techniczne 280
  • Opracowanie i budowanie kontenerów za pomocą scenariuszy 280
  • Zarządzanie wieloma platformami kontenerów 282
    • Wdrażanie do Kubernetes za pomocą narzędzia ansible-container 283
    • Zarządzanie obiektami Kubernetes za pomocą Ansible 284
  • Użycie Ansible do automatyzacji Dockera 287
  • Poznanie modułów związanych z kontenerami 289
  • Automatyzacja usługi Amazon Web Services 291
    • Instalacja 292
    • Uwierzytelnienie 292
    • Utworzenie pierwszej maszyny wirtualnej 292
  • Uzupełnienie Google Cloud Platform za pomocą automatyzacji 295
    • Instalacja 295
    • Uwierzytelnienie 295
    • Utworzenie pierwszej maszyny wirtualnej 296
  • Bezproblemowa integracja automatyzacji z Azure 297
    • Instalacja 297
    • Uwierzytelnienie 297
    • Utworzenie pierwszej maszyny wirtualnej 298
  • Rozbudowa środowiska za pomocą Rackspace Cloud 300
    • Instalacja 300
    • Uwierzytelnienie 301
    • Utworzenie pierwszej maszyny wirtualnej 301
  • Użycie Ansible do orkiestracji OpenStack 302
    • Instalacja 302
    • Uwierzytelnienie 302
    • Utworzenie pierwszego scenariusza 303
  • Podsumowanie 306
  • Pytania 306
  • Dalsza lektura 307

Rozdział 11. Rozwiązywanie problemów i strategie testowania 309

  • Wymagania techniczne 310
  • Sprawdzanie pod kątem problemów występujących podczas wykonywania scenariuszy 310
  • Używanie informacji dotyczących hosta do analizy niepowodzeń 311
  • Testowanie scenariuszy 311
    • Używanie trybu sprawdzenia 313
  • Rozwiązywanie problemów dotyczących połączenia z hostem 316
  • Przekazywanie poprzez CLI zmiennych roboczych 318
    • Ograniczanie możliwości działania w hoście 319
  • Opróżnianie bufora kodu 322
  • Sprawdzanie kodu pod kątem niepoprawnej składni 322
  • Podsumowanie 323
  • Pytania 324
  • Dalsza lektura 324

Rozdział 12. Rozpoczęcie pracy z Ansible Tower 325

  • Wymagania techniczne 326
  • Instalacja AWX 326
  • Uruchomienie z poziomu AWX pierwszego scenariusza 328
    • Utworzenie projektu AWX 328
    • Utworzenie ewidencji 330
    • Utworzenie szablonu zadania 332
    • Uruchomienie zadania 334
  • Kontrolowanie dostępu do AWX 335
    • Utworzenie użytkownika 336
    • Utworzenie zespołu 337
    • Utworzenie organizacji 337
    • Przypisywanie uprawnień w AWX 338
  • Podsumowanie 339
  • Pytania 339
  • Tytuł: Ansible 2 w praktyce. Automatyzacja infrastruktury, zarządzanie konfiguracją i wdrażanie aplikacji
  • Autor: Daniel Oh, James Freeman, Fabio Alessandro Locati
  • Tytuł oryginału: Practical Ansible 2: Automate infrastructure, manage configuration, and deploy applications with Ansible 2.9
  • Tłumaczenie: Robert Górczyński
  • ISBN: 978-83-283-7824-7, 9788328378247
  • Data wydania: 2021-07-20
  • Format: Ebook
  • Identyfikator pozycji: ansibl
  • Wydawca: Helion