Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator zapasu Ansible

Zbuduj plik inventory.ini z grupami hostów, zmiennymi grupowymi i grupami nadrzędnymi dla Ansible.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Uzupełnij hosty i kliknij „Generuj inventory”.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator inventory Ansible — grupy hostów, zmienne i grupy nadrzędne

Generator zapasu Ansible buduje plik inventory.ini: nagłówek grupy [webservers], listę hostów, sekcję zmiennych grupowych [grupa:vars] i sekcję grup nadrzędnych [grupa:children]. Wpisz nazwę grupy, wklej hosty (po jednym w linii), dodaj zmienne i skopiuj gotowy zapas. To plik, który Ansible czyta przez -i inventory.ini, żeby wiedzieć, na jakich maszynach uruchomić playbook.

Co dokładnie generuje to narzędzie

Nazwa grupy trafia do nagłówka [grupa] i przechodzi walidację wzorcem [A-Za-z0-9_-]+, bo spacja czy nawias rozjechałyby parser INI. Każdą linię pola hostów narzędzie przycina i wstawia pod nagłówkiem grupy — powtórzone linie są scalane. Zmienne grupowe dostają sekcję [grupa:vars], a grupy podrzędne [grupa:children]. Puste sekcje są pomijane, więc plik zawiera tylko to, co wypełniłeś.

Host opisujesz nazwą i opcjonalnymi zmiennymi połączeniowymi w tej samej linii, na przykład web1.example.com ansible_host=10.0.0.11. Klucz ansible_host podaje adres, pod który Ansible faktycznie się łączy, gdy nazwa hosta jest tylko etykietą. Dorzucisz też ansible_user (użytkownik SSH), ansible_port (port inny niż 22) czy ansible_python_interpreter.

Anatomia pliku inventory INI

SekcjaZapisRola
Grupa hostów[webservers]Nagłówek, pod którym wymieniasz hosty grupy
Host z adresemweb1 ansible_host=10.0.0.11Etykieta hosta plus adres, pod który łączy się Ansible
Zmienne grupowe[webservers:vars]Zmienne stosowane do każdego hosta w grupie
Grupy nadrzędne[production:children]Łączy istniejące grupy w jedną większą
Użytkownik SSHansible_user=deployKonto, na które Ansible loguje się przez SSH
Port SSHansible_port=22Port połączenia, gdy inny niż domyślny

Grupy, zmienne grupowe i grupy nadrzędne

Grupa to nazwany zbiór hostów, na których playbook robi to samo — webservers, databases, loadbalancers. Sekcja [grupa:vars] ustawia zmienne raz dla całej grupy zamiast powtarzać je przy każdym hoście: wspólny użytkownik, port, ścieżka do interpretera. Sekcja [grupa:children] buduje hierarchię — grupa production może zawierać webservers i databases, więc jednym poleceniem uruchomisz zadanie na całym środowisku. Hosty i zmienne dziedziczą się w dół drzewa, a wartość z węższej grupy ma pierwszeństwo przed szerszą.

INI kontra YAML — dwa formaty tego samego zapasu

Ansible czyta zapas w dwóch formatach. INI, który generuje to narzędzie, jest zwięzły: nagłówki w nawiasach kwadratowych, jeden host w linii. YAML zapisuje tę samą strukturę zagnieżdżeniem (all:, children:, hosts:, vars:) i lepiej znosi złożone zmienne, listy i słowniki. Dla większości małych i średnich środowisk INI wystarcza. Gdy zmiennych jest dużo, rozważ YAML lub wynieś je do katalogów group_vars/ i host_vars/, które Ansible wczytuje automatycznie obok zapasu.

Zapas statyczny kontra dynamiczny

Plik z tego generatora to zapas statyczny — lista hostów spisana ręcznie. Sprawdza się, gdy maszyny są stałe i znasz ich adresy. W chmurze, gdzie serwery powstają i znikają, używa się zapasu dynamicznego: wtyczki (jak amazon.aws.aws_ec2) pytają API dostawcy i budują listę hostów w locie.

Jak korzystać z generatora

  1. Wpisz nazwę grupy, na przykład webservers — trafi do nagłówka [webservers].
  2. Wklej hosty, po jednym w linii, z opcjonalnym ansible_host=IP przy każdym.
  3. Dodaj zmienne grupowe (ansible_user, ansible_port) — pojawią się w sekcji [grupa:vars].
  4. Opcjonalnie wypisz grupy podrzędne, żeby zbudować grupę nadrzędną [grupa:children].
  5. Kliknij Generuj inventory, skopiuj wynik i zapisz jako inventory.ini.

Zapas to jeden element warsztatu automatyzacji. Playbook, który go użyje, złożysz w generatorze playbooków Ansible, a jego składnię sprawdzisz w walidatorze YAML. Gdy przenosisz aplikacje na konteneryzację, przydadzą się generator pliku Dockerfile oraz generator deploymentu Kubernetes, a zadania cykliczne na hostach ustawisz przez generator crontab.

Czego to narzędzie nie robi

Generator buduje jedną grupę na raz w formacie INI. Wiele grup w jednym pliku, katalogi group_vars/ i host_vars/, zakresy hostów web[01:10] czy zapas w YAML dopisujesz ręcznie w szkielecie. Nie łączy się też z hostami ani nie sprawdza dostępności — to zadanie polecenia ansible ... -m ping.

Najczęściej zadawane pytania

Czym różni się nazwa hosta od ansible_host?

Nazwa w nagłówku grupy to etykieta, po której odwołujesz się do maszyny w playbookach i raportach. ansible_host podaje faktyczny adres, pod który Ansible nawiązuje połączenie. Dzięki temu host może nazywać się czytelnie web1, a łączyć pod adresem IP 10.0.0.11 albo pełną nazwą DNS.

Do czego służy sekcja [grupa:children]?

Buduje grupy nadrzędne z istniejących grup. Grupa production może zawierać webservers i databases, więc jednym poleceniem uruchomisz zadanie na całym środowisku. Hosty i zmienne dziedziczą się w dół drzewa.

Jak sprawdzić połączenie z hostami z zapasu?

Uruchom ansible -i inventory.ini all -m ping. To nie jest ping ICMP, lecz test połączenia SSH i uruchomienia Pythona na zdalnej maszynie. Odpowiedź pong oznacza, że host jest osiągalny i gotowy na playbooki.

INI czy YAML — który format wybrać?

INI jest zwięzły i czytelny, wystarcza dla większości środowisk. YAML lepiej znosi złożone zmienne, listy i słowniki oraz dynamiczne zapasy. Zacznij od INI, a przejdź na YAML lub katalogi group_vars/, gdy zmiennych zrobi się dużo.

Gdzie trzymać hasła i klucze?

Nie w pliku zapasu, który trafia do repozytorium. Sekrety szyfruj przez ansible-vault i wczytuj z osobnego pliku. W zapasie zostaw jawnie tylko dane nietajne, jak adresy, użytkownik połączenia czy port.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!