GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer Ansible sur Oracle Linux 8

Ansible est une plate-forme d'automatisation gratuite et open source utilisée par les administrateurs système pour installer, configurer et provisionner plusieurs systèmes à la fois. De nos jours, les environnements informatiques sont très complexes et doivent souvent évoluer très rapidement. L'automatisation facilite le travail des administrateurs système et des développeurs et leur permet de se concentrer sur d'autres tâches qui ajoutent de la valeur à une organisation. Ansible est très simple à configurer et à utiliser. vous n'avez besoin d'aucune compétence en codage pour utiliser Ansible.

Dans cet article, nous allons vous montrer comment installer Ansible sur Oracle Linux 8.

Prérequis

  • Serveur exécutant Oracle Linux 8 sur la plate-forme cloud Atlantic.Net. Ce sera votre nœud de gestionnaire
  • Un deuxième serveur exécutant Oracle Linux 8 sur la plate-forme cloud Atlantic.Net. Ce sera votre nœud de travail
  • Un mot de passe root configuré sur votre serveur

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Oracle Linux 8 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois connecté à votre serveur, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

dnf update -y

Étape 2 – Configurer une authentification basée sur une clé SSH

Avant de commencer, vous devrez configurer une connexion SSH sans mot de passe entre le nœud de contrôle Ansible et le nœud de gestionnaire. Vous pouvez le faire en configurant une authentification basée sur une clé SSH.

Tout d'abord, générez une clé privée et publique à l'aide de la commande suivante :

ssh-keygen -t rsa

Vous devriez voir le résultat suivant :

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

Ensuite, copiez la clé publique générée sur les nœuds gérés Ansible à l'aide de la commande suivante :

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

Vous devriez voir le résultat suivant :

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

Maintenant, exécutez la commande suivante pour tester la connexion SSH sans mot de passe :

ssh [email protected]

Étape 3 - Installer Ansible sur Oracle Linux 8

Maintenant, vous devrez installer le package Ansible sur le nœud de contrôle Ansible. Par défaut, le package Ansible n'est pas disponible dans le référentiel par défaut d'Oracle Linux 8, vous devrez donc l'installer à partir du référentiel EPEL.

Tout d'abord, installez le référentiel EPEL à l'aide de la commande suivante :

dnf install -y epel-release

Ensuite, installez le package Ansible à l'aide de la commande suivante :

dnf install ansible -y

Une fois Ansible installé, vérifiez la version d'Ansible avec la commande suivante :

ansible --version

Vous devriez voir le résultat suivant :

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

Étape 4 - Configurer les hôtes Ansible

Ensuite, vous devrez modifier le fichier de configuration des hôtes Ansible et définir le serveur Linux distant que vous souhaitez gérer.

Vous pouvez le modifier avec la commande suivante :

nano /etc/ansible/hosts

Ajoutez les lignes suivantes :

[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

Enregistrez et fermez le fichier lorsque vous avez terminé.

Ensuite, modifiez le fichier de configuration Ansible et désactivez les avertissements d'obsolescence et la vérification de la clé de l'hôte :

nano /etc/ansible/ansible.cfg

Ajoutez la ligne suivante sous [defaults] :

deprecation_warnings=False
host_key_checking = False

Enregistrez et fermez le fichier lorsque vous avez terminé.

Étape 5 - Comment utiliser Ansible

À ce stade, Ansible est installé et configuré. Maintenant, vous devrez vérifier la fonctionnalité d'Ansible à l'aide des commandes ad hoc d'Ansible :

Commencez par vérifier la connectivité de tous les nœuds gérés à l'aide de la commande suivante :

ansible -m ping all

Si tout va bien, vous devriez voir le résultat suivant :

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

Si vous souhaitez uniquement vérifier la connectivité du serveur de base de données, exécutez la commande suivante :

ansible -m ping database

Vous obtiendrez le résultat suivant :

dbserver1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

Pour vérifier la mémoire libre sur le nœud du serveur Web, exécutez la commande suivante :

ansible -m shell -a "free -m" web

Vous obtiendrez le résultat suivant :

server1 | CHANGED | rc=0 >>
              total        used        free      shared  buff/cache   available
Mem:           1817         621         210          21         985        1006
Swap:             0           0           0

Pour vérifier la version de MySQL sur le nœud du serveur de base de données, exécutez la commande suivante :

ansible -m shell -a "mysqladmin --version" database

Vous devriez voir le résultat suivant :

dbserver1 | CHANGED | rc=0 >>
mysqladmin  Ver 8.0.26 for Linux on x86_64 (Source distribution)

Étape 6 – Créer un playbook Ansible pour installer des packages sur des nœuds gérés

Ansible nous permet de créer un playbook pour définir toutes les tâches que nous voulons effectuer sur les nœuds gérés. Tout d'abord, créez un répertoire pour stocker votre playbook.

mkdir project

Ensuite, accédez au répertoire créé et créez un fichier YAML à l'aide de la commande suivante :

cd project
nano app.yaml

Ajoutez la configuration suivante :

- name: Install Packages
  hosts:
    - web
    - database
  tasks:
  - name: Install php and nginx
    package:
      name:
        - php
        - httpd
      state: present

Enregistrez et fermez le fichier, puis exécutez le playbook à l'aide de la commande suivante :

ansible-playbook app.yaml

Une fois le playbook Ansible exécuté avec succès, vous obtiendrez le résultat suivant :

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   

Vous pouvez maintenant vérifier la version de PHP sur le nœud du serveur Web à l'aide de la commande suivante :

ansible -m shell -a "php -v" web

Vous obtiendrez le résultat suivant :

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

Conclusion

Dans ce guide, nous avons expliqué comment installer Ansible sur Oracle Linux 8. Nous avons également expliqué comment utiliser les commandes ad hoc et le playbook d'Ansible pour provisionner des nœuds gérés. Vous pouvez désormais utiliser Ansible pour provisionner et gérer facilement l'ensemble de votre infrastructure informatique. Essayez-le sur l'hébergement VPS d'Atlantic.Net !


Linux
  1. Comment installer Python sur Linux

  2. Comment installer Java sur Linux

  3. Comment installer Oracle Java 10 dans Arch Linux

  4. Comment installer Ansible sur CentOS 8 Linux

  5. Comment installer Apache Cassandra sur Oracle Linux 8

Comment installer FreeOffice sur Linux

Comment installer Apache Solr sur Oracle Linux 8

Comment installer GitLab CE sur Oracle Linux 8

Comment installer OpenCart sur Oracle Linux 8

Comment installer Joomla sur Oracle Linux 8

Comment installer Ansible sur Linux Mint 20