Ansible je automatizační nástroj pro správu více vzdálených hostitelů z jednoho počítače. Poskytuje vám snadnou konfiguraci pro velký počet vzdálených hostitelů. Pokud například provádíte stejné úkoly na více počítačích, Ansible vám poskytuje možnost automatizovat tyto úkoly.
Tento tutoriál vám pomůže nainstalovat Ansible na systémy Ubuntu 16.04 (Xenial) LTS.
Krok 1 – Konfigurace přístupu SSH
Můžete nakonfigurovat ssh založené na klíči pro vzdálené hostitele Linux Ansible. Pro SSH tedy nebude vyžadováno heslo. Ansible vám také umožňuje používat heslo pro ssh, ale ssh založené na klíči je bezpečnější.
Vygenerujte pár klíčů ssh na vašem serveru Ansible:
ssh-keygen
Zkopírujte veřejný klíč na všechny vaše vzdálené hostitele, ke kterým se potřebujete připojit pomocí tohoto klíče ssh.
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]_host
Krok 2 – Nainstalujte Ansible na Ubuntu 16.04
Ansible poskytuje svůj oficiální PPA pro instalaci na systémy Ubuntu. Spusťte následující příkaz pro konfiguraci Ansible PPA pro váš systém Ubuntu 18.04.
sudo apt-add-repository ppa:ansible/ansible
Poté spusťte následující příkazy pro instalaci Ansible:
sudo apt update sudo apt install ansible
Krok 3 – Konfigurace Ansible Hosts &Groups
Váš server je připraven s Ansible pro vzdálenou správu hostitelů a automatizaci. Můžete mít řadu hostitelů, které potřebujete, a spravovat je pomocí jediného serveru Ansible.
Zde musíte definovat své vzdálené systémy v souboru Ansible hosts (/etc/ansible/hosts). Můžete také vytvořit skupiny hostitelů s podobnými typy. Zde musíte své hostitele správně uspořádat do skupin. Skupiny se používají k provádění jedné úlohy na všech pod ní definovaných vzdálených hostitelích.
Upravit konfigurační soubor Ansible hosts. Například:
sudo nano /etc/ansible/hosts
Přidejte své hostitele a uspořádejte je do skupin. Hostitele lze přidat do více skupin .
[webservers] web-host1 web-host2 [dbservers] db-host1
Níže uvedený obrázek vám pomůže porozumět skupině a hostitelům pod skupinou.
Konfigurace proměnných jednoho hostitele
Musíte definovat nastavení pro vaše hostitele. Soubor specifický pro hostitele musí mít stejný název jako hostitel (např.:web-host1) v adresáři host_vars.
sudo mkdir /etc/ansible/host_vars sudo vi /etc/ansible/host_vars/web-host1
Přidejte do tohoto souboru nastavení SSH pro web-host1.
ansible_ssh_host: 192.168.1.15 ansible_ssh_port: 22 ansible_ssh_user: root
V případě, že jste nepoužili krok 1 pro připojení ssh pro tohoto hostitele. Můžete také přidat jednu z níže uvedených metod do konfiguračního souboru web-hosts1 pro ověření.
ansible_ssh_pass: secret_password ansible_ssh_private_key_file: /home/rahul/.ssh/aws.pem
Konfigurace proměnných skupiny
V rámci skupinových konfigurací můžete nakonfigurovat společné proměnné nastavení skupiny. Název souboru skupiny musí být stejný jako název skupiny (např.:webservers) pod group_vars
adresář.
sudo mkdir /etc/ansible/group_vars sudo vi /etc/ansible/group_vars/webservers
Přidejte do tohoto souboru společné proměnné používané všemi hostiteli přidanými do této skupiny.
ansible_ssh_port: 22 ansible_ssh_user: root
Krok 4 – Test Ansible Setup
Vaše nastavení Ansible je připraveno k testování. Chcete-li otestovat připojení všech hostitelů pomocí modulu ping, jako:
ansible -m ping all
Chcete-li otestovat připojení pro konkrétního hostitele nebo skupinu hostitelů
ansible -m ping web-host1 ## Specific host ansible -m ping webservers ## Specific group
Můžete také spustit příkaz pomocí modulu shell. Otestujte například volnou paměť na web-host1. Stejný úkol můžete provést také pro skupinu. Stačí místo názvu hostitele použít název skupiny.
ansible -m shell -a 'free -m' web-host1