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.