GNU/Linux >> Znalost Linux >  >> Linux

Nainstalujte a nakonfigurujte Ansible v Linuxu

Tento průvodce vás krok za krokem provede kroky k instalaci a konfiguraci Ansible v Linuxu. Také vysvětluje, jak nastavit Ansible homelab v Linuxu, abyste se naučili základy ansible.

1. Úvod

Ansible je nástroj pro automatizaci IT, jehož prostřednictvím můžete automatizovat „N“ počet úloh ve vašem softwarovém prostředí. Chcete-li vědět, co je Ansible a jeho funkce, podívejte se na naše "Úvod do Ansible" průvodce.

Ansible je samozřejmě navržen pro správu konfigurace ve velkém měřítku. Pokud je vaším cílem učit se a rychle znovu vytvořit své prostředí, pak jste na správné cestě!

Ansible je bez agenta architektura. To znamená - na spravovaných uzlech neběží žádní příslušní agenti/procesy.

Jak jsem již zmínil v úvodním článku Ansile, v ansible existují dva typy uzlů.

  • Uzel Master/Controller - Server/pracovní stanice, na které bude nainstalován ansible. Z tohoto uzlu budete spouštět všechny ansible playbooky a ansible příkazy.
  • Spravované uzly - Seznam hostitelů, kteří budou spravováni pomocí ansible.

Všechny spravované uzly nemusí být spuštěny se stejnou distribuční verzí nebo typem. Jako spravované uzly můžete mít různé varianty Linuxu.

Komunikace mezi kontrolérem a spravovanými uzly bude probíhat pomocí ověření pomocí klíče ssh .

Tato praktická příručka vás naučí, jak nastavit laboratoř Ansible v distribucích Linuxu.

Poznámka:

  1. Nemůžete používat okna jako uzel ovladače.
  2. Je možné nakonfigurovat více uzlů ovladače.

Než začnu s Ansible, dovolte mi ukázat vám obrazovou reprezentaci mého nastavení domácí laboratoře Ansible.

2. Architektonický diagram pro 3uzlovou ansible lab

Následující grafická ilustrace vám pěkně názorně znázorňuje, jak bude laboratoř vypadat.

Pro demonstrační účely nastavuji uzel Controller na Ubuntu 20.04 a 2 spravované uzly na CentOS 8 a Ubuntu 21.04.

3. Nainstalujte a nakonfigurujte Ansible v Linuxu

Nejprve uvidíme, jak nastavit Ansible spravovaný uzel v Linuxu.

3.1. Nainstalujte Ansible v Linuxu

Protože Ansible je napsán v Pythonu, váš počítač s Linuxem by měl mít nainstalovaný python, aby ansible fungoval.

Naštěstí jsou všechny distribuce Linuxu dodávány s předinstalovaným Pythonem. Ansible podporuje jak Python 2.7, tak Python 3.5 a vyšší.

Chcete-li zkontrolovat, jaká verze pythonu je na vašem počítači nainstalována, můžete použít následující příkazy. Výstup se může lišit v závislosti na tom, jak je python nastaven ve vaší distribuci.

$ which python python2 python3
/usr/bin/python2
/usr/bin/python3

Zkontrolujte verzi Pythonu:

$ python2 --version
Python 2.7.18rc1
$ python3 --version
Python 3.8.5
$ compgen -c python | grep -P '^python..\d'
python3.8
python3.8-config
python2.7

Ansible v Linuxu můžete nainstalovat dvěma způsoby.

  1. Použití správce balíčků operačního systému
  2. Pomocí PIP - Správce balíčků Pythonu

3.1.1. Nainstalujte Ansible pomocí správce systémových balíčků

Nejprve uvidíte, jak použít správce balíčků vaší distribuce k instalaci ansible. Na základě vaší distribuce Linuxu spusťte následující příkazy.

Nainstalujte Ansible v Arch Linux, EndeavourOS, Manjaro Linux:

$ sudo pacman -S ansible

Debian:

Upravte /etc/apt/sources.list soubor:

$ sudo nano /etc/apt/sources.list

Přidejte následující řádek:

deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main

Poté spusťte následující příkazy:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
$ sudo apt update
$ sudo apt install ansible

Fedora:

$ sudo dnf install ansible

CentOS, RHEL, AlmaLinux, Rocky Linux:

$ sudo dnf install epel-release
$ sudo dnf install ansible

Ubuntu a jeho deriváty:

$ sudo apt update
$ sudo apt install software-properties-common
$ sudo add-apt-repository --yes --update ppa:ansible/ansible
$ sudo apt install ansible

Vaše distribuce může být dodávána se zastaralou verzí Ansible. Chcete-li do svého systému nainstalovat aktualizovanou verzi Ansible, můžete použít Pip , správce balíčků pythonu.

3.1.2. Nainstalujte Ansible pomocí Pip

Nejprve ověřte, zda je nainstalován PIP spuštěním následujících příkazů:

$ which pip pip3
/usr/bin/pip
/usr/bin/pip3
$ pip --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
$ pip3 --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

Pokud PIP není nainstalován, spusťte jej pomocí následujících příkazů.

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python3 get-pip.py --user

Jakmile je PIP nainstalován, spusťte následující příkaz pro instalaci ansible:

$ sudo python3 -m pip install ansible

Tím se nainstaluje nejnovější verze Ansible.

Můžete také nainstalovat konkrétní verzi Ansible, například 2.9, jako níže:

$ sudo python3 -m pip install 'ansible==2.9'

Po instalaci Ansible spusťte následující příkaz a zkontrolujte verzi ansible:

$ ansible --version

Tento příkaz poskytuje informace o tom, kde je váš hostitelský soubor, konfigurační soubor a binární soubor ansible a jaká verze Ansible je nainstalována.

Ukázkový výstup:

ansible 2.9.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/karthick/.ansible/plugins/modules',
  '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.8/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]

3.2. Nakonfigurujte Ansible

Jak bylo uvedeno dříve, Ansible bude komunikovat se spravovanými uzly pomocí ssh autentizační protokol.

Vytvoříme pár klíčů ssh a rozmístíme je mezi všechny spravované uzly. Takže kdykoli je odeslán ansible příkaz, ověří se pomocí těchto klíčů u spravovaných uzlů.

3.2.1. Vygenerujte pár klíčů SSH pro spravované uzly

Vytvořte nového uživatele s názvem ansible v řadiči i ve spravovaných uzlech.

$ sudo useradd ansible               ##create user 
$ sudo passwd ansible                ##set password for ansible user.

Přihlaste se/přepněte se jako uživatel a vytvořte pár klíčů ssh pomocí příkazů:

$ su - ansible
$ ssh-keygen -t rsa

Tento příkaz vygeneruje dvojici klíčů SSH.

Nyní distribuujte veřejný klíč do všech spravovaných uzlů.

Můžete použít ssh-copy-id příkaz pro zkopírování veřejného klíče do cílového uzlu.

Chcete-li zkopírovat veřejný klíč do cílového uzlu pomocí příkazu ssh-copy-id, spusťte:

$ ssh-copy-id -i ~/.ssh/id_rsa [email protected]

Pokud máte více uzlů, použijte for loop pro zkopírování klíče ssh do všech cílových uzlů.

Pro účely této příručky mám 2 spravované uzly a pojmenoval jsem je centos1 (centos8) a ubuntu1 (Ubuntu 20.04). Ke zkopírování klíče do obou uzlů jsem použil následující kód:

$ for node in centos1 ubuntu1; do ssh-copy-id -i /home/ansible/.ssh/id_rsa [email protected]${node} done

Nyní se přihlaste ke svému spravovanému uzlu a zkontrolujte, zda ověřování na základě klíče funguje správně.

$ ssh [email protected]

Nyní je možné nastavení dokončeno. Jako další krok by měl být vytvořen soubor inventáře a spouštět některé ansible příkazy proti spravovaným hostitelům.

3.2.2. Otestujte konfiguraci Ansible

Ansible má dva důležité soubory, které jsou nutné k odeslání Adhoc nebo příručka příkazy.

  1. Ansible.cfg - přípustný konfigurační soubor.
  2. Hosts – Soubor inventáře, kde jsou uvedeny podrobnosti o hostiteli.

Podrobněji o konfiguračních a inventárních souborech diskutujte v samostatném článku. V tuto chvíli ke spuštění prvního příkazu ansible stačí přidat názvy hostitelů spravovaných uzlů do souboru inventáře.

Konfigurační soubor Ansible se nachází v /etc/ansible/ansible.cfg soubor. Tyto podrobnosti můžete také získat spuštěním ansible version příkaz:

$ ansible --version
ansible 2.9.0
 config file = /etc/ansible/ansible.cfg
 configured module search path = ['/home/karthick/.ansible/plugins/modules',
'/usr/share/ansible/plugins/modules']
 ansible python module location = /usr/local/lib/python3.8/dist-packages/ansible
 executable location = /usr/local/bin/ansible
 python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]

Otevřete ansible.cfg soubor a vyhledejte seznam parametrů. Na tento parametr bude odkazovat ansible během běhu, aby získal cestu k souboru inventáře.

$ sudo grep -iw "^#Inventory" /etc/ansible/ansible.cfg
#inventory        = /etc/ansible/hosts

Inventář ve výchozím nastavení odkazuje na /etc/ansible/hosts soubor. Otevřete hosts a přidejte název hostitele/IP adresu spravovaného uzlu.

Mám mapování DNS na IP, takže jsem uvedl název dns v souboru hostitele. Můžete také zadat IP adresu.

Vše je nastaveno tak, aby náš úkol běžel v ansible!

Podobné jako "Hello world" program v programování, ansible má také tradici spouštění ping module jako první příkaz ke kontrole konektivity mezi řadičem a spravovanými uzly.

ping modul se pokusí dosáhnout spravovaných uzlů a zkontroluje, zda je k dispozici nějaký pythonový interpret, který lze použít a reagovat jako pong .

$ ansible all -m ping

Můžete také explicitně zadat soubor hostitelů pomocí -i příznak jako níže:

$ ansible all -m ping -i flag <path-to-host-file>

Nyní můžete začít hrát s jakýmkoliv modulem, se kterým chcete hrát.

Pokud chcete přidat více uzlů řadiče, stačí zkopírovat klíč SSH z uzlu řadiče do nového uzlu a přidat položku IP/DNS do souboru hostitele. A pak může ansible začít sbírat nově přidaný spravovaný uzel. Je to jednoduché!

Závěr

V této příručce jsme diskutovali o tom, jak nainstalovat a nakonfigurovat Ansible v Linuxu. Také jsme vám ukázali, jak ručně nastavit tříuzlovou domácí laboratoř Ansible.

Existují další automatizovaná řešení, jako je nastavení ansible laboratoře pomocí Vagrant nebo Docker . Těmto tématům se budeme věnovat v našich nadcházejících článcích.

Ansible je rozsáhlé téma! Probrali jsme pouze základy Ansible. Podívejte se na oficiální dokumentaci Ansible se dozvíte více o použití Ansible.

Další informace:

  • Automatické nastavení Ansible Lab pomocí Vagrant a Virtualbox v Linuxu
  • Ansible Inventory and Configuration Files

Linux
  1. Jak nainstalovat a otestovat Ansible na Linuxu

  2. Jak nainstalovat a nakonfigurovat Ansible na Fedoře 35

  3. 12 kroků k instalaci a konfiguraci Alfresco na UNIX / Linux

  1. Jak nainstalovat a nakonfigurovat Ansible na Windows

  2. Jak nainstalovat a nakonfigurovat Ansible na Rocky Linux/CentOS 8

  3. Jak nainstalovat a nakonfigurovat EMC PowerPath v systému Linux

  1. Jak nainstalovat a nakonfigurovat Ansible na Redhat Enterprise Linux 8

  2. Jak nainstalovat a nakonfigurovat Nagios na Linuxu

  3. Jak nainstalovat a nakonfigurovat Memcached na Ubuntu Linux