Ansible Advanced Host List Inventory

Ansible Advanced Host List Inventory



S využitím jedné z nejnovějších technik správy, „Ansible“, představujeme, jak uvádíme seznam všech sledovaných hostitelů na zařízení. V Ansible používáme plugin „inventář“ k vypsání všech hostitelů v síti.

Je důležité mít seznam všech svých hostitelských počítačů v Ansible. Udržování uspořádaného inventárního souboru je stejně důležité jako udržování herních příruček nebo úkolů, protože se neustále ocitáte ve stavu nejistoty a s několika obavami se sami sebe ptáte, zda je váš inventární soubor špatně spravován. Kromě výše uvedeného, ​​definice požadovaných proměnných v inventárním souboru minimalizuje obsah úkolu v playbookech a urychluje interpretace. Existuje skupina proměnných, které lze deklarovat jak ve vašich playbookech, tak v souborech inventáře Ansible, které jsou zodpovědné za připojení a konfiguraci chování připojení k hostitelskému počítači.







Předpoklady:

Níže jsou uvedeny požadavky před implementací příkazu seznamu hostitelů v Ansible:



  • Abychom mohli začít s implementací, potřebujeme nejprve software, který se používá pro konfiguraci Ansible, který je nainstalován na serverovém zařízení s nejnovější verzí. Ansible musí být nakonfigurován tak, abychom mohli snadno uvést všechny hostitelské počítače v naší síti.
  • K provedení jakékoli konfigurační úlohy v Ansible potřebujeme hlavního správce konfigurace. V tomto tutoriálu používáme server řadiče jako hlavní řadič.
  • Abychom mohli implementovat jakékoli změny, musíme cílit na hostitelské servery v kurzu inventáře seznamu hostitelů. Zde máme dva cílové vzdálené hostitele.

Příklad: Inventář seznamu hostitelů ve stroji

Zde je příklad, který implementujeme v nástroji Ansible ke kontrole nebo definování inventáře seznamu hostitelů. Za tímto účelem provedeme tento příklad v různých krocích, abychom snadno porozuměli práci a implementaci tohoto tutoriálu. Následují kroky:



Krok 1: Zkontrolujte inventář výchozího seznamu hostitelů v cílovém vzdáleném hostitelském zařízení





Nejprve zkontrolujeme, kolik hostitelů je v inventáři nástroje Ansible. K tomu používáme příkaz „ansible“ s „—list-hosts“, abychom mohli zobrazit výchozí obsluhované uzly v inventáři.

[ vykořenit @ mistr ansible ] # ansible all --list-hosts



Zde je výstup po napsání předchozího příkazu:

Terminál Ansible zobrazuje „0 hostitelů“, jak můžete vidět v poskytnuté odpovědi, protože jsme inventář nedeklarovali. Vygenerujeme inventář, abychom uvedli inventář hostitele v terminálu, než to budeme řešit.

Výchozí inventář:

Když nainstalujeme Ansible do softwaru, Ansible vytvoří soubor inventáře, který se najde napsáním následujícího příkazu do terminálu:

[ vykořenit @ mistr ansible ] # sudo nano /etc/ansible/hosts

Výsledek se vygeneruje, když napíšeme předchozí příkaz. Poté vás požádá o zadání hesla:

Na tomto snímku poskytuje výchozí soubor hostitelů Ansible informace týkající se neseskupených hostitelů a hostitelů skupiny webových serverů. Mezi tyto hostitele patří adresy URL a různé adresy IP.

Krok 2: Definujte vlastní inventář v Ansible

V Ansible můžeme také definovat náš inventář napsáním více příkazů v terminálu Ansible. Definování inventáře při spouštění příkazů a playbooků je moudrým rozhodnutím, které zabraňuje kolizím hostitelů a selhání při připojení k hostitelům.

Abychom mohli začít samostatně definovat inventář, nejprve napíšeme následující prohlášení, abychom mohli inventář sestavit v Ansible a uvést v něm hostitele, abychom vytvořili spojení mezi ovladačem Ansible a cílovými vzdálenými hostiteli.

[ vykořenit @ mistr ansible ] # nano hosts.yml

Po napsání předchozího výpisu se inventář vytvoří a spustí v novém terminálu Ansible s názvem „hosts.yml“. Dále uvedeme seznam cílových hostitelů jednoho po druhém v inventáři. Úplně prvním hostitelem, se kterým se spojíme, je hostitel Linux. Poskytujeme IP adresu hostitele Linuxu, uživatele Ansible, heslo Ansible, typ připojení a číslo portu Ansible. Totéž uděláme s druhým cílovým hostitelem. Druhým hostitelem, který používáme, je hostitel Ansible. Všichni hostitelé, které jsme uvedli, jsou v inventáři pod parametrem Ansible.

Ansible:
hostitelé:
Linux_Host:
ansible_host: 192.168.3.229
ansible_user: root
ansible_password: tpstps_22
ansible_connection: ssh
ansible_port: 22

Ansible_Host:
ansible_host: 192.168.7.10
ansible_user: duhovka
ansible_password: TpsTps_1
ansible_connection: ssh
ansible_port: 22

Po vytvoření souboru inventáře a poskytnutí hostitelů v něm nyní ukončíme soubor inventáře a vrátíme se zpět do hlavního terminálu Ansible.

Krok 3: Vytvořte Playbook v Ansible

Dále vytvoříme playbook v nástroji Ansible tak, že definujeme úkoly. Za tímto účelem napíšeme do hlavního terminálu Ansible následující příkaz:

[ vykořenit @ mistr ansible ] # nano ansible_advanced_inventory.yml

Nyní je playbook spuštěn do nového terminálu. Nejprve napíšeme název sešitu. V dalším řádku uvádíme cílového hostitele. Používáme možnost shromáždit fakta, která se používá k získání veškerých informací o hostitelích. Zde však předáme „ne“, což znamená, že nechceme získat všechna data hostitelů.

Dále vypíšeme úkoly v sešitu. První úloha se používá k zobrazení cílového hostitele s názvem hostitele. V další úloze vytiskneme výsledky hostitele.

- name: Ansible pokročilý inventář hostitele
hostitelé: Ansible [ 0 ]
shromáždit_fakta: ne
úkoly:

- jméno: Get název hostitele spravovaného uzlu
skořápka: 'hostname'
registr: výsledek

- název: Tisk název hostitele
ladit:
zpráva: '{{result.stdout}}'

Nyní chceme spustit playbook spolu se souborem inventáře. Nejprve tedy ukončíme sešit. Následující příkaz používáme ke spuštění příkazu:

[ vykořenit @ mistr ansible ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml

Následuje výstupní displej, který ukazuje, že připojení bylo úspěšné. Protože jsme v playbooku předali Ansible[0], ve výstupu se zobrazí první hostitel:

Závěr

Během tohoto tutoriálu jsme vedli podrobnou diskusi o inventáři Ansible. Naučili jsme se, jak vytvořit inventář v Ansible a poté je propojit s cílovými vzdálenými hostiteli. Implementovali jsme také příklad, abychom snadno porozuměli konceptům inventáře Ansible.