GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Ansible na CentOS 8 Linux

Ansible je open source nástroj pro automatizaci IT, který se používá k automatizaci správy konfigurace, zajišťování, nasazování aplikací, orchestrace a mnoha dalších IT procesů bez nutnosti instalovat na klientské uzly nějaké agenty. Při komunikaci s klientskými uzly se spoléhá na protokol SSH. Ansible poskytuje snadné použití a instalaci ve srovnání s jinými podobnými nástroji, jako je loutka, kuchař, terraform atd., V tomto tutoriálu se naučíme, jak nainstalovat Ansible na CentOS 8 Linux a nakonfigurovat jej.

Instalovat Ansible na CentOS 8 Linux

Krok 1: Nainstalujte a povolte EPEL úložiště

[root@install-ansible ~]# dnf install epel-release -y

Krok 2: Stáhněte si vzdálený index balíčků do místní mezipaměti souborů, abyste urychlili následující dnf příkazy.

[root@install-ansible ~]# dnf makecache
CentOS Linux 8 - AppStream 2.6 kB/s | 4.3 kB 00:01
CentOS Linux 8 - BaseOS 2.6 kB/s | 3.9 kB 00:01
CentOS Linux 8 - Extras 1.0 kB/s | 1.5 kB 00:01
Extra Packages for Enterprise Linux 8 - x86_64 8.7 kB/s | 11 kB 00:01
Extra Packages for Enterprise Linux Modular 8 - x86_64 9.6 kB/s | 10 kB 00:01
Remi's Modular repository for Enterprise Linux 8 - x86_64 501 B/s | 833 B 00:01
Safe Remi's RPM repository for Enterprise Linux 8 - x86_64 802 B/s | 833 B 00:01
Metadata cache created.

Krok 3: Nainstalujte Ansible

[root@install-ansible ~]# dnf install ansible -y
Last metadata expiration check: 0:02:17 ago on Tue 01 Mar 2022 10:28:48 AM IST.
Dependencies resolved.
=============================================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================================
Installing:
ansible noarch 2.9.27-1.el8 epel 17 M
Installing dependencies:
python3-bcrypt x86_64 3.1.6-2.el8.1 epel 44 k
python3-jmespath noarch 0.9.0-11.el8 appstream 45 k
python3-pyasn1 noarch 0.3.7-6.el8 appstream 126 k
python3-pynacl x86_64 1.3.0-5.el8 epel 100 k
sshpass x86_64 1.06-9.el8 epel 27 k
Installing weak dependencies:
python3-paramiko noarch 2.4.3-1.el8 epel 289 k

Transaction Summary
=============================================================================================================================================================
Install 7 Packages
Installed:
  ansible-2.9.27-1.el8.noarch          python3-bcrypt-3.1.6-2.el8.1.x86_64    python3-jmespath-0.9.0-11.el8.noarch    python3-paramiko-2.4.3-1.el8.noarch
  python3-pyasn1-0.3.7-6.el8.noarch    python3-pynacl-1.3.0-5.el8.x86_64      sshpass-1.06-9.el8.x86_64

Complete!

 Krok 4: Ověřte instalaci ansible

[root@install-ansible ~]# ansible --version
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, Sep 10 2021, 09:13:53) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]

Konfigurovat Ansible na CentOS 8

Zvažte níže uvedenou architekturu pro tento tutoriál. Totéž můžete rozšířit na n počet klientů.

Správa/administrace klientů z Ansible Server

Pro správu klientů musí být nainstalován a spuštěn SSH. Porty SSH musí být otevřené a přístupné ze serveru Ansible.

Krok 5: Otevřete /etc/hosts soubor na ansible-server

V tomto článku budeme používat /etc/hosts soubor pro překlad DNS jmen klientů IP Addr.

[root@ansible-server ~]# vim /etc/hosts
Adresa IP nebo názvy DNS pro klienty

Ke správě můžete použít adresu IP nebo názvy DNS klientů

Přidejte níže uvedené položky na adresu IP klienta Ansible a název hostitele

10.180.10.122 ansible-client

Nastavení SSH Passwordless Authentication

Krok 6: Generujte klíče SSH na serveru Ansible (Management Node), aniž byste byli vyzváni k zadání přístupové fráze.

[centos@ansible-server ~]$ ssh-keygen -f id_rsa -t rsa -N ''
Generating public/private rsa key pair.
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:vqvgSILGrVxCDsLuORbJojxiYDEFEFlNQi5ZrHeqYhE centos@ansible-server
The key's randomart image is:
+---[RSA 3072]----+
|+B*o.            |
|.+.o.            |
|o.o              |
|oE. .            |
|++=o    S        |
|@*o    .         |
|OB+o.   .        |
|OX=o .   .       |
|*=+ . ..o.       |
+----[SHA256]-----+

Krok 7: Zkopírujte klíče SSH do Ansible Client

[centos@ansible-server ~]$ ssh-copy-id centos@ansible-client
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/centos/.ssh/id_rsa.pub"
The authenticity of host 'ansible-client (10.180.141.122)' can't be established.
ECDSA key fingerprint is SHA256:oDKa1jiDVmPzHmD0HqKr5v10xhalFVbklrdudxAFx5M.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/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
centos@ansible-client's password:

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'centos@ansible-client'"
and check to make sure that only the key(s) you wanted were added.
Výzva k zadání hesla pro uživatele centos na ansible-client

Poprvé zadejte přihlašovací heslo pro uživatele centos na Ansible-client. Po zkopírování klíčů SSH se budete moci přihlásit pomocí hesla

Krok 8: Ověřte připojení bez hesla

[centos@ansible-server ~]$ ssh centos@ansible-client
Last login: Tue Mar 1 05:57:15 2022 from 10.180.6.115
[centos@ansible-client ~]$

Krok 9:  Sudo přístup pro centos uživatel na ansible-client

Ujistěte se, že centos uživatel na ansible-client má sudo přístup bez hesla. To pomáhá spouštět jakýkoli root příkazy na ansible-client pomocí centos uživatel.

# visudo

## Add the below content
centos ALL=(ALL) NOPASSWD:ALL

Nyní je ansible-client připraven ke správě z ansible-server (Management Node) pomocí centos uživatel na ansible-client.

Jak používat Ansible

Krok 10: Vytvořit Ansible Inventory

Ansible uchovává seznam všech informací o vzdáleném klientovi, které spravuje, v souboru s názvem inventory soubor. Soubor inventáře Ansible je pouze jednoduchý textový soubor a výchozí umístění souboru je:/etc/ansible/hosts

Soubor Ansible Inventory

Můžeme vytvořit soubor inventáře Ansible v jiném než výchozím umístění.

[centos@ansible-server ~]$ mkdir ~/ansible
[centos@ansible-server ~]$ cd ~/ansible
[centos@ansible-server ansible]$ vim hosts

Přidejte všechny dostupné položky klienta

ansible-client ansible_user=centos
možnost ansible_user v souboru ansible/hosts

Volba ansible_user se používá k definování uživatele na ansible-client, který bude spouštět příkazy.

Soubor Ansible Inventory – Mix názvu hostitele a IP adresy

Můžete také kombinovat IP adresy a názvy DNS vzdálených klientů v souboru inventáře

10.180.10.122 ansible_user=centos
Seskupte vzdálené klienty v souboru inventáře

Vzdálené klienty můžete také seskupit do inventárního souboru na základě jejich použití. Například, pokud máte 4 klienty jako webový server a 2 jako db server.

[centos]
ansible-client ansible_user=centos

Krok 11: Seznam všech hostitelů ze souboru inventáře

[centos@ansible-server ansible]$ ansible -i hosts --list-hosts all
  hosts (1):
    ansible-client

Krok 12: Ověřte, zda jsou hostitelé aktivní

[centos@ansible-server ansible]$ ansible -i hosts -m ping all
ansible-client | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}

Krok 13: Spouštějte příkazy na vzdáleném ansible-client (všech/název skupiny založené)

[centos@ansible-server ansible]$ ansible -i hosts -m shell -a "more /etc/redhat-release" ansible-client
ansible-client | CHANGED | rc=0 >>
CentOS Linux release 7.8.2003 (Core)

A je to! Nyní začněte spravovat své vzdálené klienty pomocí ansible svým vlastním způsobem.

Ansible Playbook pomáhá snadněji spravovat vaše servery tím, že provádí složité akce IT s omezeným nebo žádným lidským zapojením. Pokusíme se pokrýt Ansible Playbook v našem dalším článku.


Cent OS
  1. Jak nainstalovat a nakonfigurovat Ansible na Rocky Linux/CentOS 8

  2. Jak nainstalovat Erlang na Rocky Linux/Alma Linux/CentOS 8

  3. Jak nainstalovat Ansible na CentOS 7

  1. Jak debootstrap na CentOS Linux

  2. Jak nainstalovat PHP 8 na CentOS 8 Linux

  3. Jak nainstalovat Linux Kernel 5.0 na CentOS 7

  1. Jak nainstalovat redmine na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat Ansible na CentOS 8

  3. Jak nainstalovat Ansible na Oracle Linux 8