Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
Dernière mise à jour : 16 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Ansible est un outil de gestion de configuration open-source très répandu. D'autre part, Ansible Galaxy est un référentiel de rôles Ansible.

En tant qu'administrateur système débutant, vous n'avez peut-être qu'une poignée de playbooks. Au fur et à mesure que vos compétences en automatisation s'améliorent et que vous vous familiarisez avec les AnsibleVous apprendrez toutes les meilleures pratiques. Au fur et à mesure que vous augmenterez le nombre de vos playbooks, vous vous rendrez compte de l'importance des éléments suivants Ansible Galaxy est.

Qu'est-ce qu'Ansible Galaxy ?

Ansible Galaxy est un référentiel en ligne open-source basé sur le web pour le contenu Ansible (principalement les rôles et les collections). C'est un peu comme si vous aviez créé quelque chose de nouveau et que vous vouliez le partager avec d'autres.

Si vous avez des problèmes avec l'automatisation Ansible ou si vous avez besoin d'une solution pré-packagée pour démarrer vos projets d'automatisation, Ansible Galaxy peut vous aider. Par exemple, vous pouvez avoir des rôles, des collections, des modules ou des plugins. De nombreux membres de la communauté ont déjà téléchargé leurs collections et rôles Ansible.

Ansible-Galaxy-2

Pour accomplir des tâches telles que l'installation de rôles à partir de Galaxy ou de n'importe quel SCM git, la création ou la suppression de rôles, ou l'exécution de certaines tâches sur le site Galaxy, nous pouvons utiliser la commande ansible-galaxy (commande). Cette commande est préinstallée avec Ansible, vous pouvez donc l'utiliser immédiatement après l'installation d'Ansible.

Le projet Galaxy est un projet open-source qui nous permet d'héberger nos serveurs Galaxy internes. Pour utiliser le serveur Galaxy interne, vous devrez éditer la configuration par défaut dans Ansible.cfg avec l'adresse du serveur interne de Galaxy car, par défaut, il utilise l'adresse du serveur galaxy.ansible.com.

Aperçu d'Ansible

Ansible peut être décrit comme un multiplicateur qui automatise et fait évoluer les infrastructures de toutes tailles. Il peut être utilisé pour gérer les configurations, orchestrer les déploiements et d'autres fonctions. Ansible est très facile à mettre en place. Il peut être utilisé même par un administrateur système novice pour automatiser l'infrastructure en quelques heures.

Ansible automatise en utilisant l'option Protocole SSH. Le mécanisme de contrôle utilise une connexion SSH pour communiquer avec ses hôtes cibles (généralement des hôtes Linux). Les administrateurs système Windows peuvent toujours utiliser Ansible pour automatiser leurs environnements Windows avec WinRM au lieu de SSH. La machine de contrôle doit toujours fonctionner sous Linux.

Ansible permet d'effectuer des tâches courantes d'administrateur système telles que l'application de correctifs, la mise à jour, la gestion des groupes et des utilisateurs, le provisionnement et d'autres tâches administratives.

Ansible est le logiciel le plus utilisé et le plus populaire. gestion de la configurationIl s'agit aujourd'hui d'un outil de développement, d'orchestration et de déploiement. Sa simplicité est l'un de ses principaux atouts. Il est simple, puissant, mais sans agent. Cela signifie qu'un administrateur système débutant peut automatiser l'infrastructure en quelques heures seulement. Ansible permet une mise à l'échelle rapide, l'efficacité et la transversalité.

Travailler sur Ansible Galaxy

Ensuite, ouvrons le terminal et exécutons quelques commandes à l'aide d'Ansible Galaxy. Mais avant cela, vous devez avoir la dernière version d'Ansible installée sur votre système.

Lorsque vous disposez des dernières Ansible installé sur votre système, il suffit d'entrer ansible-galaxy dans le terminal, et vous obtiendrez toutes les options disponibles avec la galaxie.

ubuntu@ubuntu-VirtualBox:~$ ansible-galaxy
galaxie-ansible

Tout d'abord, vous pouvez commencer par la commande init et créer un rôle. Ici, je crée un rôle "testing". Utilisez la commande ls pour vérifier si le rôle a été créé avec succès. La commande init crée également les fichiers nécessaires dans le répertoire du rôle de test.

ubuntu@ubuntu-VirtualBox:~$ ansible-galaxy init testing
ansible-galaxy-init

La galaxie Ansible est une communauté importante et active où de nombreux rôles ont déjà été créés que vous pouvez directement utiliser.

Vous trouverez ci-dessous la page qui s'ouvrira lorsque vous naviguerez dans 'galaxy.ansible.comNous pouvons également dire qu'il s'agit de la page d'accueil du site web "Ansible Galaxy". Nous pouvons cliquer sur n'importe quelle catégorie populaire de la page d'accueil ou cliquer sur le bouton "Recherche" pour obtenir plus de filtres afin d'appliquer une recherche granulaire.

ansible-galaxy

Par exemple, si vous recherchez un rôle de serveur MySQL, il vous suffit de le rechercher et de cliquer sur le bouton de filtrage. Vous pouvez voir que geerlingguy a le maximum de téléchargements ; nous pouvons essayer d'installer ce rôle. Cliquez sur geerlingguy MySQL.

ansible-galaxy-mysql

Vous obtiendrez alors la commande d'installation pour installer ce rôle en utilisant ansible-galaxy.

ansible-galaxy-install-mysql

Exécutez la commande mentionnée dans la capture d'écran ci-dessus pour télécharger et installer le rôle de serveur MySQL sur votre machine.

ubuntu@ubuntu-VirtualBox:~$ ansible-galaxy install geerlingguy.mysql
ansible-galaxy-install

Si vous savez déjà quel rôle rechercher pour un auteur donné, vous pouvez utiliser la commande de recherche comme indiqué ci-dessous.

ubuntu@ubuntu-VirtualBox:~$ ansible-galaxy search elasticsearch --author geerlingguy
ansible-galaxy-search

Commandes courantes d'Ansible Galaxy

La commande ansible-galaxy gère les rôles et les collections à l'aide de la commande galaxy.ansible.com. Vous trouverez ci-dessous des informations très utiles ansible-galaxy que tout administrateur système utilise de temps à autre :

  • ansible-galaxy list: Cette commande de galaxie affiche une liste de tous les rôles installés, avec leur numéro de version.
  • ansible-galaxy remove: Cette commande de galaxie supprime un rôle installé sur le système.
  • ansible-galaxy info: Cette commande galaxy fournit des informations détaillées sur Ansible Galaxy.
  • ansible-galaxy init: Cette commande galaxy peut être utilisée pour créer un modèle de rôle adapté à la soumission à Ansible Galaxy.
  • ansible-galaxy import: Cette commande galaxy nécessite un login pour importer un rôle depuis le site officiel de galaxy.

Les commandes ci-dessus (init, import, install, remove) peuvent être utilisées avec la commande ansible-galaxy pour gérer les collections à l'aide de la galaxie Ansible.

Parlons maintenant des rôles et des collections dans Ansible Galaxy.

Créer des rôles avec Ansible Galaxy

Ansible Galaxy est essentiellement un grand dépôt public de rôles Ansible. Les rôles sont livrés avec READMEs qui expliquent l'utilisation et les variables. Galaxy a de nombreux rôles qui évoluent et se développent continuellement.

Galaxy peut ajouter des sources de rôles telles que GitHub en utilisant git. Ansible Galaxy nous permet de créer des rôles Ansible à l'aide de la commande ansible-galaxy commande. Ansible-galaxy init peut être utilisé pour initialiser un nouveau rôle galaxy, ou vous pouvez utiliser la commande ansible-galaxy install <name of role> pour installer le rôle.

Avant de pouvoir les utiliser dans les playbooks, le rôle doit être téléchargé. Une fois qu'ils ont été placés dans le répertoire par défaut /etc/ansible/rolesVous y trouverez des exemples de rôles.

La structure des rôles d'Ansible et sa signification

Les fichiers et répertoires créés lors de l'installation d'un rôle sont présentés ci-dessous :

  • README.md est le fichier Readme qui décrit le rôle. Le fichier readme contient tous les détails concernant les paramètres d'entrée et des exemples de yml.
  • tasks - Toutes les tâches peuvent être enrôlées par le rôle à tasks. Le point d'entrée du rôle est Main.yml. C'est là que l'exécution commence. Ce fichier peut contenir d'autres fichiers.
  • Manipulateurs - Cette catégorie comprend les manipulateurs qui peuvent être utilisés dans ce rôle ou dans tout autre rôle.
  • defaults - Les variables par défaut pour le rôle.
  • vars - Variables plus importantes que les valeurs par défaut pour le rôle.
  • Fichiers - Ces fichiers peuvent être déployés à l'aide de Role.
  • Modèles - Cette section contient des modèles qui peuvent être utilisés via le rôle.
  • meta - Les métadonnées peuvent être utilisées pour définir les rôles dans meta. Ce fichier doit également inclure toutes les dépendances des rôles.
  • Tests - Tests CI à exécuter.
  • library - Intégration de modules ou de plugins dans les rôles. Non créé par la commande init. Vous pouvez également créer un module personnalisé en Python dans ce dossier et l'utiliser dans vos tâches.

Créer des collections avec Ansible Galaxy

Ansible Galaxy est le meilleur outil pour gérer les rôles et est utilisé depuis des années. Cependant, vous verrez de nouvelles fonctionnalités ou des changements dans Ansible Galaxy. La version 2.2.8 d'Ansible inclut désormais la fonctionnalité de collecte.

Le contenu d'Ansible peut être distribué à l'aide de collections. Elles sont utilisées pour empaqueter et distribuer des playbooks, des rôles, des modules et des plugins.

La structure suivante est la base des collections :

collection/
├── docs/
├── galaxy.yml
├── plugins/
│ ├──
modules/
│ │ └── module1.py
│ ├──
inventory/
│ └── .../
├── README.md
├── roles/
│ ├──
role1/
│ ├──
role2/
│ └── .../
├── playbooks/
│ ├──
files/
│ ├──
vars/
│ ├──
templates/
│ └── tasks/
└── tests/

Création d'un squelette de collection

Pour installer une collection sur votre ordinateur, vous pouvez utiliser la commande ansible-galaxy collection installation.

Notamment, certaines sous-commandes peuvent également être utilisées avec ansible galaxy.

  • init: Crée une structure de collection de base basée sur le modèle par défaut d'Ansible'sle ou sur votre propre modèle.
  • build: Crée un artefact de collection qui peut être téléchargé sur Galaxy ou sur votre propre dépôt.
  • publish: Galaxy publie un artefact de collection construite
  • install: Installe une ou plusieurs collections

Conclusion

Ansible Galaxy est un excellent moyen d'organiser et de penser à vos livres de rôles qui ne cessent de croître. Ansible Galaxy compte environ 39 000 auteurs communautaires, 30 000 rôles et 1656 collections qui peuvent être utilisés pour lancer rapidement notre projet d'automatisation. Le guide du développeur et le guide du contributeur expliquent comment contribuer au code existant d'Ansible Galaxy, qui est un projet open-source.

Vous pouvez également être intéressé par Les tâches d'administrateur système que vous pouvez automatiser avec Ansible.

  • Avi
    Auteur
Merci à nos sponsors
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le 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, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus