Ansible je bezplatný nástroj pro konfiguraci a automatizaci s otevřeným zdrojovým kódem pro operační systém typu UNIX. Je napsán v pythonu a podobně jako Chef nebo Puppet, ale existuje jeden rozdíl a výhoda Ansible je, že na uzly nemusíme instalovat žádného agenta. Pro komunikaci se svými uzly používá SSH.
V tomto článku si ukážeme, jak nainstalovat a nakonfigurovat Ansible v CentOS 7 a pokusíme se spravovat jeho dva uzly.
Ansible Server – ansible.linuxtechi.com ( 192.168.1.15 )
Uzly – 192.168.1.9 , 192.168.1.10
Krok:1 Nastavení úložiště EPEL
Balíček Ansible není k dispozici ve výchozích repozitářích yum, takže povolíme úložiště epel pro CentOS 7 pomocí níže uvedených příkazů
[[email protected] ~]# yum install epel-release -y
Krok:2 Nainstalujte Anisble pomocí příkazu yum
[[email protected] ~]# yum install ansible
Po dokončení instalace zkontrolujte ansible verzi :
[[email protected] ~]# ansible --version
Krok:3 Nastavovací klíče založené na ověřování SSH s uzly.
Vygenerujte klíče na serveru Ansible a zkopírujte veřejný klíč do uzlů.
[email protected] ~]# ssh-keygen
Pomocí příkazu ssh-copy-id zkopírujte veřejný klíč serveru Ansible do jeho uzlů.
Krok:4 Definujte uzly nebo inventář serverů pro Ansible.
Soubor ‘/etc/ansible/hosts ‘ udržuje inventář serverů pro Ansible.
[[email protected] ~]# vi /etc/ansible/hosts [test-servers] 192.168.1.9 192.168.1.10
Uložte a ukončete soubor.
Ukázkový výstup souboru hostitelů.
Krok:5 Nyní zkuste spustit příkazy ze serveru Ansible.
Zkontrolujte konektivitu „testovacích serverů“ nebo ansible uzlů pomocí ping
[[email protected] ~]# ansible -m ping 'test-servers'
Provádění příkazů Shell:
Příklad:1 Kontrola doby provozuschopnosti uzlů Ansible
[[email protected] ~]# ansible -m command -a "uptime" 'test-servers'
Příklad:2 Kontrola verze jádra uzlů
[[email protected] ~]# ansible -m command -a "uname -r" 'test-servers'
Příklad:3 Přidání uživatele do uzlů
[[email protected] ~]# ansible -m command -a "useradd mark" 'test-servers' [[email protected] ~]# ansible -m command -a "grep mark /etc/passwd" 'test-servers'
Příklad:4 Přesměrování výstupu příkazu do souboru
[[email protected] ~]# ansible -m command -a "df -Th" 'test-servers' > /tmp/command-output.txt
Přečtěte si také: Jak stáhnout a používat role Ansible Galaxy v Ansible Playbook