Анзибль на практике. Автоматизация конфигурации

Товар

3 557  ₽
Анзибль на практике. Автоматизация конфигурации
  • 0 раз купили
  • 5  оценка
  • 3 осталось
  • 4 отзыва

Доставка

  • Почта России

    от 990 ₽

  • Курьерская доставка EMS

    от 1290 ₽

Характеристики

Артикул
15443568729
Состояние
Новый
Autor
Bas Meijer
Tytuł
Ansible w praktyce. Automatyzacja konfiguracji i proste instalowanie systemów. Wydanie III
Nośnik
książka papierowa
Okładka
miękka
Rok wydania
2023
Wydawnictwo
Helion
Liczba stron
400
Numer wydania
1
Język publikacji
polski
Szerokość produktu
16 cm

Описание

Ansible w praktyce. Automatyzacja konfiguracji

Ansible w praktyce. Automatyzacja konfiguracji i proste instalowanie systemów. Wydanie III

Bas Meijer, Lorin Hochstein, René Moser

Ansible służy do automatyzacji wdrożeń oprogramowania i zarządzania jego konfiguracjami. Inżynierowie cenią ten framework za minimalne rozmiary, brak konieczności instalowania czegokolwiek na serwerach i prostotę użytkowania. Oferuje on proste i bardzo przydatne funkcje przeznaczone do automatyzacji wielowarstwowych środowisk, przydaje się też do obsługi ciągłej integracji i ciągłego 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ń administracyjnych.

Ta książka jest przeznaczona dla programistów i administratorów, którzy poszukują wydajnej metody zarządzania systemami. Pokazano w niej, w jaki sposób działa Ansible i jak należy przygotować go do pracy. Omówiono sposoby tworzenia scenariuszy (są to skrypty do zarządzania konfiguracją), zasady zarządzania zewnętrznymi serwerami, a także zaprezentowano najciekawsze funkcjonalności tego oprogramowania: wbudowane deklaratywne moduły . W tym wydaniu uwzględniono zmiany wynikające z dynamicznego rozwoju Ansible, dodano też kilka rozdziałów poświęconych kontenerom, platformie Molecule, kolekcjom Ansible, obrazom i infrastrukturze chmurowej. Wszystkie kody zostały zaktualizowane, a całość została wzbogacona o praktyczne wskazówki dotyczące dobrych praktyk programistycznych na platformach do weryfikowania kodu.

W książce:

  • zarządzanie konfiguracją i wdrożeniami systemów za pomocą Ansible
  • dobre praktyki pracy z Ansible
  • formaty kolekcji, moduły i wtyczki
  • generowanie obrazów kontenerów i instancji chmurowych
  • tworzenie infrastruktury chmurowej
  • automatyzacja procesów CI/CD w środowisku programistycznym
  • platforma Ansible Automation w metodyce DevOps

Minimalne rozmiary, prostota i wyjątkowa skuteczność — poznaj Ansible!

O autorze:

René Moser jest inżynierem systemów, zaangażowanym w projekt ASF CloudStack. Autor integracji CloudStack z Ansible.

Spis treści:

Wstęp do trzeciego wydania

1. Wprowadzenie

  • Uwaga do wersji
  • Do czego nadaje się Ansible?
  • Jak działa Ansible?
  • Na czym polega wielkość Ansible?

    Prostota

    Użyteczność

    Bezpieczeństwo

  • Czy Ansible nie jest zbyt proste?
  • Co musisz wiedzieć?
  • Czego tu nie znajdziesz?
  • Co dalej?

2. Instalacja i konfiguracja

  • Instalacja Ansible

    Luźne zależności

    Uruchomienie Ansible w kontenerze

    Rozwijanie Ansible

  • Konfiguracja serwera testowego

    Konfiguracja serwera testowego za pomocą narzędzia Vagrant

    Wprowadzanie do Ansible informacji o serwerze

    Ułatwienia dzięki plikowi ansible.cfg

    Nie miej litości

  • Przydatne opcje konfiguracyjne środowiska Vagrant

    Przekazywanie portów i prywatne adresy IP

    Włączanie przekazywania agentów

  • Prowizjoner Docker
  • Lokalny prowizjoner Ansible
  • Kiedy uruchamiany jest prowizjoner?
  • Wtyczki Vagrant

    Hostmanager

    VBGuest

  • Dostosowywanie maszyny wirtualnej VirtualBox
  • Plik Vagrantfile to kod Ruby
  • Konfiguracja produkcyjna
  • Podsumowanie

3. Scenariusze - pierwsze kroki

  • Wstępne wymagania
  • Bardzo prosty scenariusz

    Tworzenie pliku konfiguracyjnego Nginx

    Tworzenie strony WWW

    Definiowanie grupy serwerów WWW

  • Uruchomienie scenariusza
  • Scenariusz to plik YAML

    Początek pliku

    Koniec pliku

    Komentarze

    Wcięcia i białe znaki

    Ciągi znaków

    Wartości logiczne

    Listy

    Słowniki

    Dzielenie wierszy

    Czysty YAML zamiast argumentów tekstowych

  • Anatomia scenariusza

    Akcje

    Zadania

    Moduły

    Korzystanie z dokumentacji Ansible

    Wszystko razem

  • Czy coś się zmieniło? Śledzenie stanu serwera
  • Coś ciekawszego: szyfrowanie TLS

    Tworzenie certyfikatu TLS

    Zmienne

    Cudzysłowy w ciągach znaków

    Tworzenie szablonu konfiguracyjnego Nginx

    Pętle

    Procedury

    Kilka cech procedur, o których należy pamiętać

    Testy

    Weryfikacja

    Scenariusz

    Uruchomienie scenariusza

  • Podsumowanie

4. Ewidencja: opisywanie serwerów

  • Plik ewidencyjny

    Wstępne wymagania: kilka maszyn Vagrant

  • Funkcjonalne parametry ewidencji

    Zmienianie domyślnych wartości parametrów funkcjonalnych

  • Grupy, grupy i jeszcze raz grupy

    Przykład: instalacja aplikacji Django

    Aliasy i porty

    Grupy grup

    Serwery numerowane (zwierzaki kontra stado)

  • Zmienne serwerowe i grupowe w pliku ewidencyjnym
  • Zmienne serwerowe i grupowe w osobnych plikach
  • Dynamiczna ewidencja

    Wtyczki ewidencyjne

    Amazon EC2

    Azure Resource Manager

    Interfejs skryptu dynamicznej ewidencji

    Tworzenie skryptu dynamicznej ewidencji

  • Podział ewidencji na kilka plików
  • Dodawanie wpisów w trakcie działania scenariusza za pomocą modułów add_host i group_by

    Moduł add_host

    Moduł group_by

  • Podsumowanie

5. Zmienne i fakty

  • Definiowanie zmiennych w scenariuszu

    Definiowanie zmiennych w oddzielnych plikach

    Układ katalogów

  • Wyświetlanie wartości zmiennych

    Interpolacja zmiennych

  • Rejestrowanie zmiennych
  • Fakty

    Wyświetlanie wszystkich faktów skojarzonych z serwerem

    Wyświetlanie podzbioru faktów

    Fakty i informacje może zwracać każdy moduł

    Fakty lokalne

    Definiowanie nowej zmiennej za pomocą modułu set_fact

  • Wbudowane zmienne

    hostvars

    inventory_hostname

    groups

  • Definiowanie zmiennych w wierszu poleceń
  • Priorytety
  • Podsumowanie

6. Mezzanine: nasza testowa aplikacja

  • Dlaczego wdrażanie aplikacji produkcyjnych jest skomplikowane?
  • Baza danych: PostgreSQL
  • Serwer aplikacyjny: Gunicorn
  • Serwer WWW: Nginx
  • Menedżer procesów: Supervisor
  • Podsumowanie

7. Instalacja Mezzanine za pomocą Ansible

  • Wyświetlanie zadań scenariusza
  • Układ zainstalowanych plików
  • Zmienne jawne i poufne
  • Instalowanie wielu pakietów
  • Instrukcja become w zadaniu
  • Aktualizacja rejestru apt
  • Sprawdzenie projektu za pomocą modułu git
  • Instalacja Mezzanine i innych pakietów w środowisku wirtualnym
  • Krótka dygresja: skomplikowane argumenty w zadaniach
  • Konfiguracja bazy danych
  • Tworzenie pliku local_settings.py na podstawie szablonu
  • Polecenia django-manage
  • Uruchamianie własnych skryptów Pythona w kontekście aplikacji

    Utworzenie plików konfiguracyjnych usług

  • Aktywacja konfiguracji serwera Nginx
  • Instalacja certyfikatów TLS
  • Instalacja zadania Twitter w harmonogramie cron
  • Cały scenariusz
  • Uruchomienie scenariusza na maszynie wirtualnej Vagrant
  • Diagnostyka

    Brak dostępu do repozytorium GitHub

    Brak dostępu do adresu 192.168.33.10.nip.io

    Komunikat Bad Request (400)

  • Podsumowanie

8. Diagnozowanie scenariuszy

  • Czytelne komunikaty o błędach
  • Diagnozowanie połączenia SSH
  • Typowe wyzwania związane z usługą SSH

    PasswordAuthentication no

    Połączenie z użyciem innego konta

    Błąd weryfikacji klucza

    Sieci prywatne

  • Moduł debug
  • Debuger scenariuszy
  • Moduł assert
  • Sprawdzenie scenariusza przed uruchomieniem

    Sprawdzenie składni

    Wyświetlenie listy serwerów

    Wyświetlenie listy zadań

    Tryb weryfikacji

    Różnice (wyświetlenie zmian w plikach)

    Tagi

    Limity

  • Podsumowanie

9. Skalowanie scenariuszy: role

  • Podstawowa struktura roli
  • Przykład: role database i mezzanine

    Stosowanie ról w scenariuszach

    Zadania wstępne i końcowe

    Rola database instalująca bazę danych

    Rola mezzanine instalująca aplikację Mezzanine

  • Tworzenie plików i katalogów ról za pomocą narzędzia ansible-galaxy
  • Role zależne
  • Repozytorium Ansible Galaxy

    Interfejs WWW

    Interfejs wiersza poleceń

    Wymagania ról w praktyce

    Udostępnianie własnej roli

  • Podsumowanie

10. Zaawansowane scenariusze

  • Obsługa błędnie działających poleceń
  • Filtry

    Filtr default

    Filtry zarejestrowanych zmiennych

    Filtry ścieżek plików

    Tworzenie własnych filtrów

  • Wyszukiwarki

    file

    pipe

    env

    password

    template

    csvfile

    dig

    redis

    Utworzenie własnej wyszukiwarki

  • Zaawansowane pętle

    Wyszukiwarki with

    with_lines

    with_fileglob

    with_dict

    Wyszukiwarki jako pętle

  • Sterowanie pętlami

    Określanie nazwy zmiennej iteracyjnej

    Umieszczanie etykiet w wynikach

  • Importowanie i dołączanie plików

    Dynamiczne dołączanie plików

    Dołączanie ról

    Sterowanie realizacją roli

  • Bloki
  • Obsługa błędów za pomocą bloków
  • Szyfrowanie poufnych danych

    Kilka sejfów z różnymi hasłami

  • Podsumowanie

11. Dostosowywanie serwerów, przebiegów i procedur

  • Wzorce specyfikowania serwerów
  • Określanie grupy serwerów
  • Wykonywanie zadania na komputerze sterującym
  • Jawne gromadzenie faktów
  • Odczytywanie adresu IP serwera
  • Wykonywanie zadania na innym komputerze niż serwer
  • Wykonywanie zadania na kolejnych serwerach
  • Wykonywanie zadania w grupie serwerów
  • Jednokrotne wykonanie zadania
  • Selektywne wykonywanie zadań

    step

    start-at-task

    Tagi wykonywane

    Tagi pomijane

  • Strategie przebiegów

    Strategia linear

    Strategia free

  • Zaawansowane procedury

    Procedury w zadaniach wstępnych i końcowych

    Procedury natychmiastowe

    Metapolecenia

    Procedury powiadamiające inne procedury

    Procedury nasłuchujące

    Procedury nasłuchujące: konfiguracja certyfikatów SSL

  • Podsumowanie

12. Zarządzanie serwerami Windows

  • Połączenie z systemem Windows
  • PowerShell
  • Moduły Windows
  • Nasza maszyna programistyczna Java
  • Tworzenie lokalnych kont użytkowników
  • Funkcje Windows
  • Instalacja oprogramowania za pomocą menedżera Chocolatey
  • Konfiguracja środowiska Java
  • Aktualizacja systemu Windows
  • Podsumowanie

13. Ansible i kontenery

  • Kubernetes
  • Proces uruchamiania aplikacji kontenerowej
  • Rejestry
  • Ansible i Docker
  • Połączenie z demonem Docker
  • Przykładowa aplikacja: Ghost
  • Uruchomienie kontenera Docker na lokalnym komputerze
  • Utworzenie obrazu na podstawie pliku Dockerfile
  • Wysłanie obrazu do rejestru
  • Konfigurowanie kontenerów na lokalnym komputerze
  • Uzyskiwanie informacji o lokalnym obrazie
  • Wdrożenie aplikacji kontenerowej

    Utworzenie maszyny MySQL

    Wdrożenie bazy danych dla aplikacji Ghost

    Fronton

    Fronton: Ghost

    Fronton: NGINX

    Usunięcie kontenerów

  • Podsumowanie

14. Kontrola jakości przy użyciu platformy Molecule

  • Instalacja i konfiguracja
  • Konfigurowanie sterowników Molecule
  • Utworzenie roli Ansible
  • Scenariusze Molecule

    Żądany stan

    Konfigurowanie scenariusza Molecule

    Zarządzanie maszynami wirtualnymi

    Zarządzanie kontenerami

  • Polecenia Molecule
  • Lintowanie

    YAMLlint

    ansible-lint

    ansible-later

  • Weryfikatory

    Ansible

    Goss

    TestInfra

  • Podsumowanie

15. Kolekcje

  • Instalacja kolekcji
  • Wyświetlenie listy kolekcji
  • Stosowanie kolekcji w scenariuszu
  • Tworzenie kolekcji
  • Podsumowanie

16. Tworzenie obrazów

  • Tworzenie obrazów za pomocą narzędzia Packer

    Tworzenie maszyny wirtualnej w środowisku Vagrant VirtualBox

    Połączenie narzędzi Packer i Vagrant

    Obrazy chmurowe

    Google Cloud Platform

    Azure

    Amazon EC2

    Scenariusz

  • Obraz Docker: GCC 11
  • Podsumowanie

17. Infrastruktura chmurowa

  • Terminologia

    Instancja

    Obraz AMI

    Etykieta

  • Definiowanie poświadczeń

    Zmienne środowiskowe

    Pliki konfiguracyjne

  • Wymagania: biblioteka Python Boto3
  • Dynamiczne ewidencjonowanie instancji

    Buforowanie ewidencji

    Inne opcje konfiguracyjne

  • Definiowanie dynamicznych grup zasobów za pomocą etykiet

    Przypisywanie etykiet do istniejących zasobów

    Czytelne nazwy grup

  • Wirtualne chmury prywatne
  • Przygotowanie pliku ansible.cfg
  • Uruchamianie nowych instancji
  • Pary kluczy EC2

    Utworzenie nowego klucza

  • Grupy zabezpieczeń

    Dozwolone adresy IP

    Porty w grupach zabezpieczeń

  • Uzyskiwanie najnowszego obrazu AMI
  • Utworzenie nowej instancji i dodanie jej do grupy
  • Oczekiwanie na gotowość instancji
  • Wszystko razem
  • Konfiguracja chmury VPC

    Dynamiczne ewidencjonowanie i chmura VPC

  • Podsumowanie

18. Wtyczki zwrotne

  • Wtyczki standardowego wyjścia

    ARA

    debug

    default

    dense

    json

    minimal

    null

    oneline

  • Wtyczki powiadomień i agregacji

    Moduły Pythona

    foreman

    jabber

    junit

    log_plays

    logentries

    logstash

    mail

    profile_roles

    profile_tasks

    say

    slack

    splunk

    timer

  • Podsumowanie

19. Własne moduły

  • Przykład: sprawdzenie, czy zewnętrzny serwer jest dostępny

    Użycie modułu script zamiast tworzenia własnego modułu

    Skrypt can_reach jako moduł

  • Czy trzeba tworzyć własne moduły?
  • Gdzie umieszczać własne moduły?
  • Jak Ansible uruchamia moduły?

    Utworzenie niezależnego skryptu Pythona z argumentami (tylko Python)

    Skopiowanie modułu do serwera

    Utworzenie pliku argumentów na serwerze (inne języki)

    Wywołanie modułu

  • Oczekiwane wyniki

    Zmienne wynikowe oczekiwane przez Ansible

  • Tworzenie modułów w języku Python

    Analiza argumentów

    Odczytywanie argumentów

    Import klasy pomocniczej AnsibleModule

    Opcje argumentów

    Parametry konstruktora klasy AnsibleModule

    Zwracanie informacji o pomyślnym lub niepomyślnym wykonaniu modułu

    Wywoływanie zewnętrznych programów

    Tryb weryfikacji (suchy przebieg)

  • Dokumentowanie modułu
  • Diagnozowanie modułu
  • Implementowanie modułu jako skryptu Bash
  • Określanie alternatywnego położenia powłoki Bash
  • Podsumowanie

20. Przyspieszanie Ansible

  • Zwielokrotnienie sesji SSH (opcja ControlPersist)

    Ręczne włączenie zwielokrotnienia sesji SSH

    Opcje zwielokrotniania sesji SSH

  • Dodatkowe strojenie sesji SSH

    Zalecenia dotyczące algorytmów

  • Potokowanie

    Włączenie potokowania

    Konfigurowanie potokowania na serwerze

  • Mitogen dla Ansible
  • Zapamiętywanie faktów

    Zapamiętywanie faktów w plikach JSON

    Zapamiętywanie faktów w bazie Redis

    Zapamiętywanie faktów w bazie Memcached

  • Równoległe połączenia
  • Równoległe wykonywanie zadań za pomocą instrukcji async
  • Podsumowanie

21. Sieci i bezpieczeństwo

  • Zarządzanie siecią

    Obsługiwane urządzenia

    Komunikacja Ansible z urządzeniami sieciowymi

    Tryb uprzywilejowany

    Ewidencja sieci

    Zastosowania automatyzacji operacji sieciowych

  • Bezpieczeństwo

    Czy trzeba przestrzegać norm?

    Zabezpieczony, ale nie bezpieczny

    Szare IT

    Jasne IT

    Zero zaufania

  • Podsumowanie

22. Procesy CI/CD i Ansible

  • Ciągła integracja oprogramowania

    Elementy systemu ciągłej integracji oprogramowania

    Jenkins i Ansible

    Uruchomienie procesu CI dla ról Ansible

  • Testy
  • Wtyczka Ansible
  • Wtyczka Ansible Tower
  • Podsumowanie

23. Ansible Automation Platform

  • Modele subskrypcyjne

    Wersja próbna platformy Ansible Automation Platform

  • Do czego służy platforma Ansible Automation?

    Kontrola dostępu

    Projekty

    Zarządzanie ewidencją

    Uruchamianie zadań według szablonów

  • Interfejs REST API
  • Kolekcja awx.awx

    Instalacja

    Zdefiniowanie organizacji

    Utworzenie ewidencji

    Uruchamianie scenariusza za pomocą szablonu zadania

  • Uruchamianie Ansible za pomocą kontenerów

    Tworzenie środowisk wykonawczych

  • Podsumowanie

24. Dobre praktyki

  • Prostota, modułowość i kompozycyjność
  • Porządkowanie treści
  • Oddzielenie ewidencji od projektów
  • Oddzielenie ról od kolekcji
  • Scenariusze
  • Styl kodu
  • Oznaczanie i testowanie wszystkiego
  • Żądany stan
  • Ciągłe dostarczanie oprogramowania
  • Bezpieczeństwo
  • Wdrażanie
  • Wskaźniki wydajności
  • Ocenianie skuteczności dobrych praktyk
  • Słowo końcowe

Bibliografia

Гарантии

  • Гарантии

    Мы работаем по договору оферты и предоставляем все необходимые документы.

  • Лёгкий возврат

    Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.

  • Безопасная оплата

    Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.

Отзывы о товаре

Рейтинг товара 5 / 5

4 отзыва

Russian English Polish