ANSIBLE GALAXY HOSTS ROLES ET COLLECTIONS ANSIBLES CRÉABLES PAR LA COMMUNAUTÉ. Au lieu de les réécrire à partir de zéro, vous pouvez l'installer sur votre ordinateur à l'aide de l'outil de ligne de commande ANSIBLE GALAXY et les utiliser sur vos livres de jeu.
Vous pouvez également écrire vos rôles et collections et les télécharger sur ANSIBLE GALAXY. Ceci est hors de l'étendue de cet article.
Dans cet article, je vais vous montrer comment utiliser l'outil de ligne de commande Galaxy Ansible ANSIBLE pour installer des rôles et des collections Galaxy ANSIBLE et les utiliser sur votre playbook. Alors, commençons.
Conditions préalables:
Si vous voulez essayer les exemples de cet article,
1) Vous devez faire installer un anible sur votre ordinateur.
2) Vous devez avoir au moins 2 hôtes Linux (un debian 10 et un CentOS 7) configuré pour ANSIBLE AUTOMATION.
Il existe de nombreux articles sur Linuxhint dédiés à l'installation de Ansible et à la configuration des hôtes pour ANSIBLE AUTOMATION. Vous pouvez les vérifier si nécessaire.
Configuration d'un répertoire de projet:
Avant de commencer, créons un répertoire de projet afin que nous puissions organiser nos fichiers de projet.
Pour créer un répertoire de projet galaxie-amorce / dans ton MAISON répertoire, exécutez la commande suivante:
$ Mkdir -pv Galaxy-Demo / PlayBooks, VARS
Maintenant, accédez à la galaxie-amorce / Répertoire comme suit:
$ CD Galaxy-Demo /
Créer un fichier de configuration anible anable.CFG Dans votre répertoire de projet comme suit:
$ nano anible.CFG
Tapez les lignes suivantes votre anable.CFG déposer.
[Par défaut]Une fois que vous avez terminé, appuyez sur + X suivie par Y et Pour sauver le anable.CFG fichier de configuration.
Créer un fichier d'inventaire ANSIBLE hôtes Dans votre répertoire de projet comme suit:
$ hôtes nano
Tapez les lignes suivantes dans votre hôte fichier d'inventaire.
[base de données]Ici, VM1.nodekite.com est un hôte Debian 10, et VM9.nodekite.com est un hôte Centos 7.
Une fois que vous avez terminé, appuyez sur + X suivie par Y et Pour sauver le hôtes fichier d'inventaire.
Pour vérifier si vous pouvez cingler les hôtes ANSIBLE distants de votre ordinateur, exécutez la commande suivante:
$ anible all -u anible -m ping
Comme vous pouvez le voir, je peux ping à ping mes hôtes ANSIBLE télévisés VM1.nodekite.com et VM9.nodekite.com.
Recherche de rôles et de collections Galaxy ANSIBLE:
Vous pouvez rechercher des rôles et des collections de galaxie ANSIBLE sur le site officiel d'Ansible Galaxy.
Une fois la page Web chargée, cliquez sur l'icône de recherche pour rechercher des rôles et des collections de galaxie ANSIBLE.
Maintenant, saisissez ce que vous recherchez et cliquez sur l'icône de recherche.
Dans cet exemple, j'ai cherché serveur mysql. Comme vous pouvez le voir, le résultat de la recherche s'affiche.
Le terme de recherche serveur mysql retourné 2 collections et plusieurs rôles.
Un rôle est un module anible qui fait des choses spécifiques. Une collection a de nombreux rôles. C'est la principale différence entre un rôle et une collection.
Pour voir plus d'informations sur un rôle, cliquez sur le rôle.
Le Détails L'onglet d'un package de rôle affichera des informations techniques sur le rôle.
Le Lisez-moi L'onglet affichera les informations d'installation et d'utilisation du rôle.
De la même manière, un package de collecte aura des informations d'installation sur le Détails languette.
Sur le Contenu onglet, les rôles que les collections installeront seront affichés.
Le Lisez-moi L'onglet affichera des informations utiles sur la collection.
Installation et utilisation des rôles de galaxie ANSIBLE:
Dans cette section, je vais vous montrer comment installer et utiliser un rôle de galaxie anible. Alors, commençons.
Disons; Vous souhaitez installer le rôle de galaxie ANSIBLE geerlingguy.mysql.
Pour ce faire, exécutez la commande suivante:
$ ANSIBLE-GALAXY INSTALLATION GEERLINGGUY.mysqlRôle de galaxie ansible geerlingguy.mysql devrait être installé.
Créer un livre de jeu install_database.yaml dans le Playbooks / Répertoire pour tester le geerlingguy.mysql Rôle comme suit:
$ nano playbooks / install_database.yamlEnsuite, saisissez les lignes suivantes dans le install_database.yaml déposer.
- Hôtes: base de donnéesUne fois que vous avez terminé, appuyez sur + X suivie par Y et Pour sauver le install_database.yaml déposer.
Ici, le rôle de geerlingguy.mysql est utilisé dans le les rôles section.
Le VARS_FILES La section est utilisée pour ajouter les variables de rôle / playbook requises au playbook. Ici, les variables seront placées dans le VARS / base de données.yaml déposer.
Maintenant, créez un base de données.yaml fichier dans le VARS / Répertoire comme suit:
$ nano vars / base de données.yamlMaintenant, ajoutez vos variables souhaitées dans le base de données.yaml déposer. J'ai ajouté les variables suivantes dans le base de données.yaml déposer.
mysql_databases:Ces variables configurent GeeringGuy.mysql rôle pour qu'il crée un nouvel utilisateur linuxhint, Définit le mot de passe secret pour le linuxhint L'utilisateur crée une nouvelle base de données db01 et des subventions linuxhint L'utilisateur accès complet à la db01 base de données.
Une fois que vous avez terminé, appuyez sur + X suivie par Y et Pour sauver le base de données.yaml déposer.
Maintenant, vous pouvez exécuter le install_database.yaml Playbook comme suit:
$ anible-playbook playbooks / install_database.yamlComme vous pouvez le voir, le livre de jeu exécute le geerlingguy.mysql rôle. Cela peut prendre un certain temps pour terminer.
À ce stade, le install_mysql.yaml Le livre de jeu doit être terminé.
Sur mon VM1.nodekite.com debian 10 hôte, le mysql Le service est en cours d'exécution comme vous pouvez le voir dans la capture d'écran ci-dessous,
Je peux également me connecter au serveur de base de données MySQL comme linuxhint utilisateur.
Comme vous pouvez le voir, la base de données db01 est également créé.
Donc, c'est ainsi que vous installez et utilisez des rôles de galaxie ANSIBLE.
Installation et utilisation des collections anibles:
Dans cette section, je vais vous montrer comment installer et utiliser une collection Galaxie Ansible. Alors, commençons.
Disons; Vous souhaitez installer la collection Galaxy ANSIBLE geerlingguy.php_roles.
Pour ce faire, exécutez la commande suivante:
$ ANSIBLE-GALAXY Collection Installer Geerlingguy.php_rolesLa collection geerlingguy.php_roles devrait être installé.
Pour utiliser la collection, créez un nouveau playbook install_php.yaml dans le Playbooks / Répertoire comme suit:
$ nano playbooks / install_php.yamlMaintenant, saisissez les lignes suivantes dans le install_php.yaml déposer.
- hôtes: webUne fois que vous avez terminé, appuyez sur + X suivie par Y et Pour sauver le install_php.yaml déposer.
Ces lignes importent le geerlingguy.php_roles Collection sur votre livre de jeu.
Dans le les rôles Section, vous pouvez utiliser les rôles dont vous avez besoin dans votre collection. Ici, j'ai ajouté 2 rôles (php et php_versions) du geerlingguy.php_roles collection.
Le php Le rôle n'a pas de variables spécifiques au rôle.
Si vous souhaitez configurer un rôle à l'aide de variables, vous pouvez les ajouter sous le varbac Section de la rôle comme suit.
Vous pouvez trouver quels rôles sont disponibles pour une utilisation dans la page officielle de Galaxy ANSIBLE de la collection
La page officielle de Galaxy ANSIBLE du rôle aura des informations sur les variables que vous pouvez utiliser pour configurer le rôle.
Maintenant, vous pouvez exécuter le install_php.yaml Playbook comme suit:
$ anible-playbook playbooks / install_php.yamlComme vous pouvez le voir, le livre de jeu est en cours d'exécution. Cela peut prendre un certain temps pour terminer.
À ce stade, le livre de jeu doit être terminé.
Comme vous pouvez le voir, je peux accéder au serveur Web d'Apache 2 fonctionnant sur mon hôte Centos 7 VM9.nodekite.com.
J'ai également créé un indice.php fichier dans le / var / www / html / Répertoire de mon hôte Centos 7 VM9.nodekite.com.
Comme vous pouvez le voir, le serveur Web peut servir indice.php page correctement.
C'est donc ainsi que vous installez et utilisez des collections de galaxies ANSIBL.
Conclusion:
Dans cet article, j'ai expliqué ce qu'est la galaxie ansible. J'ai également démontré comment installer et utiliser des rôles / collections de la galaxie ANSIBLE. ANSIBLE GALAXY vous aidera à éviter de réinventer la roue, également connue sous le nom de répétition du code. Vous devriez être en mesure de réaliser vos projets anibles plus rapidement en utilisant une galaxie Ansible.