Ansible je bezplatná a open source automatizační platforma, kterou používají správci systému k instalaci, konfiguraci a poskytování více systémů najednou. V dnešní době jsou IT prostředí velmi složitá a často potřebují extrémně rychlé škálování. Automatizace usnadňuje práci systémových administrátorů a vývojářů a umožňuje jim soustředit pozornost na jiné úkoly, které přidávají hodnotu organizaci. Ansible se velmi snadno nastavuje a používá; k používání Ansible nepotřebujete žádné kódovací dovednosti.
V tomto příspěvku vám ukážeme, jak nainstalovat Ansible na Oracle Linux 8.
Předpoklady
- Server se systémem Oracle Linux 8 na cloudové platformě Atlantic.Net. Toto bude váš uzel správce
- Druhý server se systémem Oracle Linux 8 na cloudové platformě Atlantic.Net. Toto bude váš pracovní uzel
- Heslo uživatele root nakonfigurované na vašem serveru
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Oracle Linux 8 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte na svůj server, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
dnf update -y
Krok 2 – Nastavení ověřování pomocí klíče SSH
Před spuštěním budete muset nastavit přihlášení bez hesla SSH mezi řídicím uzlem Ansible a manažerským uzlem. Můžete to udělat nastavením ověřování pomocí klíče SSH.
Nejprve vygenerujte soukromý a veřejný klíč pomocí následujícího příkazu:
ssh-keygen -t rsa
Měli byste vidět následující výstup:
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:0qOchzAC0Asm8WPlduL7ZxN6C5NUelScBo2nYVuqPMs [email protected] The key's randomart image is: +---[RSA 3072]----+ |oo . .=.. | |+o.o +.B | |+.+.+ ..oO | | o.+ o =+ | | . +.+.S | | . *+B.. | | ..O+.. | | .E+= | | .+.o | +----[SHA256]-----+
Dále zkopírujte vygenerovaný veřejný klíč do spravovaných uzlů Ansible pomocí následujícího příkazu:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Měli byste vidět následující výstup:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established. ECDSA key fingerprint is SHA256:4K4sZbu1hLHzDGlwmWAJng6nDbxDqp6hnv65KDaOAn0. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys [email protected]'s password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh '[email protected]<server-ip>'" and check to make sure that only the key(s) you wanted were added.
Nyní spusťte následující příkaz a otestujte přihlášení bez hesla SSH:
ssh [email protected]
Krok 3 – Instalace Ansible na Oracle Linux 8
Nyní budete muset nainstalovat balíček Ansible na ovládací uzel Ansible. Ve výchozím nastavení není balíček Ansible k dispozici ve výchozím úložišti Oracle Linux 8, takže jej budete muset nainstalovat z úložiště EPEL.
Nejprve nainstalujte EPEL repo pomocí následujícího příkazu:
dnf install -y epel-release
Dále nainstalujte balíček Ansible pomocí následujícího příkazu:
dnf install ansible -y
Po instalaci Ansible ověřte verzi Ansible pomocí následujícího příkazu:
ansible --version
Měli byste vidět následující výstup:
ansible 2.9.27 config file = /etc/ansible/ansible.cfg configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python3.6/site-packages/ansible executable location = /usr/bin/ansible python version = 3.6.8 (default, Nov 10 2021, 06:50:23) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3.0.2)]
Krok 4 – Konfigurace Ansible Hosts
Dále budete muset upravit konfigurační soubor Ansible hosts a definovat vzdálený server Linux, který chcete spravovat.
Můžete jej upravit pomocí následujícího příkazu:
nano /etc/ansible/hosts
Přidejte následující řádky:
[web] server1 ansible_ssh_host=<manager-node-ip> ansible_ssh_port=22 ansible_ssh_user=root [database] dbserver1 ansible_ssh_host=<worker-node-ip> ansible_ssh_port=22 ansible_ssh_user=root
Po dokončení uložte a zavřete soubor.
Dále upravte konfigurační soubor Ansible a vypněte upozornění na ukončení podpory a kontrolu hostitelského klíče:
nano /etc/ansible/ansible.cfg
Přidejte následující řádek pod [výchozí]:
deprecation_warnings=False host_key_checking = False
Po dokončení uložte a zavřete soubor.
Krok 5 – Jak používat Ansible
V tomto okamžiku je Ansible nainstalován a nakonfigurován. Nyní budete muset zkontrolovat funkčnost Ansible pomocí ad-hoc příkazů Ansible:
Nejprve zkontrolujte připojení všech spravovaných uzlů pomocí následujícího příkazu:
ansible -m ping all
Pokud je vše v pořádku, měli byste vidět následující výstup:
dbserver1 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" } server1 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
Pokud chcete pouze zkontrolovat připojení k databázovému serveru, spusťte následující příkaz:
ansible -m ping database
Získáte následující výstup:
dbserver1 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
Chcete-li zkontrolovat volnou paměť na uzlu webového serveru, spusťte následující příkaz:
ansible -m shell -a "free -m" web
Získáte následující výstup:
server1 | CHANGED | rc=0 >> total used free shared buff/cache available Mem: 1817 621 210 21 985 1006 Swap: 0 0 0
Chcete-li zkontrolovat verzi MySQL na uzlu databázového serveru, spusťte následující příkaz:
ansible -m shell -a "mysqladmin --version" database
Měli byste vidět následující výstup:
dbserver1 | CHANGED | rc=0 >> mysqladmin Ver 8.0.26 for Linux on x86_64 (Source distribution)
Krok 6 – Vytvořte Ansible Playbook pro instalaci balíčků na spravované uzly
Ansible nám umožňuje vytvořit playbook pro definování všech úkolů, které chceme provádět na spravovaných uzlech. Nejprve vytvořte adresář, do kterého uložíte svůj playbook.
mkdir project
Dále přejděte do vytvořeného adresáře a vytvořte soubor YAML pomocí následujícího příkazu:
cd project nano app.yaml
Přidejte následující konfiguraci:
- name: Install Packages hosts: - web - database tasks: - name: Install php and nginx package: name: - php - httpd state: present
Uložte a zavřete soubor a poté spusťte playbook pomocí následujícího příkazu:
ansible-playbook app.yaml
Jakmile se Ansible playbook úspěšně spustí, získáte následující výstup:
PLAY [Install Packages] ********************************************************************************************************************** TASK [Gathering Facts] *********************************************************************************************************************** ok: [server1] ok: [dbserver1] TASK [Install php and apache] **************************************************************************************************************** ok: [server1] changed: [dbserver1] PLAY RECAP *********************************************************************************************************************************** dbserver1 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 server1 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Nyní můžete ověřit verzi PHP na uzlu webového serveru pomocí následujícího příkazu:
ansible -m shell -a "php -v" web
Získáte následující výstup:
server1 | CHANGED | rc=0 >> PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Závěr
V této příručce jsme vysvětlili, jak nainstalovat Ansible na Oracle Linux 8. Také jsme vysvětlili, jak používat Ansible ad-hoc příkazy a playbook k poskytování spravovaných uzlů. Nyní můžete Ansible používat ke snadnému poskytování a správě celé vaší IT infrastruktury. Zkuste to na VPS hostingu od Atlantic.Net!