Comment installer ANSIBLE sur Centos 8

Comment installer ANSIBLE sur Centos 8
ANIBLE est utilisé pour gérer et administrer plusieurs serveurs à partir d'un ordinateur central. C'est un outil de gestion des serveurs. Anible n'a pas besoin de configuration du côté serveur en tant que chef ou marionnette. Vous vous installez simplement sur votre ordinateur et gérez ou administrez des serveurs via SSH. C'est très simple et facile à utiliser. Dans cet article, je vais vous montrer comment installer et utiliser ANSIBLE sur CentOS 8. Alors, commençons.

Installation ANSIBLE:

ANIBLE est disponible dans le référentiel EPEL de CentOS 8. Ainsi, vous pouvez facilement installer ANSIBLE sur CentOS 8.

Tout d'abord, mettez à jour le cache du référentiel de package DNF avec la commande suivante:

$ sudo dnf makecache

Maintenant, pour activer le référentiel EPEL, installez le EPEL-libération Package avec la commande suivante:

$ sudo dnf installer EPEL-libération

Pour confirmer l'installation, appuyez sur Y Et puis appuyez sur .

EPEL-libération Le package doit être installé et le référentiel EPEL doit être activé.

Maintenant, mettez à jour le cache du référentiel du package DNF avec la commande suivante:

$ sudo dnf makecache

Maintenant, installez ANSIBLE avec la commande suivante:

$ sudo dnf installer anible

Pour confirmer l'installation, appuyez sur Y Et puis appuyez sur .

DNF devrait commencer à télécharger tous les packages requis depuis Internet.

On peut être invité à accepter la clé GPG du référentiel EPEL. Presse Y Et puis appuyez sur pour l'accepter.

DNF devrait commencer à installer tous les packages téléchargés.

À ce stade, ANSIBLE doit être installé.

Maintenant, exécutez la commande suivante:

$ anible --version

Comme vous pouvez le voir, je utilise ANSIBLE 2.9.3 Et ça marche très bien.

Configuration des serveurs pour ANSIBLE:

Pour gérer ou administrer des serveurs avec ANSIBLE, vous devez installer le serveur SSH et fonctionner sur les serveurs. Le port SSH des serveurs doit être ouvert et les serveurs doivent être accessibles à partir de l'hôte ANSIBLE. C'est la seule exigence d'utiliser ANSIBLE.

Dans cet article, je vais utiliser 4 machines virtuelles (VM) (2 serveur Ubuntu 18.04 VMS LTS et 2 VM de Debian 10) pour démontrer les bases de la gestion et de l'administration des serveurs ANSIBL.

Les 4 VM sont:

Linuxhint-F1A46 - 192.168.20.161
Linuxhint-8ee7a - 192.168.20.166
Linuxhint-S40 - 192.168.20.171
Linuxhint-S41-192.168.20.170

Vous pouvez utiliser les adresses IP des serveurs pour les gérer ou les administrer avec ANSIBLE. Vous pouvez également utiliser les noms DNS des serveurs.

Dans cet article, j'utiliserai le / etc / hôtes Fichier pour la résolution DNS des adresses IP VMS.

Si vous voulez suivre, ouvrez votre / etc / hôtes fichier avec VI Text Editor comme suit:

$ sudo vi / etc / hôtes

Maintenant, ajoutez les lignes marquées dans la capture d'écran ci-dessous et enregistrez le fichier.

Maintenant, générez une clé SSH sur votre hôte CentOS 8 ANSIBLE comme suit:

$ ssh-keygen

Presse .

Presse .

Presse .

La clé SSH doit être générée.

Maintenant, vous devez télécharger la clé SSH sur tous les serveurs que vous souhaitez gérer avec ANSIBLE.

Pour copier la clé SSH au VM1.linuxhint.local serveur, exécutez la commande suivante:

$ ssh-copy-id shovon @ vm1.linuxhint.local

Maintenant, tapez Oui Et puis appuyez sur .

Maintenant, saisissez le mot de passe de connexion du VM1.linuxhint.local VM et presse .

La clé SSH doit être copiée.

Faire la même chose pour le VM2.linuxhint.local, VM3.linuxhint.local et VM4.linuxhint.local serveur.

$ ssh-copy-id shovon @ vm2.linuxhint.local
$ ssh-copy-id shovon @ vm3.linuxhint.local
$ ssh-copy-id shovon @ vm4.linuxhint.local

Une fois que vous avez copié la clé SSH des machines virtuelles, vous devriez être en mesure de le SSH sans aucun mot de passe comme vous pouvez le voir dans la capture d'écran ci-dessous.

Maintenant, exécutez la commande suivante sur chaque serveur pour permettre à Sudo d'accéder sans mot de passe pour l'utilisateur de connexion. Ceci est requis pour ANSIBLE d'exécuter toutes les commandes racine.

$ echo "$ (whoami) all = (all) nopasswd: all" | Sudo Tee / etc / sudoers.d / $ (whoami)

Tous les serveurs sont maintenant prêts à être configurés ou gérés à partir d'Anible.

Utilisation d'Anible:

Anable conserve une liste de tous les hôtes qu'il gère dans un fichier appelé fichier d'inventaire. Le fichier d'inventaire Ansible n'est qu'un simple fichier texte brut.

Créons un nouveau répertoire de projet ANSIBLE ~ / anible / Tout d'abord, alors nous créerons notre fichier d'inventaire.

$ mkdir ~ / anible

Maintenant, accédez à la ~ / ANIBLE annuaire.

$ cd ~ / anible

Maintenant, créez un fichier d'inventaire anible comme suit. Vous pouvez appeler ce fichier quoi que ce soit. Je vais l'appeler hôtes.

$ vi Hosts

Maintenant, vous pouvez ajouter vos serveurs comme suit. Ici, ANSIBLE_USER L'option est utilisée pour définir l'utilisateur qu'Anible utilisera pour exécuter des commandes sur ces serveurs. C'est généralement l'utilisateur de connexion du serveur.

Vous pouvez également mélanger les adresses IP et les noms DNS des serveurs dans le fichier d'inventaire également.

Vous pouvez également regrouper les serveurs. Ici, j'ai 2 groupes, serveur Web et dbserver.

Dans le serveur Web groupe, j'ai ajouté VM1 et VM2 les serveurs. Dans le dbserver groupe, j'ai ajouté VM3 et VM4 les serveurs.

Une fois le fichier d'inventaire créé, vous pouvez utiliser le fichier d'inventaire à l'aide du -je Option d'Anable.

Vous pouvez répertorier tous les hôtes à partir du fichier d'inventaire comme suit:

$ anible -i hôtes - list-hôtes

Vous pouvez vérifier si tous les hôtes sont actifs comme suit:

$ anible -i hôtes - list-hosts -m ping tout

Comme vous pouvez le voir, tous les hôtes sont actifs.

Vous pouvez également cingler tous les hôtes dans un seul groupe.

$ anible -i hôtes - list-hosts -m ping webserver

Vous pouvez exécuter des commandes de shell en utilisant ANSIBLE comme suit:

$ anible -i hôtes -m shell -a 'commande'

Vous pouvez également exécuter des commandes de shell (avec les privilèges sudo) comme suit.

$ anible -i hôtes -b --become-méthod = sudo -m shell -a 'Command' | groupName>

Par exemple, vous pouvez mettre à jour le cache du référentiel de package APT sur les hôtes dans le groupe de servants en utilisant ANSIBLE comme suit:

$ anible -i hôtes -b --become-méthod = sudo -m shell -a 'apt update' webserver

Comme vous pouvez le voir, le cache du référentiel de package APT est mis à jour pour tous les hôtes du serveur Web groupe.

Essayons d'installer le serveur Web Apache 2 sur tous les hôtes du serveur Web groupe.

$ anible -i hôtes -b --become-méthod = sudo -m shell -a
'apt install -y apache2' webserver

Apache Webserver doit être installé dans tous les hôtes du serveur Web groupe.

Comme vous pouvez le voir, Apache Web Server travaille sur tous les hôtes dans serveur Web groupe.

$ anible -i hôtes -b --become-méthod = sudo -m shell -a 'curl -si
http: // localhost 'webserver

De la même manière, vous pouvez exécuter n'importe quelle commande sur tous les hôtes en dbserver groupe.

$ anible -i hôtes -m shell -a 'lsb_release -a' dbserver

Vous pouvez également utiliser un livre de jeu ANSIBLE pour gérer vos serveurs plus facilement. ANSIBLE Playbook est hors de portée de cet article. Lisez la documentation d'Anable pour plus d'informations sur ANSIBLE Playbook.

Merci d'avoir lu cet article.