Comment installer et configurer Ansible sur Ubuntu 20.04

Comment installer et configurer Ansible sur Ubuntu 20.04

ANSIBLE est un outil d'automatisation pour gérer plusieurs hôtes distants de la machine unique. Il vous fournit un facile à configurer pour un grand nombre d'hôtes distants. Par exemple, vous effectuez les mêmes tâches sur plusieurs machines, ANSIBLE vous offre la possibilité d'automatiser ces tâches.

ANSIBLE est une meilleure alternative des autres outils d'automatisation des infrastructures populaires disponibles comme Chef et Puppet. Vous n'avez pas besoin d'installer de logiciel client sur les nœuds pour gérer via un serveur ANSIBLE. Il utilise la connexion SSH pour exécuter des tâches sur les nœuds.

Ce tutoriel vous aidera à installer et à configurer Anible sur Ubuntu 20.04 Systèmes LTS Linux.

Conditions préalables

Nous avons un nœud de contrôle pour configurer le serveur ANSIBLE et trois serveurs de nœuds à gérer. Ici, le nœud de contrôle est en cours d'exécution avec Ubuntu 20.04 Système Linux. Premier et troisième nœud est en cours d'exécution avec Ubuntu 18.04 Server et le deuxième nœud est en cours d'exécution avec le serveur CentOS 7.

Voici la liste des nœuds avec l'adresse IP et les noms d'hôte:

  • Node de contrôle - 10.0.1.10 (nœud de contrôle)
  • Premier nœud - 10.0.1.101 (Web-Host1)
  • Deuxième nœud - 10.0.1.102 (Web-Host2)
  • Troisième nœud - 10.0.1.103 (DB-HOST1)
  • Étape 1 - Configuration des touches SSH

    Vous pouvez configurer SSH basé sur la clé pour les hôtes Remote Linux Ansible. Le mot de passe ne sera donc pas requis pour SSH. ANSIBLE vous permet également d'utiliser un mot de passe pour SSH, mais SSH basé sur les clés est plus sécurisé.

    Connectez-vous au nœud de contrôle (10.0.1.10) et générer une paire de clés SSH:

    ssh-keygen -t rsa  

    Appuyez simplement sur «Entrer» à toutes les entrées demandées par la commande.

    Copiez la clé publique à tous vos nœuds distants, vous devez vous connecter via les protocoles SSH.

    ssh-copy-id -i ~ /.ssh / id_rsa.Pub [Protégé par e-mail]  ssh-copy-id -i ~ /.ssh / id_rsa.Pub [Protégé par e-mail]  ssh-copy-id -i ~ /.ssh / id_rsa.Pub [Protégé par e-mail]  

    Étape 2 - Installation ANSIBLE sur Ubuntu

    Vous pouvez installer un serveur ANSIBLE à partir de référentiels officiels sur le système Ubuntu. Qui a les derniers packages Debian. Exécutez la commande suivante pour configurer ANSIBLE PPA sur votre système Ubuntu.

    Sudo apt-ADD-Repository PPA: ANSIBLE / ANSIBLE  

    L'utilitaire de mise à jour logiciel mettra à jour le cache des packages sur votre système. Vous devez donc exécuter la commande suivante pour installer ou mettre à jour ANSIBLE sur votre système Ubuntu

    Mise à jour Sudo Apt  sudo apt install anible  

    Entrez «y» pour toute la confirmation d'installation pour terminer le processus d'installation. Ensuite, vous devez configurer un serveur ANSIBLE

    Étape 3 - Configurer le fichier d'inventaire

    Votre serveur est prêt avec ANSIBLE pour la gestion et l'automatisation des hôtes distants. Vous pouvez avoir un certain nombre d'hôtes dont vous avez besoin et les gérer avec un seul serveur anible.

    Ici, vous devez définir vos systèmes distants dans le fichier Hosts Ansible (/ etc / anible / hôtes). Vous pouvez également créer des groupes d'hôtes avec des types similaires. Ici, vous devez organiser correctement vos hôtes en groupes. Les groupes sont utilisés pour effectuer une tâche sur tous les hôtes éloignés définis en dessous.

    Modifier le fichier de configuration des hôtes Ansible. Pour exmaple:

    sudo nano / etc / anible / hôtes  

    Ajoutez vos hôtes et organisez-les avec des groupes. Un hôte peut être ajouté dans plusieurs groupes.

    [Webservers] web-host1 web-host2 [dbservers] db-host1 

    L'image ci-dessous vous aidera à comprendre le groupe et les hôtes sous un groupe.

    Configuration de VARS hôte unique

    Vous devez définir des paramètres pour vos hôtes. Le fichier spécifique à l'hôte doit être avec le même nom que l'hôte (par exemple: Web-Host1) sous le répertoire host_vars.

    sudo mkdir / etc / anible / host_vars /  sudo vi / etc / anible / host_vars / web-host1  

    Ajoutez les paramètres SSH à ce fichier pour le web-host1.

    ANSIBLE_SSH_HOST: 10.0.1.101 ANSIBLE_SSH_PORT: 22 ANSIBLE_SSH_USER: ROOT 

    Dans le cas où vous n'avez pas utilisé l'étape 1 pour la connexion SSH pour cet hôte. Vous pouvez également ajouter l'une des méthodes ci-dessous au fichier de configuration Web-Hôtes1 pour l'authentification.

    ANSIBLE_SSH_PASS: SECRET_PASSWORD ANSIBLE_SSH_PRIVATE_KEY_FILE: / HOME / RAHUL /.SSH / AWS.pem 

    Configuration du groupe VARS

    Vous pouvez configurer les paramètres de variables communes d'un groupe sous configurations de groupe. Le nom du fichier de groupe doit être le même que le nom du groupe (par exemple: les serveurs Web) sous groupe_vars annuaire.

    sudo mkdir / etc / anible / group_vars  Sudo VI / etc / ANSIBLE / GROUP_VARS / WEBSERVERS  

    Ajoutez les variables communes à ce fichier utilisé par tous les hôtes ajoutés dans ce groupe.

    ANSIBLE_SSH_PORT: 22 ANSIBLE_SSH_USER: ROOT 

    Étape 4 - Test de connexion anible

    Votre anible est prêt à l'emploi. Pour tester tous les nœuds Connectivité Utilisez le module Ping. Connectez-vous à votre serveur ANSIBLE et exécutez la commande suivante:

    anible -m ping  

    Vous pouvez également tester la connectivité pour l'hôte ou les groupes spécifiques.

    anible -m ping web-host1  ## hôte spécifique  ANSIBLE -M PING WEBSERVERS  ## Groupe spécifique  

    Vous pouvez également exécuter n'importe quelle commande Linux en utilisant le module Shell ANSIBLE. Par exemple, exécutez la commande ci-dessous pour tester la mémoire libre sur web-host1.

    anible -m shell -a 'free -m' web-host1  

    Vous pouvez également effectuer la même tâche pour un groupe. Utilisez simplement le nom du groupe au lieu du nom d'hôte.

    Conclusion

    Dans ce tutoriel, vous avez appris à installer un serveur ANSIBLE sur Ubuntu 20.04 Système. Également configuré des hôtes distants à gérer avec un serveur ANSIBLE.