GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Ansible sur Ubuntu 20.04 LTS / 21.04

Ansible est un outil d'automatisation et de configuration informatique gratuit et open source. Il est disponible pour presque toutes les distributions Linux et peut être utilisé pour gérer les systèmes Linux et Windows. De nos jours, Ansible est également utilisé pour gérer les instances EC2 dans AWS, les machines virtuelles et les conteneurs, etc. Il ne nécessite aucun agent sur les hôtes gérés, mais il ne nécessite qu'une connexion ssh.

Dans cet article, nous verrons comment installer la dernière version d'Ansible sur Ubuntu 20.04 LTS / 21.04

Configuration requise pour Ansible

  • Ubuntu 20.04 LTS/21.04 installé au minimum
  • utilisateur sudo avec privilèges root
  • 2 CPU/vCPU
  • 2 Go de RAM ou plus
  • Disque dur de 20 Go
  • Connexion Internet (si vous n'avez pas de serveur de référentiel apt configuré localement)

Voici les détails de la configuration de mon laboratoire pour une démonstration ansible.

  • Nœud de contrôle Ansible :control.example.com (192.168.1.112)
  • Nœuds gérés Ansible : node1.example.com et node2.example.com
  • utilisateur sysops sudo sur les nœuds de contrôle et gérés avec privilèges.

Remarque :Ici, node1 est un système Ubuntu et node2 est un système CentOS et le nœud de contrôle est le système sur lequel nous allons installer ansible. Je suppose que sysops est déjà créé sur chaque hôte.

Pour configurer l'utilisateur sudo (sysops) pour exécuter toutes les commandes sans demander le mot de passe, puis exécutez la commande suivante sur chaque hôte géré

echo "sysops ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sysops

Passons aux étapes d'installation d'Ansible

Étape 1) Appliquer les mises à jour sur le nœud de contrôle

Connectez-vous au système Ubuntu 20.04 LTS / 21.04 et exécutez les commandes apt ci-dessous pour appliquer les mises à jour.

$ sudo apt update
$ sudo apt updgrade -y

Une fois toutes les mises à jour installées, redémarrez le système une fois.

$ sudo reboot

Étape 2) Installer les dépendances et configurer le référentiel Ansible

Installez les dépendances ansible en exécutant la commande apt suivante,

$ sudo apt install -y software-properties-common

Une fois les dépendances installées, configurez le référentiel PPA pour ansible, exécutez

$ sudo add-apt-repository --yes --update ppa:ansible/ansible

Maintenant, mettez à jour le référentiel en exécutant sous la commande apt.

$ sudo apt update

Étape 3) Installez la dernière version d'ansible

Nous sommes maintenant prêts à installer la dernière version d'Ansible sur Ubuntu 20.04 LTS / 21.04, exécutez la commande suivante.

$ sudo apt install -y ansible

Après l'installation réussie d'Ansible, vérifiez sa version en exécutant la commande

$ ansible --version

Génial, la sortie ci-dessus confirme que la version 2.9.6 d'Ansible est installée.

Étape 4) Configurez les clés SSH et partagez-les entre les nœuds gérés

Générons maintenant les clés SSH pour l'utilisateur sysops à partir du nœud de contrôle et partageons-les entre les hôtes gérés. Exécutez la commande ssh-keygen

$ ssh-keygen

Appuyez sur Entrée lorsque vous demandez l'entrée, la sortie est affichée ci-dessous

Remarque :Ajoutez des entrées d'hôte géré dans le fichier /etc/hosts sur le nœud de contrôle. Ceci n'est requis que lorsque vous n'avez pas configuré de serveur DNS local.

192.168.1.115   node1.example.com
192.168.1.120   node2.example.com

Pour partager les clés ssh entre le contrôle et les hôtes gérés, exécutez l'exemple de commande ssh-copy-id ci-dessous

$ ssh-copy-id node1.example.com
$ ssh-copy-id node2.example.com

La sortie des commandes ci-dessus ressemblerait à ci-dessous

Étape 5) Créer un cfg ansible et un fichier d'inventaire

Il est toujours recommandé d'avoir un fichier ansible.cfg et un fichier d'inventaire distincts pour chaque projet. À des fins de démonstration, j'utilise demo comme nom de projet. Donc, créez d'abord le dossier du projet en exécutant la commande mkdir.

$ mkdir demo

Copiez le fichier ansble.cfg par défaut dans le dossier ~/demo,

$ cp /etc/ansible/ansible.cfg ~/demo/

Editez le fichier ~/demo/ansible.cfg, définissez les paramètres suivants,

$ vi ~/demo/ansible.cfg

Sous les sections par défaut

inventory      = /home/sysops/demo/inventory
remote_user = sysops
host_key_checking = False

Sous la section privilege_escalation

become=True
become_method=sudo
become_user=root
become_ask_pass=False

Enregistrez et fermez le fichier. Maintenant, créons le fichier d'inventaire que nous avons défini dans le fichier ~/demo/ansible.cfg.

$ vi ~/demo/inventory
[dev]
node1.example.com

[prod]
node2.example.com

enregistrer et quitter le fichier

Maintenant, demandez enfin à ansible d'utiliser le fichier ansible.cfg du projet de démonstration en déclarant la variable ANSIBLE_CONFIG, exécutez les commandes suivantes,

$ export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg
$ echo "export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg" >> ~/.profile

Exécutez la commande ansible –version à partir du dossier de démonstration pour vérifier la configuration ansible

$ cd demo/
$ ansible --version

Génial, Ansible lit maintenant le fichier de configuration ansible de notre projet. Vérifions la connectivité des nœuds gérés à l'aide de la commande ansible ad-hoc,

$ ansible all -m ping

Remarque :Assurez-vous d'exécuter la commande ansible à partir du dossier de démonstration.

La sortie de la commande ressemblerait à ceci :

Cette sortie confirme que la connectivité est en place du nœud de contrôle aux hôtes gérés.

Étape 6) Créer un playbook Ansible pour installer des packages sur des hôtes gérés

Pour vérifier l'installation et la configuration d'ansible, créons un exemple de playbook nommé packages.yaml dans le dossier demo.

$ vi packages.yaml
---
- name: Playbook to Install Packages
  hosts:
    - dev
    - prod
  tasks:
  - name: Install php and mariadb
    package:
      name:
        - php
        - mariadb-server
      state: present

enregistrer et fermer le fichier

Exécutez maintenant le playbook à l'aide de la commande ansible-playbook,

$ ansible-playbook packages.yaml

Sortie :

La sortie ci-dessus confirme que le playbook a été exécuté avec succès. Pour vérifier le résultat, exécutez les commandes ad hoc suivantes,

$ ansible dev -m shell -a 'dpkg -l | grep -E "php|mariadb"'
$ ansible prod -m shell -a 'rpm -qa | grep -E "php|mariadb"'

Voilà qui conclut l'article. Si vous avez trouvé cet article informatif, n'hésitez pas à le partager. Si vous avez des questions, veuillez les déposer dans les sections de commentaires ci-dessous.

Lire aussi  :Comment utiliser les gestionnaires dans Ansible Playbook


Ubuntu
  1. Comment installer Docker sur Ubuntu 22.04 / 20.04 LTS

  2. Comment installer PlayOnLinux sur Ubuntu 20.04 LTS

  3. Comment installer MariaDB dans Ubuntu 20.04 LTS

  4. Comment installer et configurer Ansible sur Ubuntu 18.04 LTS

  5. Comment installer Ansible sur Ubuntu 18.04 LTS

Comment installer Ansible sur Ubuntu

Comment installer Laravel sur Ubuntu 20.04 LTS

Comment installer Ansible sur Ubuntu 20.04 LTS

Comment installer Go sur Ubuntu 22.04 LTS

Comment installer Go sur Ubuntu 18.04 LTS

Comment installer Go sur Ubuntu 20.04 LTS