Ansible 2 w praktyce. Automatyzacja infrastruktury, zarządzanie konfiguracją i wdrażanie aplikacji - ebook
Ansible 2 w praktyce. Automatyzacja infrastruktury, zarządzanie konfiguracją i wdrażanie aplikacji - 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!
Spis treści
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
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-7824-7 |
Rozmiar pliku: | 5,0 MB |