GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Ansible unter CentOS 8 Linux

Ansible ist ein Open-Source-IT-Automatisierungstool, das zur Automatisierung von Konfigurationsmanagement, Bereitstellung, Anwendungsbereitstellung, Orchestrierung und vielen anderen IT-Prozessen verwendet wird, ohne dass Agenten auf den Client-Knoten installiert werden müssen. Es stützt sich auf das SSH-Protokoll, um mit den Client-Knoten zu kommunizieren. Ansible bietet im Vergleich zu anderen ähnlichen Tools wie Puppet, Chef, Terraform usw. eine einfache Verwendung und Installation. In diesem Tutorial lernen wir, wie Ansible unter CentOS 8 Linux installiert und konfiguriert wird.

Installieren Sie Ansible unter CentOS 8 Linux

Schritt 1: EPEL installieren und aktivieren Aufbewahrungsort

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

Schritt 2: Laden Sie den Remote-Index von Paketen in den lokalen Dateicache herunter, um nachfolgende dnf zu beschleunigen Befehle.

[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.

Schritt 3: Installieren Sie 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!

 Schritt 4: Überprüfen Sie die Installation von 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)]

Ansible auf CentOS 8 konfigurieren

Betrachten Sie die folgende Architektur für dieses Tutorial. Sie können dasselbe auf n Clients erweitern.

Verwalten/Administrieren von Clients von Ansible Server

Zum Verwalten von Clients muss SSH installiert sein und ausgeführt werden. SSH-Ports müssen offen und vom Ansible-Server zugänglich sein.

Schritt 5: Öffnen Sie /etc/hosts Datei auf Ansible-Server

In diesem Artikel verwenden wir /etc/hosts Datei zur DNS-Namensauflösung der Clients IP-Adr.

[root@ansible-server ~]# vim /etc/hosts
IP-Adresse oder DNS-Namen für die Clients

Sie können die IP-Adresse oder DNS-Namen der zu verwaltenden Clients verwenden

Fügen Sie die folgenden Einträge für die Ansible-Client-IP-Adresse und den Hostnamen hinzu

10.180.10.122 ansible-client

Passwortlose SSH-Authentifizierung einrichten

Schritt 6: Generieren Sie SSH-Schlüssel auf Ansible Server (Verwaltungsknoten), ohne zur Eingabe einer Passphrase aufgefordert zu werden.

[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]-----+

Schritt 7: Kopieren Sie die SSH-Schlüssel in 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.
Passwortabfrage für Centos-Benutzer auf Ansible-Client

Geben Sie zum ersten Mal das Anmeldepasswort für den Centos-Benutzer auf dem Ansible-Client ein. Nachdem die SSH-Schlüssel kopiert wurden, können Sie sich passwortlos anmelden

Schritt 8: Überprüfen Sie die passwortlose Verbindung

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

Schritt 9:  Sudo-Zugriff für centos Benutzer auf Ansible-Client

Achten Sie darauf, die centos Benutzer auf ansible-client hat sudo-Zugriff ohne Passwort. Dies hilft ansible, jeden root auszuführen Befehle auf Ansible-Client mit centos Benutzer.

# visudo

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

Jetzt ist der Ansible-Client bereit, um vom Ansible-Server (Verwaltungsknoten) mithilfe von centos verwaltet zu werden Benutzer auf ansible-client.

Verwendung von Ansible

Schritt 10: Ansible-Inventar erstellen

Ansible führt eine Liste aller von ihm verwalteten Informationen des Remote-Clients in einer Datei mit dem Namen inventory Datei. Die Ansible-Inventardatei ist nur eine einfache Textdatei und der Standardspeicherort ist:/etc/ansible/hosts

Ansible Inventory-Datei

Wir können eine Ansible-Inventardatei an einem anderen als dem Standardspeicherort erstellen.

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

Fügen Sie alle Einträge des ansiblen Clients hinzu

ansible-client ansible_user=centos
Option ansible_user in der Datei ansible/hosts

Die Option ansible_user wird verwendet, um den Benutzer auf dem ansible-Client zu definieren, der Befehle ausführt.

Ansible-Inventardatei – Mischung aus Hostname und IP-Adresse

Sie können auch IP-Adressen und DNS-Namen der Remote-Clients in der Inventardatei mischen

10.180.10.122 ansible_user=centos
Gruppieren Sie Remote-Clients in der Inventardatei

Sie können Remote-Clients auch basierend auf ihrer Verwendung in der Bestandsdatei gruppieren. Zum Beispiel, wenn Sie 4 Clients als Webserver und 2 als DB-Server haben.

[centos]
ansible-client ansible_user=centos

Schritt 11: Alle Hosts aus der Inventardatei auflisten

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

Schritt 12: Vergewissern Sie sich, dass die Hosts aktiv sind

[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"
}

Schritt 13: Befehle auf dem Remote-Ansible-Client ausführen (basierend auf allen/Gruppennamen)

[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)

Das ist es! Beginnen Sie jetzt mit der Verwaltung Ihrer Remote-Clients mit Ansible auf Ihre eigene Weise.

Ansible Playbook hilft Ihnen, Ihre Server einfacher zu verwalten, indem komplexe IT-Aktionen mit begrenzter oder ohne menschliche Beteiligung ausgeführt werden. Wir werden versuchen, Ansible Playbook in unserem nächsten Artikel zu behandeln.


Cent OS
  1. So installieren und konfigurieren Sie Ansible unter Rocky Linux/CentOS 8

  2. So installieren Sie Erlang auf Rocky Linux/Alma Linux/CentOS 8

  3. So installieren Sie PHP 8 unter CentOS 8 Linux

  4. So installieren Sie Ansible unter CentOS 8

  5. So installieren Sie Ansible unter Oracle Linux 8

So installieren Sie R unter CentOS 8

So installieren Sie Webmin unter CentOS Linux

So installieren Sie JIRA unter CentOS 8 Linux

So aktualisieren Sie CentOS 7 auf CentOS 8 Linux

So installieren Sie DRBD unter CentOS Linux

So installieren Sie Ansible unter Linux Mint 20