Ansible w praktyce. Automatyzacja konfiguracji i proste instalowanie systemów. Wydanie II - Helion
Tytuł oryginału: Ansible: Up and Running: Automating Configuration Management and Deployment the Easy Way, 2nd Edition
TÅ‚umaczenie: Andrzej Watrak
ISBN: 978-83-283-4172-2
stron: 352, Format: ebook
Data wydania: 2018-04-01
Księgarnia: Helion
Cena książki: 44,25 zł (poprzednio: 59,00 zł)
Oszczędzasz: 25% (-14,75 zł)
Automatyzacja zarzÄ…dzania konfiguracjÄ… i proste instalowanie systemów
ZarzÄ…dzanie konfiguracjÄ… oprogramowania w systemach sieciowych jest niebanalnym zadaniem. Nawet zwykÅ‚a aktualizacja czy wdrożenie nowego oprogramowania mogÄ… siÄ™ skoÅ„czyć katastrofÄ…, zwÅ‚aszcza w przypadku serwerów pracujÄ…cych pod kontrolÄ… systemów Linux czy Unix. Konieczność pilnowania ustawieÅ„ w wielu różnych plikach konfiguracyjnych, z których każdy sÅ‚uży innemu elementowi, sprawia, że problemy mogÄ… sprawiać nawet zasadniczo nieskomplikowane czynnoÅ›ci - chyba że konfiguracja i wdrażanie oprogramowania w systemie zostanÄ… zautomatyzowane za pomocÄ… odpowiedniego narzÄ™dzia, na przykÅ‚ad Ansible.
Istnieje wiele narzÄ™dzi do zarzÄ…dzania konfiguracjÄ… oprogramowania. SpoÅ›ród nich Ansible wyróżnia siÄ™ szczególnymi zaletami: ma minimalne rozmiary, nie wymaga instalowania czegokolwiek na serwerach i jest proste w użyciu. DziÄ™ki tej książce szybko nauczysz siÄ™ korzystać z najnowszej wersji Ansible do instalowania nowego kodu aplikacji w Å›rodowisku produkcyjnym czy też do lepszego i prostszego zarzÄ…dzania rozbudowanymi systemami. Zapoznasz siÄ™ miÄ™dzy innymi z oprogramowaniem Ansible Tower, a także dowiesz siÄ™, jak skutecznie zarzÄ…dzać komputerami z systemem Windows i sprzÄ™tem sieciowym. Ten niezwykle praktyczny podrÄ™cznik powinien stale być pod rÄ™kÄ… każdego administratora systemu, wdrożeniowca i programisty!
W tej książce między innymi:
- Ansible a inne narzÄ™dzia do zarzÄ…dzania konfiguracjÄ… systemów
- Scenariusze w języku YAML
- Testowanie i skalowanie scenariuszy
- Techniki wdrażania aplikacji w systemie
- Automatyzacja konfigurowania urządzeń sieciowych
- Wdrażanie aplikacji w chmurze
Ansible: skuteczne narzÄ™dzie najlepszych adminów!
Lorin Hochstein jest starszym inżynierem oprogramowania w Netfliksie, w zespole zajmujÄ…cym siÄ™ inżynieriÄ… chaosu. WczeÅ›niej pracowaÅ‚ jako inżynier w SendGrid Labs, gÅ‚ówny architekt usÅ‚ug chmurowych w Nimbis Services. ObroniÅ‚ doktorat w dziedzinie informatyki na Uniwersytecie Maryland.
Rene Moser jest inżynierem systemów. Od lat angażuje siÄ™ w projekty open source takie jak ASF CloudStack. Od 2016 roku jest czÅ‚onkiem projektu Ansible Core. Ceni sobie proste systemy, które Å‚atwo skalować. Mieszka w Szwajcarii z rodzinÄ….
Osoby które kupowały "Ansible w praktyce. Automatyzacja konfiguracji i proste instalowanie systemów. Wydanie II", wybierały także:
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku 58,64 zł, (12,90 zł -78%)
- Mapa Agile & Scrum. Jak si 57,69 zł, (15,00 zł -74%)
- Sztuka podst 53,46 zł, (13,90 zł -74%)
- Lean dla bystrzaków. Wydanie II 49,62 zł, (12,90 zł -74%)
Spis treści
Ansible w praktyce. Automatyzacja konfiguracji i proste instalowanie systemów. Wydanie II eBook -- spis treści
Przedmowa (11)
Wstęp do drugiego wydania (13)
Wstęp do pierwszego wydania (15)
1. Wprowadzenie (19)
- Uwaga do wersji (20)
- Do czego nadaje siÄ™ Ansible? (20)
- Jak działa Ansible? (21)
- Na czym polega wielkość Ansible? (22)
- Czy Ansible nie jest zbyt proste? (26)
- Co muszę wiedzieć? (26)
- Czego tu nie znajdziesz? (27)
- Instalacja Ansible (27)
- Konfiguracja serwera testowego (28)
- Co dalej? (35)
2. Scenariusze: pierwsze kroki (37)
- Wstępne wymagania (37)
- Bardzo prosty scenariusz (38)
- Uruchomienie scenariusza (41)
- Scenariusz to plik YAML (42)
- Anatomia scenariusza (45)
- Czy coś się zmieniło? Śledzenie stanu serwera (49)
- CoÅ› ciekawszego: szyfrowanie TLS (49)
3. Ewidencja: opisywanie serwerów (57)
- Plik ewidencyjny (57)
- Wstępne wymagania: kilka maszyn Vagrant (58)
- Funkcjonalne parametry ewidencji (60)
- Grupy, grupy i jeszcze raz grupy (62)
- Zmienne serwerowe i grupowe w pliku ewidencyjnym (66)
- Zmienne serwerowe i grupowe w osobnych plikach (67)
- Dynamiczna ewidencja (69)
- PodziaÅ‚ ewidencji na kilka plików (73)
- Dodawanie wpisów w trakcie dziaÅ‚ania scenariusza za pomocÄ… moduÅ‚ów add_host i group_by (74)
4. Zmienne i fakty (77)
- Definiowanie zmiennych w scenariuszu (77)
- Wyświetlanie wartości zmiennych (78)
- Rejestrowanie zmiennych (78)
- Fakty (81)
- Definiowanie nowej zmiennej za pomocą modułu set_fact (84)
- Wbudowane zmienne (85)
- Definiowanie zmiennych w wierszu poleceń (87)
- Priorytety (88)
5. Mezzanine: nasza testowa aplikacja (89)
- Dlaczego wdrażanie aplikacji produkcyjnych jest skomplikowane? (89)
6. Instalacja Mezzanine za pomocÄ… Ansible (95)
- Wyświetlanie zadań scenariusza (95)
- UkÅ‚ad zainstalowanych plików (96)
- Zmienne jawne i poufne (96)
- Instalowanie wielu pakietów za pomocÄ… pÄ™tli (with_items) (98)
- Instrukcja become w zadaniu (99)
- Aktualizacja rejestru apt (99)
- Sprawdzenie projektu za pomocą modułu git (100)
- Instalacja Mezzanine i innych pakietów w Å›rodowisku wirtualnym (102)
- Krótka dygresja: skomplikowane argumenty w zadaniach (104)
- Konfiguracja bazy danych (106)
- Tworzenie pliku local_settings.py na podstawie szablonu (107)
- Polecenia django-manage (110)
- Uruchamianie wÅ‚asnych skryptów Pythona w kontekÅ›cie aplikacji (111)
- Utworzenie plików konfiguracyjnych usÅ‚ug (113)
- Aktywacja konfiguracji serwera Nginx (115)
- Instalacja certyfikatów TLS (115)
- Instalacja zadania Twitter w harmonogramie cron (116)
- Cały scenariusz (117)
- Uruchomienie scenariusza na maszynie wirtualnej Vagrant (120)
- Diagnostyka (120)
- Instalacja Mezzanine na wielu serwerach (121)
7. Skalowanie scenariuszy: role (123)
- Podstawowa struktura roli (123)
- Przykład: role database i mezzanine (124)
- Stosowanie ról w scenariuszach (124)
- Zadania wstępne i końcowe (125)
- Rola database instalujÄ…ca bazÄ™ danych (126)
- Rola mezzanine instalujÄ…ca aplikacjÄ™ Mezzanine (128)
- Tworzenie plików i katalogów ról za pomocÄ… narzÄ™dzia ansible-galaxy (132)
- Role zależne (132)
- Repozytorium Ansible Galaxy (133)
8. Zaawansowane scenariusze (135)
- Obsługa błędnie działających poleceń: instrukcje changed_when i failed_when (135)
- Filtry (138)
- Wyszukiwarki (140)
- Zaawansowane pętle (146)
- Sterowanie pętlami (149)
- DoÅ‚Ä…czanie plików (151)
- Bloki (153)
- ObsÅ‚uga bÅ‚Ä™dów za pomocÄ… bloków (154)
- Szyfrowanie poufnych danych (156)
9. Dostosowywanie serwerów, przebiegów i procedur (159)
- Wzorce specyfikowania serwerów (159)
- OkreÅ›lanie grupy serwerów (160)
- Wykonywanie zadania na komputerze sterujÄ…cym (160)
- Wykonywanie zadania na innym komputerze niż serwer (161)
- Wykonywanie zadania na kolejnych serwerach (161)
- Wykonywanie zadania w grupie serwerów (162)
- Jednokrotne wykonanie zadania (163)
- Strategie przebiegów (163)
- Zaawansowane procedury (166)
- Jawne gromadzenie faktów (173)
- Odczytywanie adresu IP serwera (174)
10. Wtyczki zwrotne (175)
- Wtyczki stdout (175)
- Inne wtyczki (178)
11. Przyspieszanie Ansible (185)
- Zwielokrotnienie sesji SSH (opcja ControlPersist) (185)
- Potokowanie (188)
- ZapamiÄ™tywanie faktów (189)
- RównolegÅ‚e poÅ‚Ä…czenia (192)
- RównolegÅ‚e wykonywanie zadaÅ„ za pomocÄ… instrukcji async (193)
12. Własne moduły (195)
- Przykład: sprawdzenie, czy zewnętrzny serwer jest dostępny (195)
- Użycie modułu script zamiast tworzenia własnego modułu (195)
- Skrypt can_reach jako moduł (196)
- Gdzie umieszczać własne moduły? (196)
- Jak Ansible uruchamia moduły? (196)
- Oczekiwane wyniki (198)
- Tworzenie moduÅ‚ów w jÄ™zyku Python (199)
- Dokumentowanie modułu (209)
- Diagnozowanie modułu (210)
- Implementowanie modułu jako skryptu Bash (211)
- Określanie alternatywnego położenia powłoki Bash (212)
- Przykładowe moduły (213)
13. Vagrant (215)
- Przydatne opcje konfiguracyjne środowiska Vagrant (215)
- Prowizjoner Ansible (217)
- Kiedy jest uruchamiany prowizjoner? (217)
- Plik ewidencyjny tworzony przez środowisko Vagrant (217)
- RównolegÅ‚e prowizjonowanie maszyn (218)
- Definiowanie grup maszyn wirtualnych (219)
- Lokalny prowizjoner Ansible (220)
14. Amazon EC2 (221)
- Terminologia (222)
- Poświadczenia (224)
- Warunek: instancja biblioteki Python Boto (225)
- Dynamiczna ewidencja (225)
- Definiowanie dynamicznych grup instancji na podstawie tagów (228)
- Chmury EC2-VPC i EC2-Classic (230)
- Przygotowanie pliku ansible.cfg do korzystania z chmury EC2 (231)
- Uruchamianie nowych instancji (231)
- Pary kluczy EC2 (233)
- Grupy bezpieczeństwa (234)
- Uzyskiwanie najnowszego obrazu AMI (236)
- Dodanie nowej instancji do grupy (237)
- Oczekiwanie na uruchomienie instancji (239)
- Idempotentne tworzenie instancji (240)
- Wszystko razem (241)
- Definiowanie chmury VPC (242)
- Tworzenie obrazów AMI (246)
- Inne moduły (250)
15. Docker (253)
- PrzykÅ‚ad użycia programów Docker i Ansible (254)
- Czas życia aplikacji Docker (254)
- Przykładowa aplikacja: Ghost (255)
- Nawiązywanie połączenia z demonem Dockera (255)
- Uruchomienie kontenera na lokalnym komputerze (256)
- Tworzenie obrazu za pomocÄ… pliku Dockerfile (257)
- Orkiestracja kilku kontenerów na lokalnym komputerze (258)
- WysyÅ‚anie obrazów do rejestru Dockera (259)
- Odczytywanie informacji o lokalnych obrazach (260)
- Instalowanie aplikacji zawartych w obrazach (262)
- Ansible Container (266)
16. Diagnozowanie scenariuszy (273)
- Czytelne komunikaty o błędach (273)
- Diagnozowanie połączenia SSH (274)
- Moduł debug (275)
- Debuger scenariuszy (275)
- Moduł assert (277)
- Sprawdzenie scenariusza przed uruchomieniem (279)
- Wybieranie zadań do wykonania (280)
17. ZarzÄ…dzanie serwerami Windows (283)
- Połączenie z systemem Windows (283)
- PowerShell (284)
- Moduły Windows (286)
- Nasz pierwszy scenariusz (286)
- Aktualizacja systemu Windows (287)
- Tworzenie lokalnych kont użytkowników (288)
- Podsumowanie (291)
18. Ansible i urzÄ…dzenia sieciowe (293)
- Obecny stan moduÅ‚ów sieciowych (293)
- Lista obsługiwanych urządzeń (294)
- Przygotowanie urzÄ…dzenia sieciowego (294)
- Jak funkcjonują moduły? (297)
- Pierwszy scenariusz (297)
- Ewidencja i zmienne w modułach sieciowych (298)
- Korzystanie z plików konfiguracyjnych (302)
- Szablony, szablony, szablony (305)
- Gromadzenie faktów (306)
- Podsumowanie (307)
19. Ansible Tower: wersja dla firm (309)
- Modele subskrypcji (309)
- Jakie problemy rozwiÄ…zuje Ansible Tower? (311)
- Interfejs REST API (316)
- Interfejs CLI (316)
- Co dalej? (320)
A. ProtokóÅ‚ SSH (321)
- Natywny klient SSH (321)
- Agent SSH (321)
- Uruchomienie agenta SSH (322)
- Przekazywanie agenta (323)
- Klucze hosta (326)
B. Role IAM i poświadczenia EC2 (329)
- Konsola AWS Management Console (329)
- Wiersz poleceń (330)
SÅ‚owniczek (333)
Bibliografia (339)
Skorowidz (341)