GNU/Linux >> Tutoriels Linux >  >> Linux

Présentation du nouveau hub d'automatisation Ansible

De nos jours, Ansible est l'un des outils d'automatisation les plus utilisés en informatique. Cependant, le grand défi avec le grand nombre de modules et de rôles disponibles dans la communauté servant différents cas d'utilisation est de trouver les modules correctement renforcés, adaptés et fiables pour les environnements de production.

Lorsque vous utilisez des modules communautaires et des rôles dans des playbooks pour automatiser vos environnements de production, vous devez suivre leur cycle de vie et vérifier leur compatibilité avec les nouvelles versions d'Ansible.

Ces défis rendent la fiabilité des modules et des rôles de la communauté Ansible discutable.

Centre d'automatisation Red Hat

Red Hat a récemment modifié son modèle d'abonnement Ansible et introduit de nombreux nouveaux produits Ansible en ligne accessibles à partir du site Red Hat Cloud Tools si vous disposez de l'abonnement Ansible approprié.

Le principal produit en ligne, qui, je pense, rendra Ansible plus fiable, est le Red Hat Automation Hub. Ce ne serait pas une exagération si je disais que cela augmentera considérablement le niveau de confiance. Red Hat Automation Hub est la version prise en charge des modules et des rôles dans Ansible Galaxy.

Red Hat teste et renforce les modules et les rôles avant de les publier dans Automation Hub. Vous pouvez les voir comme Registre Red Hat disponible pour Open Shift, mais cette fois pour Ansible. L'Automation Hub est encore un nouveau produit qui n'a pas beaucoup de modules, mais Red Hat continue d'en ajouter d'autres.

Collectes et FQCN

Red Hat regroupe les modules et les rôles sur l'Automation Hub dans des collections . Dans le playbook, lorsque vous utilisez un module d'une collection installée, vous le référencez en utilisant le "Full Qualified Collection Name" ou le FQCN, qui a généralement le format suivant :

namespace.collection.module

Cependant, Automation Hub est un nouveau produit. Vous pouvez toujours trouver certains modules qui doivent être référencés uniquement par leur nom, comme c'est toujours le cas avec les collections F5 et Ansible 2.9. Vous pouvez toujours ouvrir un dossier auprès du support Red Hat si les modules ne fonctionnent pas, et ils vous en informeront. Avec l'Automation Hub, vous n'êtes plus seul.

[ Les lecteurs ont également aimé : Premiers pas avec Ansible ]

Conception

Dans cet article, nous allons installer le moteur Ansible. L'installation est basée sur RHEL8.2. Il a Python 3.6, qui est toujours pris en charge, et c'est une condition préalable pour de nombreux modules Ansible récents.

Ansible Engine comporte trois couches différentes :

  1. Système d'exploitation, qui est RHEL8.2 dans notre cas.
  2. Binaires Ansible.
  3. Modules supplémentaires (dans Red Hat Automation Hub, ils sont appelés collections).

Hypothèses :

  1. Le téléchargement de collections nécessite l'utilisation d'Ansible Engine basé sur RHEL. L'installation de RHEL8.2 est hors de portée de cet article, donc l'hypothèse est qu'il existe un serveur prêt à être utilisé.
  2. Vous disposez des abonnements Red Hat Ansible appropriés.
  3. L'installation et l'utilisation d'Ansible Tower n'entrent pas dans le cadre de cet article.
  4. L'installation aura lieu derrière un proxy. Cependant, si vous installez Ansible Engine sur un système directement connecté à Internet, vous pouvez ignorer les étapes liées au proxy.
  5. Ansible 2.9 sera installé et utilisé.

Installation du moteur Ansible

Après une nouvelle installation de RHEL8.2, suivez ces étapes pour installer Ansible Engine :

1. Modifiez le fichier de configuration RHSM :

# vi /etc/rhsm/rhsm.conf

2. Modifiez cette section dans le fichier de configuration RHSM avec les détails du proxy, puis enregistrez le fichier :

# an http proxy server to use
proxy_hostname =

# The scheme to use for the proxy when updating repo definitions, if needed
# e.g. http or https
proxy_scheme = http

# port for http proxy server
proxy_port =

# user name for authenticating to an http proxy, if needed
proxy_user =

# password for basic http proxy auth, if needed
proxy_password =

3. Inscrivez-vous à RHSM :

# subscription-manager register

4. Attachez à vos abonnements RHEL et Red Hat Ansible Engine. Cette commande vous aidera à trouver les abonnements RHEL Red Hat Ansible Engine disponibles :

# subscription-manager list --available

5. Saisissez l'ID de pool de l'abonnement et exécutez ce qui suit :

# subscription-manager attach --pool=<pool id here of RHEL subscription>
# subscription-manager attach --pool=<pool id here of engine subscription>

6. Activez les référentiels associés :

# subscription-manager repos --enable rhel-8-for-x86_64-appstream-rpms --enable rhel-8-for-x86_64-baseos-rpms --enable ansible-2.9-for-rhel-8-x86_64-rpms

7. Installez Ansible :

# yum install -y ansible

8. Mettez à jour les binaires du système d'exploitation :

# yum update -y

9. Redémarrez le nœud.

Installation de la collection F5

La configuration d'une installation Ansible par défaut pointe vers la galaxie ansible en amont. La configuration Ansible doit donc être modifiée pour inclure Red Hat Automation Hub comme suit :

1. Accédez au site de gestion des jetons Automation Hub de Red Hat.

2. Connectez-vous à l'aide de votre nom d'utilisateur et de votre mot de passe pour le site Red Hat Cloud Tools.

3. Appuyez sur Obtenir le jeton API .

4. Copiez le jeton.

5. Modifiez le fichier de configuration Ansible :

# vi /etc/ansible/ansible.cfg

6. Ajoutez les lignes suivantes à la fin du fichier de configuration :

[galaxy]
server_list = automation_hub, release_galaxy, test_galaxy

[galaxy_server.automation_hub]
url=https://cloud.redhat.com/api/automation-hub/
auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token

token=" Paste Token"

7. Enregistrez le ansible.cfg fichier de configuration.

Vous êtes maintenant prêt à télécharger les collections, mais avant de commencer, il y a quelques points à considérer :

1. Si le nœud Ansible n'est pas directement connecté à Internet, vous devez définir un proxy à partir duquel Internet est accessible. La configuration du proxy doit être temporaire et ne doit pas durer avec de nouvelles sessions SSH, de sorte que lors de l'exécution d'un playbook qui automatise un système cible à l'aide de son API sur HTTP ou HTTPS, le playbook n'échoue pas.

Pour définir le proxy :

$ export http_proxy='proxy.example.com:port'
$ export https_proxy='proxy.example.com:port'

Remarque :Les collections peuvent être téléchargées sous forme de fichiers tar en cas d'installation hors ligne, puis installées dans le chemin par défaut conformément au point suivant.

2. La collection est téléchargée et installée localement dans le répertoire personnel de l'utilisateur actuel. Il sera installé dans le chemin suivant :

$HOME/.ansible/collections/ansible_collections/

La commande ci-dessous peut être utilisée pour télécharger n'importe quelle collection :

$ ansible-galaxy collection download namespace.collection

Sur le site Red Hat Cloud Tools , sélectionnez la page de collecte appropriée, et vous pourrez voir la commande exacte dans la capture d'écran ci-dessous :

Pour télécharger la collection F5, exécutez la commande suivante :

$ ansible-galaxy collection install f5networks.f5_modules

Un exemple de playbook

Pour commencer à automatiser l'équipement F5, le réseau doit être défini comme ci-dessous, où le nœud Ansible peut atteindre l'interface de gestion F5 (port) :

Dans le guide de collecte sur le site Red Hat Cloud Tools, il est conseillé d'utiliser le FQCN, mais malheureusement, cela n'était pas possible au moment de la rédaction de cet article. Selon le site gitMemory, cela pourrait être corrigé dans Ansible 2.10 :

Veuillez consulter un exemple de manuel fonctionnel sur mon site GitHub.

L'IP dans le playbook doit être remplacé par l'IP de l'interface de gestion pour l'équipement F5, et le mot de passe doit être remplacé par le mot de passe "admin", sécurisé avec ansible-vault.

[ Un guide gratuit de Red Hat :5 étapes pour automatiser votre entreprise. ] 

Récapitulez

  • Ansible Automation Hub est un produit très prometteur de Red Hat qui ferait passer Ansible d'un outil d'automatisation pris en charge par la communauté à un outil de niveau entreprise.
  • Le Hub n'en est encore qu'à ses débuts par rapport au nombre de rôles et de modules disponibles en amont, mais au cours des dernières semaines, j'ai remarqué que davantage de fournisseurs ont rejoint le Hub (par exemple, HP, Arista, etc... )
  • Certains modules téléchargés depuis le Hub ne sont toujours pas prêts à être référencés à l'aide de leur FQCN, donc si vous obtenez des erreurs étranges, essayez de les référencer en utilisant uniquement leurs noms avant d'ouvrir un dossier avec le support Red Hat.
  • Je pense que le fait de pouvoir mettre en miroir le hub d'automatisation sur un hub local, par exemple, dans Satellite, rendra le hub d'automatisation beaucoup plus précieux.

Références

  • Pour installer Ansible Engine, veuillez consulter l'article Comment télécharger et installer Red Hat Ansible Engine ?
  • Pour plus de détails sur la façon de gérer les collections, veuillez consulter Utilisation des collections Ansible.

Linux
  1. Comment j'utilise Ansible et anacron pour l'automatisation

  2. 10 modules Ansible pour l'automatisation du système Linux

  3. Nouveau processus parent lorsque le processus parent meurt ?

  4. Changer le port SSH dans CentOS et Red Hat

  5. Présentation du panneau de contrôle Rackspace Cloud

Guide Ansible :la commande ad hoc

Présentation de l'interface de ligne de commande Wireshark :le TShark

Juno OS élémentaire 5.0 est sorti ! Découvrez les nouvelles fonctionnalités

Introduction à la plate-forme d'automatisation Ansible

Automatisation de ServiceNow avec Red Hat Ansible Automation Platform

Le nouveau moniteur du système plasma – Est-il bon ?