Ansible je bezplatný a opensource nástroj pro automatizaci a konfiguraci IT. Je k dispozici pro téměř všechny distribuce Linuxu a lze jej použít ke správě systémů Linux a Windows. Nyní se Ansible také používá ke správě instancí EC2 v AWS, virtuálních počítačích a kontejnerech atd. Nevyžaduje žádného agenta na spravovaných hostitelích, ale vyžaduje pouze připojení ssh.
V tomto článku se budeme zabývat tím, jak nainstalovat nejnovější verzi Ansible na Ubuntu 20.04 LTS / 21.04
Systémové požadavky pro Ansible
- Minimálně nainstalovaný Ubuntu 20.04 LTS / 21.04
- uživatel sudo s právy root
- 2 CPU / vCPU
- 2 GB RAM nebo více
- 20 GB pevný disk
- Připojení k internetu (v případě, že nemáte lokálně nakonfigurovaný server úložiště apt)
Níže jsou uvedeny podrobnosti o nastavení mé laboratoře pro možnou ukázku.
- Ansible Control Node – control.example.com (192.168.1.112)
- Spravované uzly Ansible – node1.example.com &node2.example.com
- sysops sudo uživatele na ovládání a spravované uzly s oprávněními.
Poznámka:Zde uzel1 je systém Ubuntu a uzel2 je systém CentOS a řídicí uzel je systém, kam nainstalujeme ansible. Předpokládám, že sysops je již vytvořen na každém hostiteli.
Chcete-li nakonfigurovat uživatele sudo (sysops), aby spouštěl všechny příkazy bez výzvy k zadání hesla, spusťte následující příkaz na každém spravovaném hostiteli
echo "sysops ALL=(ALL) NOPASSWD:ALL"> /etc/sudoers.d/sysops
Pojďme se vrhnout na kroky instalace Ansible
Krok 1) Aplikujte aktualizace na řídicí uzel
Přihlaste se do systému Ubuntu 20.04 LTS / 21.04 a spusťte níže příkazy apt pro použití aktualizací.
$ sudo apt update$ sudo apt updgrade -y
Jakmile jsou všechny aktualizace nainstalovány, restartujte systém jednou.
Restart $ sudo
Krok 2) Nainstalujte závislosti a nakonfigurujte úložiště Ansible
Nainstalujte ansible závislosti spuštěním následujícího příkazu apt,
$ sudo apt install -y software-properties-common
Jakmile jsou závislosti nainstalovány, nakonfigurujte úložiště PPA pro ansible, spusťte
$ sudo add-apt-repository --yes --update ppa:ansible/ansible
Nyní aktualizujte úložiště spuštěním příkazu apt.
Aktualizace $ sudo apt
Krok 3) Nainstalujte nejnovější verzi ansible
Nyní jsme připraveni nainstalovat nejnovější verzi Ansible na Ubuntu 20.04 LTS / 21.04, spusťte následující příkaz.
$ sudo apt install -y ansible
Po úspěšné instalaci Ansible ověřte jeho verzi provedením příkazu
$ ansible --version
Skvělé, výše uvedený výstup potvrzuje, že je nainstalována verze Ansible 2.9.6.
Krok 4) Nastavte klíče SSH a sdílejte je mezi spravovanými uzly
Nyní vygenerujeme klíče SSH pro uživatele sysops z řídicího uzlu a sdílíme je mezi spravovanými hostiteli. Spusťte příkaz ssh-keygen
$ ssh-keygen
Při výzvě k zadání stiskněte Enter, výstup je zobrazen níže
Poznámka:Přidejte položky spravovaného hostitele do souboru /etc/hosts v řídicím uzlu. Toto je vyžadováno pouze v případě, že nemáte nakonfigurovaný místní server DNS.
192.168.1.115 uzel1.example.com192.168.1.120 uzel2.example.com
Chcete-li sdílet klíče ssh mezi ovládáním se spravovanými hostiteli, spusťte příklad příkazu ssh-copy-id, který je uveden níže
$ ssh-copy-id node1.example.com$ ssh-copy-id node2.example.com
Výstup výše uvedených příkazů bude vypadat takto
Krok 5) Vytvořte ansible cfg a soubor inventáře
Vždy se doporučuje mít pro každý projekt samostatný soubor ansible.cfg a inventář. Pro účely demonstrace používám demo jako název projektu. Nejprve tedy vytvořte složku projektu spuštěním příkazu mkdir.
$ mkdir demo
Zkopírujte výchozí soubor ansble.cfg do složky ~/demo,
$ cp /etc/ansible/ansible.cfg ~/demo/
Upravte soubor ~/demo/ansible.cfg, nastavte následující parametry
$ vi ~/demo/ansible.cfg
Ve výchozích sekcích
inventář =/home/sysops/demo/inventoryremote_user =sysopshost_key_checking =False
V sekci privilegia_escalation
become=Truebecome_method=sudobecome_user=rootbecome_ask_pass=False
Uložte a zavřete soubor. Nyní vytvoříme soubor inventáře, který jsme definovali v souboru ~/demo/ansible.cfg.
$ vi ~/demo/inventory[dev]uzel1.example.com[prod]uzel2.example.com
uložte a ukončete soubor
Nyní konečně instruujte ansible, aby použil soubor ansible.cfg demo projektu deklarováním proměnné ANSIBLE_CONFIG, spusťte následující příkazy,
$ export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg$ echo "export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg">> ~/.profile
Spusťte příkaz ansible –version ze složky demo a ověřte konfiguraci ansible
$ cd demo/$ ansible --version
Skvělé, Ansible nyní čte konfigurační soubor ansible našeho projektu. Pojďme ověřit konektivitu spravovaných uzlů pomocí příkazu ansible ad-hoc,
$ ansible all -m ping
Poznámka:Ujistěte se, že spusťte příkaz ansible ze složky demo.
Výstup příkazu bude vypadat následovně:
Tento výstup potvrzuje, že existuje konektivita od řídicího uzlu ke spravovaným hostitelům.
Krok 6) Vytvořte Ansible playbook pro instalaci balíčků na spravované hostitele
Pro ověření možné instalace a konfigurace vytvořte vzorovou příručku s názvem packages.yaml ve složce demo.
$ vi packages.yaml---- name:Playbook to Install Packages hostitelé: - dev - prod tasks: - name:Install php and mariadb package: name: - php - mariadb-server pre > state:uložte a zavřete soubor
Nyní spusťte playbook pomocí příkazu ansible-playbook,
$ ansible-playbook packages.yamlVýstup:
Výše uvedený výstup potvrzuje, že playbook byl úspěšně spuštěn. Chcete-li ověřit výsledek, spusťte následující ad-hoc příkazy
$ ansible dev -m shell -a 'dpkg -l | grep -E "php|mariadb"'$ ansible prod -m shell -a 'rpm -qa | grep -E "php|mariadb"'Tím je článek uzavřen. Pokud vám tento článek připadá informativní, neváhejte jej sdílet. V případě, že máte nějaký dotaz, napište jej do komentářů níže.
Přečtěte si také :Jak používat obslužné nástroje v Ansible Playbook
Jak nastavit soukromý registr dockerů na Ubuntu 20.04 Jak nainstalovat Minikube na Ubuntu 20.04 LTS / 21.04Ubuntu