ProHoster > Blog > podávání > Použití zásuvných modulů inventáře z Ansible Content Collections v Ansible Tower
Použití zásuvných modulů inventáře z Ansible Content Collections v Ansible Tower
IT prostředí jsou stále složitější. Za těchto podmínek je pro automatizační systém IT zásadní mít aktuální informace o uzlech, které jsou přítomny v síti a podléhají zpracování. V Red Hat Ansible Automation Platform je tento problém vyřešen prostřednictvím tzv. inventáře (inventář) – seznamy spravovaných uzlů.
Ve své nejjednodušší podobě je inventář statický soubor. To je ideální, když začínáte pracovat s Ansible, ale jak se automatizace zvyšuje, stává se nedostatečným.
A proč:
Jak aktualizujete a udržujete úplný seznam monitorovaných uzlů, když se věci neustále mění, když pracovní zátěž – a následně uzly, na kterých běží – přicházejí a odcházejí?
Jak klasifikovat komponenty IT infrastruktury, aby bylo možné konkrétně vybrat uzly pro aplikaci konkrétní automatizace?
Dynamický inventář poskytuje odpovědi na obě tyto otázky (dynamický inventář) – skript nebo plugin, který hledá uzly, které mají být automatizovány, odkazující na zdroj pravdy. Kromě toho dynamický inventář automaticky klasifikuje uzly do skupin, takže můžete přesněji vybrat cílové systémy pro provádění konkrétní automatizace Ansible.
Zásuvné moduly pro inventář dát uživateli Ansible možnost přístupu k externím platformám pro dynamické vyhledávání cílových uzlů a použití těchto platforem jako zdroje pravdy při vytváření inventáře. Standardní seznam zdrojů v Ansible zahrnuje cloudové platformy AWS EC2, Google GCP a Microsoft Azure a existuje také mnoho dalších inventárních pluginů pro Ansible.
Ansible Tower přichází s řadou inventární pluginy, které fungují hned po vybalení a kromě výše uvedených cloudových platforem poskytují integraci s VMware vCenter, Red Hat OpenStack Platform a Red Hat Satellite. Pro tyto pluginy stačí poskytnout přihlašovací údaje pro připojení k cílové platformě, poté je lze použít jako zdroj dat o inventáři v Ansible Tower.
Kromě standardních pluginů, které jsou součástí Ansible Tower, existují další pluginy pro inventář podporované komunitou Ansible. S přechodem na Red Hat Ansible Content Collections tyto pluginy začaly být zahrnuty do odpovídajících kolekcí.
V tomto příspěvku si vezmeme příklad práce s pluginem inventáře pro ServiceNow, populární platformu pro správu IT služeb, ve které zákazníci často ukládají informace o všech svých zařízeních v CMDB. Kromě toho může CMDB obsahovat kontext, který je užitečný pro automatizaci, jako jsou informace o vlastníkech serverů, úrovních služeb (výrobní/nevýrobní), instalovaných aktualizacích a oknech údržby. Plugin inventáře Ansible může pracovat s ServiceNow CMDB a je součástí kolekce služebník na portálu galaxy.ansible.com.
Git úložiště
Chcete-li použít plugin inventáře z kolekce v Ansible Tower, musí být nastaven jako zdroj projektu. V Ansible Tower je projekt integrací s nějakým druhem systému správy verzí, jako je úložiště git, které lze použít k synchronizaci nejen automatizačních sešitů, ale také proměnných a seznamů inventáře.
Soubor servicenow.yml obsahuje podrobnosti o inventáři pluginů. V našem případě jednoduše specifikujeme tabulku v ServiceNow CMDB, kterou chceme použít. Nastavíme také pole, která budou přidána jako proměnné uzlů, plus určité informace o skupinách, které chceme vytvořit.
Upozorňujeme, že toto neurčuje instanci ServiceNow, ke které se jakýmkoli způsobem připojíme, a neurčuje žádné přihlašovací údaje pro připojení. To vše nakonfigurujeme později v Ansible Tower.
Soubor collections/requirements.yml potřebné k tomu, aby si Ansible Tower mohla stáhnout požadovanou sbírku a získat tak požadovaný inventární plugin. Jinak bychom museli ručně nainstalovat a udržovat tuto kolekci na všech našich uzlech Ansible Tower.
Jakmile tuto konfiguraci přesuneme do správy verzí, můžeme vytvořit projekt v Ansible Tower, který odkazuje na odpovídající úložiště. Níže uvedený příklad propojuje Ansible Tower s naším úložištěm github. Věnujte pozornost adrese URL SCM: umožňuje vám zaregistrovat účet pro připojení k soukromému úložišti a také zadat konkrétní pobočku, značku nebo potvrzení k odhlášení.
Vytváření přihlašovacích údajů pro ServiceNow
Jak již bylo zmíněno, konfigurace v našem úložišti neobsahuje přihlašovací údaje pro připojení k ServiceNow a neurčuje instanci ServiceNow, se kterou budeme komunikovat. Proto pro nastavení těchto údajů vytvoříme přihlašovací údaje v Ansible Tower. Podle Dokumentace k inventárnímu pluginu ServiceNow, existuje řada proměnných prostředí, pomocí kterých nastavíme parametry připojení, například takto:
= username
The ServiceNow user account, it should have rights to read cmdb_ci_server (default), or table specified by SN_TABLE
set_via:
env:
- name: SN_USERNAME
V tomto případě, pokud je nastavena proměnná prostředí SN_USERNAME, plugin inventáře ji použije jako účet pro připojení k ServiceNow.
Musíme také nastavit proměnné SN_INSTANCE a SN_PASSWORD.
Takže jsme definovali typ pověření, který potřebujeme, nyní můžeme přidat účet ServiceNow a nastavit instanci, uživatelské jméno a heslo takto:
Vytváříme inventář
Nyní jsme tedy všichni připraveni vytvořit inventář v Ansible Tower. Říkejme tomu ServiceNow:
Po vytvoření inventáře k němu můžeme připojit zdroj dat. Zde specifikujeme projekt, který jsme vytvořili dříve, a zadáme cestu k našemu inventárnímu souboru YAML v úložišti kontroly zdroje, v našem případě je to servicenow.yml v kořenu projektu. Kromě toho musíte propojit svůj účet ServiceNow.
Chcete-li zkontrolovat, jak vše funguje, zkusme synchronizaci se zdrojem dat kliknutím na tlačítko „Synchronizovat vše“. Pokud je vše správně nakonfigurováno, měly by být uzly importovány do našeho inventáře:
Upozorňujeme, že skupiny, které potřebujeme, byly také vytvořeny.
Závěr
V tomto příspěvku jsme se podívali na to, jak používat pluginy inventáře z kolekcí v Ansible Tower pomocí pluginu ServiceNow jako příkladu. Také jsme bezpečně zaregistrovali přihlašovací údaje pro připojení k naší instanci ServiceNow. Propojení inventárního pluginu z projektu funguje nejen s pluginy třetích stran nebo vlastními pluginy, ale lze jej také použít k úpravě provozu některých standardních inventářů. Díky tomu se Ansible Automation Platform snadno a bezproblémově integruje se stávajícími nástroji při automatizaci stále složitějších IT prostředí.
Více informací o tématech diskutovaných v tomto příspěvku, stejně jako o dalších aspektech používání Ansible, naleznete zde: