Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment installer et configurer Ansible sur Ubuntu?

ansible
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Premiers pas avec Ansible sur Ubuntu pour un meilleur provisionnement de l'environnement et une meilleure gestion de la configuration.

La gestion de la configuration est une étape cruciale dans DevOps cycle de la vie. Il aide à l'automatisation et à l'orchestration de l'infrastructure informatique.

Il existe plusieurs outils de gestion de la configuration, par exemple, Puppet, Ansible, Chef et SaltStack. Et, bien sûr, Ansible est l'un des outils les plus populaires de DevOps. Il peut gérer facilement des milliers de serveurs et votre infrastructure informatique complète.

Installer et configurer Ansible sur Ubuntu

Nous couvrirons ce qui suit dans cet article.

  • Installation Ansible
  • Échange de clés SSH
  • Configuration du client Ansible
  • Test Ansible

Ansible Installation

YouTube vidéo

Pour faire simple, essayons d'utiliser Ansible sur deux serveurs. L'un sera ansible-server et un autre ansible-client avec l'adresse IP suivante.

  • serveur-ansible - 10.0.0.1
  • ansible-client - 10.0.0.25

L'installation est simple… ce qui suit doit être fait sur tous les serveurs sur lesquels vous souhaitez utiliser Ansible. Dans ce cas, sur les deux serveurs ci-dessus.

  • Exécutez la commande ci-dessous pour installer le logiciel nécessaire à l'installation d'ansible.
root@ansible-server:~# apt install software-properties-common
  • Installez le référentiel avec le package ansible.
root@ansible-server:~# apt-add-repository --yes --update ppa:ansible/ansible
  • Mettre à jour l'outil de packaging avancé (apt)
root@ansible-server:~# apt update
  • Et, enfin - exécutez la commande ci-dessous pour installer
root@ansible-server:~# apt install ansible

Il faudra quelques secondes pour installer le package nécessaire.

Comment vous assurez-vous de son installation et de sa version?

Eh bien, c'est facile. Vous pouvez utiliser --version syntaxe avec ansible à découvrir comme ci-dessous.

root@ansible-server:~# ansible --version
ansible 2.8.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.15+ (default, Nov 27 2018, 23:36:35) [GCC 7.3.0]
root@ansible-server:~#

Comme vous pouvez le voir, Ansible 2.8.1 est installé et fournit les informations nécessaires telles que l'emplacement du fichier de configuration, le module python.

Ensuite, nous devons échanger des clés SSH afin de servir et qu'un client puisse se parler.

SSH Key Exchange

Ansible se connecte à son client via SSH (Secure Shell).

Nous allons d'abord générer une clé publique sur le serveur ansible, qui doit être copiée sur le client ansible.

Assurez-vous que vous êtes connecté en tant qu'utilisateur root.

  • Générez la clé en utilisant ssh-keygen commande comme indiqué ci-dessous
root@ansible-server:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
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:cDapZBESo+8XcbXupbtILkFrklUSpwa70Y1c7yH5K1A root@ansible-server
The key's randomart image is:
+---[RSA 2048]----+
|    =.+oo .      |
|   . B.B.= .     |
|  . o @oE +      |
|   . *oO * .     |
|    o++.S + .    |
|   .o +o . +     |
|    .o..o +      |
|     ..o o .     |
|       .o o.     |
+----[SHA256]-----+
root@ansible-server:~#

Comme vous l'auriez remarqué, il a généré une clé publique dans le .ssh dossier. Le chemin complet est /root/.ssh/id_rsa.pub

Notez les: assurez-vous que les fichiers de clés privées et publiques ne sont pas lisibles partout. Vous pouvez lister les fichiers pour les vérifier.

  • Accédez au dossier .ssh
cd /root/.ssh
  • Lister les fichiers
root@ubuntu:~# ls -l 
-rw------- 1 root root 1679 Jun 19 00:37 id_rsa 
-rw------- 1 root root 404 Jun 19 00:37 id_rsa.pub

Si vous remarquez que l'autorisation est incorrecte, vous pouvez la modifier en utilisant chmod commander

Ex:

chmod 400 id_rsa
chmod 400 id_rsa.pub

Copions la clé publique sur l'hôte Ansible dont l'adresse IP est 192.168.56.101

root@ansible-server:~/.ssh# ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.25
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '10.0.0.25 (10.0.0.25)' can't be established.
ECDSA key fingerprint is SHA256:eXduPrfV0mhxUcpsZWg+0oXDim7bHb90caA/Rt79cIs.
Are you sure you want to continue connecting (yes/no)? 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
root@10.0.0.25's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@10.0.0.25'"
and check to make sure that only the key(s) you wanted were added.

root@ansible-server:~/.ssh#

Vous pouvez voir dans la sortie ci-dessus, 1 clé a été ajoutée avec succès. Cela indique que la clé SSH est échangée.

Ensuite, nous allons configurer un client Ansible.

Ansible Client Setup

Je suppose que vous avez déjà suivi les étapes d'installation d'Ansible sur le serveur client comme expliqué dans les étapes précédentes.

La configuration du client ou de l'hôte n'est rien d'autre que de rendre le serveur Ansible conscient des clients. Et, pour ce faire:

  • Connectez-vous au serveur Ansible
  • Accédez à / etc / ansible
  • Ajoutez ce qui suit dans fichier hosts en utilisant votre éditeur préféré
[Client] 
node1 ansible_ssh_host=10.0.0.25
  • Enregistrez le fichier d'hôtes

Ansible Test

Si vous avez suivi toutes les étapes correctement, vous obtiendrez un SUCCÈS message lorsque vous exécutez la commande ci-dessous sur le serveur ansible.

root@ansible-server:~/.ssh# ansible -m ping Client
node1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    }, 
    "changed": false, 
    "ping": "pong"
}
root@ansible-server:~/.ssh#

Le point ci-dessus envoie un ping au client pour tester la connectivité et confirmer si elle est bonne ou non.

Conclusion

J'espère que cela vous donne une idée pour commencer l'installation et jouer. Restez à l'écoute pour plus de didacticiels Ansible ou consultez également ceci Cours Udemy Mastering Ansible.

Merci à nos commanditaires
Plus de bonnes lectures sur DevOps
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder