GNU/Linux >> Znalost Linux >  >> Linux

Jak stáhnout a používat role Ansible Galaxy v Ansible Playbook

Ansible je v dnešní době nástrojem volby, pokud musíte spravovat více zařízení, ať už je to Linux, Windows, Mac, síťová zařízení, VMware a mnoho dalších. To, co dělá Ansible populární, je jeho méně funkcí a podrobné ovládání. Pokud jste pracovali s pythonem nebo máte zkušenosti s yaml , s Ansible se budete cítit jako doma. Chcete-li vidět, jak nainstalovat Ansible, klikněte sem.

Základní moduly Ansible vám umožní spravovat téměř cokoli, pokud si budete přát psát příručky, ale často se najde někdo, kdo již napsal roli pro problém, který se snažíte vyřešit. Vezměme si příklad, chcete spravovat klienty NTP na počítačích se systémem Linux, máte 2 možnosti, buď napsat roli, kterou lze aplikovat na uzly, nebo použítansible-galaxy ke stažení existující role, kterou pro vás již někdo napsal/otestoval. Ansible galaxie má role pro téměř všechny domény a ty řeší různé problémy. Můžete navštívit https://galaxy.ansible.com/ a získat představu o doménách a oblíbených rolích, které má. Každá role publikovaná v repozitáři galaxie je důkladně testována a byla ohodnocena uživateli, takže získáte představu, jak se líbila ostatním lidem, kteří ji používali.

Chcete-li pokračovat v pohybu s myšlenkou NTP, zde je návod, jak můžete vyhledat a nainstalovat roli NTP z galaxie.

Za prvé, spusťte ansible-galaxy s příznakem help, abyste zjistili, jaké možnosti nám dává

[[email protected] ~]# ansible-galaxy --help

Jak můžete vidět z výše uvedeného výstupu, ukázalo se několik zajímavých možností, protože hledáme roli pro správu klientů ntp, můžeme zkusit možnost vyhledávání, abychom viděli, jak dobře je nacházet to, co hledáme.

[[email protected] ~]# ansible-galaxy search ntp

Zde je zkrácený výstup příkazu výše.

Na základě našeho vyhledávání bylo nalezeno 341 shod, jak můžete vidět z výstupu výše, mnoho z těchto rolí ani nesouvisí s NTP, což znamená, že naše hledání potřebuje určité upřesnění, podařilo se mu vytáhnout některé role NTP, abychom se podívali hlouběji jaké jsou tyto role. Ale předtím mi dovolte, abych vám řekl konvenci pojmenování, která se zde dodržuje. Před názvem role je vždy uvedeno jméno autora, aby bylo snadné oddělit role se stejným názvem. Pokud jste tedy napsali roli NTP a publikovali jste ji v repozitáři galaxie, nebude se to míchat s někým jiným repozitářem se stejným názvem.

S tím mimo, pojďme pokračovat v naší práci na instalaci role NTP pro naše linuxové stroje. Zkusme bennojoy.ntp pro tento příklad, ale před jeho použitím musíme zjistit několik věcí, je tato role kompatibilní s verzí ansible, kterou používám. Také, jaký je stav licence této role. Abychom to zjistili, spusťte příkaz ansible-galaxy,

[[email protected] ~]# ansible-galaxy info bennojoy.ntp

ok, takže to říká, že minimální verze je 1.4 a licence je BSD, pojďme si ji stáhnout

[[email protected] ~]# instalace ansible-galaxy bennojoy.ntp- role stahování 'ntp', vlastněná bennojoy- role stahování z https://github.com/bennojoy/ntp/archive/master.tar. gz- extrahování bennojoy.ntp do /etc/ansible/roles/bennojoy.ntp- bennojoy.ntp (master) byl úspěšně nainstalován[[e-mail chráněn] ~]# seznam ansible-galaxy- bennojoy.ntp, master[[e-mail chráněn] ~]#

Pojďme najít nově nainstalovanou roli.

[[chráněn e-mailem] ~]# cd /etc/ansible/roles/bennojoy.ntp/[[chráněn e-mailem] bennojoy.ntp]# ls -ltotal 4drwxr-xr-x. 2 root root   21. května 21 22:38 defaultsdrwxr-xr-x. 2 root root   21. května 21 22:38 handlersdrwxr-xr-x. 2 kořenový kořen   48. května 21 22:38 meta-rw-rw-r--. 1 kořenový kořen 1328 20. dubna 2016 README.mddrwxr-xr-x. 2 root root   21. května 21. 22:38 taskdrwxr-xr-x. 2 root root   24. května 21 22:38 templatesdrwxr-xr-x. 2 root root   55 21. května 22:38 vars[[email protected] bennojoy.ntp]#

Chystám se spustit tuto nově staženou roli na mém uzlu Elasticsearch CentOS. Zde je můj soubor hosts

[[email protected] ~]# hostitelé kočky[CentOS]elastic7-01 ansible_host=192.168.1.15 ansibel_port=22 ansible_user=linuxtechi[[email protected] ~]#

Zkusme ping na uzel pomocí níže uvedeného modulu ansible ping,

[[e-mail chráněný] ~]# hostitelů ansible -m ping -i elastic7-01elastic7-01 | ÚSPĚCH => {    "changed":false,    "ping":"pong"}[[email protected] ~]#

Zde je, jak vypadá aktuální ntp.conf na elastickém uzlu.

[[email protected] ~]# head -30 /etc/ntp.conf

Protože jsem v Indii, pojďme přidat server in.pool.ntp.org na ntp.conf. Musel bych upravit proměnné ve výchozím adresáři role.

[[email protected] ~]# vi /etc/ansible/roles/bennojoy.ntp/defaults/main.yml

Změňte adresu NTP serveru v parametru „ntp_server“, po aktualizaci by měla vypadat takto.

Poslední věcí je nyní vytvořit můj playbook, který by tuto roli nazval.

[[email protected] ~]# vi ntpsite.yaml--- - name:Konfigurace NTP v systému CentOS/RHEL/Debian 

uložte a ukončete soubor

Nyní jsme připraveni spustit tuto roli, použijte níže uvedený příkaz ke spuštění ntp playbook,

[[email protected] ~]# hosts ansible-playbook -i ntpsite.yaml

Výstup výše uvedeného ntp ansible playbooku by měl být něco jako níže,

Nyní zkontrolujeme aktualizovaný soubor. přejděte do elastického uzlu a zobrazte obsah souboru ntp.conf

[[email protected] ~]# cat /etc/ntp.conf#Ansible manageddriftfile /var/lib/ntp/driftserver in.pool.ntp.orgrestrict -4 výchozí kód notrap nomodify nopeer noqueryrestrict -6 výchozí kód notrap nomodify nopeer noqueryrestrict 127.0.0.1[[e-mail chráněný] ~]#

V případě, že nenajdete roli splňující váš požadavek, ansible-galaxy vám může pomoci vytvořit adresářovou strukturu pro vaše vlastní role. To pomáhá vašim playbookům spolu s proměnnými, ovladači, šablonami atd. sestavenými do standardizované struktury souborů. Vytvořme si vlastní roli, vždy je dobré nechat ansible-galaxy vytvořit strukturu za vás.

[[email protected] ~]# init pk.backup-pk.backup ansible-galaxy byl úspěšně vytvořen[[email protected] ~]#

Ověřte strukturu své role pomocí příkazu tree,

Dovolte mi rychle vysvětlit, k čemu každý z těchto adresářů a souborů slouží, každý z nich slouží svému účelu.

Úplně první jsou výchozí adresář, který obsahuje soubory obsahující proměnné s má nejnižší prioritu, pokud jsou stejné proměnné přiřazeny v adresáři var, bude mít přednost před výchozím. Obslužné nástroje adresář hostí obslužné rutiny. soubor a šablony uchovejte všechny soubory, které může vaše role potřebovat ke zkopírování, a šablony jinja pro použití v učebnicích resp. Úkoly adresář je místo, kde jsou uloženy vaše sešity obsahující úkoly. Adresář var se skládá ze všech souborů, které hostí proměnné použité v roli. Adresář test se skládá ze vzorového inventáře a testovacích příruček, které lze použít k testování role. meta adresář sestává ze všech závislostí na jiných rolích spolu s informacemi o autorství.

Nakonec README.md soubor se jednoduše skládá z některých obecných informací, jako je popis a minimální verze ansible, se kterou je tato role kompatibilní.


Linux
  1. Jak používám Ansible a anacron pro automatizaci

  2. Jak nainstalovat a používat Ansible na Debian 11

  3. Jak používat Ansible k instalaci a konfiguraci Redis 6 na Debian 11

  1. Ansible Playbook:Jak vytvářet a konfigurovat Playbooky

  2. Jak vytvořit Ansible Playbook

  3. RHCE Ansible Series #9:Ansible Role

  1. Jak používat značky v Ansible Playbook (příklady)

  2. Jak spustit a naplánovat Ansible Playbook pomocí AWX GUI

  3. Jak používat proměnné v Ansible Playbook