GNU/Linux >> Tutoriels Linux >  >> Linux

Comment gérer l'hôte Windows distant à l'aide d'Ansible

Ansible devient de plus en plus la plate-forme incontournable pour le déploiement d'applications et le provisionnement de logiciels parmi les développeurs en raison de sa facilité d'utilisation et de sa flexibilité. De plus, il est facile à configurer et aucun agent ne doit être installé sur des nœuds distants, à la place, Ansible utilise une authentification SSH sans mot de passe pour gérer les hôtes Unix/Linux distants. Dans cette rubrique, cependant, nous allons voir comment vous pouvez gérer l'hôte Windows à l'aide d'Ansible.

Configuration du laboratoire

Nous utiliserons la configuration ci-dessous pour atteindre notre objectif

  • Nœud de contrôle Ansible   –    CentOS 8          –     IP :192.168.43.13
  • Nœud Windows 10         –    Windows 10     –     IP :192.168.43.147

Partie 1 :Installer Ansible sur le nœud de contrôle (CentOS 8)

Avant toute chose, nous devons installer Ansible sur le nœud de contrôle qui est le système CentOS 8.

Étape 1 :Vérifiez que Python3 est installé sur le nœud de contrôle Ansible

Tout d'abord, nous devons confirmer si Python3 est installé. CentOS 8 est livré avec Python3 mais s'il manque pour une raison quelconque, installez-le à l'aide de la commande :

# sudo dnf install python3

Ensuite, faites de Python3 la version Python par défaut en exécutant :

# sudo alternatives --set python /usr/bin/python3

Pour vérifier si python3 est installé, exécutez la commande :

# python --version

 

Lire aussi : Comment installer Ansible (outil d'automatisation) sur CentOS 8/RHEL 8

Étape 2 :Installez un environnement virtuel pour exécuter Ansible

Pour cet exercice, un environnement isolé pour exécuter et tester Ansible est préférable. Cela gardera à distance les problèmes tels que les problèmes de dépendance et les conflits de packages. L'environnement isolé que nous allons créer s'appelle un environnement virtuel.

Tout d'abord, commençons par l'installation de l'environnement virtuel sur CentOS 8.

# sudo dnf install python3-virtualenv

Après l'installation de l'environnement virtuel, créez un espace de travail virtuel en exécutant :

# virtualenv env

# source env/bin/activate

Génial! Observez que l'invite est maintenant changée en (env).

Étape 3 :Installer Ansible

Après la création de l'environnement virtuel, continuez et installez l'outil d'automatisation Ansible à l'aide de pip comme indiqué :

# pip install ansible

Vous pourrez ensuite confirmer l'installation d'Ansible à l'aide de la commande :

# ansible --version

Pour tester Ansible et voir s'il fonctionne sur notre serveur Ansible Control, exécutez :

# ansible localhost -m ping

Génial! Ensuite, nous devons définir l'hôte ou le système Windows sur un fichier hôte sur le nœud de contrôle Ansible. Par conséquent, ouvrez le fichier hosts par défaut

# vim /etc/ansible/hosts

Définissez les hôtes Windows comme indiqué ci-dessous.

Remarque : Le nom d'utilisateur et le mot de passe pointent vers l'utilisateur sur le système hôte Windows.

Ensuite, enregistrez et quittez le fichier de configuration.

Étape 4 :Installer Pywinrm

Contrairement aux systèmes Unix où Ansible utilise SSH pour communiquer avec des hôtes distants, avec Windows, c'est une toute autre histoire. Pour communiquer avec les hôtes Windows, vous devez installer Winrm.

Pour installer winrm, encore une fois, utilisez l'outil pip comme indiqué :

# pip install pywinrm

Partie 2 :Configuration de l'hôte Windows

Dans cette section, nous allons configurer notre système hôte distant Windows 10 pour se connecter au nœud Ansible Control. Nous allons installer le écouteur WinRM- abréviation de Windows Remote – qui permettra la connexion entre le système hôte Windows et le serveur Ansible.

Mais avant cela, votre système hôte Windows doit remplir quelques conditions pour que l'installation réussisse :

  • Votre système hôte Windows doit être Windows 7 ou version ultérieure . Pour les serveurs, assurez-vous que vous utilisez Windows Server 2008 et versions ultérieures.
  • Assurez-vous que votre système exécute .NET Framework 4.0 et plus tard.
  • Windows PowerShell devrait être la version 3.0 et ultérieure

Une fois toutes les conditions remplies, suivez maintenant les étapes stipulées ci-dessous :

Étape 1 :Téléchargez le script WinRM sur l'hôte Windows 10

WinRM peut être installé à l'aide d'un script que vous pouvez télécharger à partir de ce lien. Copiez l'intégralité du script et collez-le dans l'éditeur de bloc-notes. Ensuite, assurez-vous d'enregistrer le script WinRM à l'emplacement le plus pratique. Dans notre cas, nous avons enregistré le fichier sur le bureau sous le nom ConfigureRemotingForAnsible.ps1

Étape 2 :Exécutez le script WinRM sur l'hôte Windows 10

Ensuite, exécutez PowerShell en tant qu'administrateur

Accédez à l'emplacement du script et exécutez-le. Dans ce cas, nous avons navigué jusqu'à l'emplacement du bureau où nous avons enregistré le script. Ensuite, continuez et exécutez le script WinRM sur l'hôte Windows :

.\ConfigureRemotingForAnsible.ps1

Cela prend environ une minute et vous devriez obtenir la sortie ci-dessous. La sortie montre que WinRM a été installé avec succès.

Partie 3 :Connexion à l'hôte Windows à partir du nœud de contrôle Ansible

Pour tester la connectivité à l'hôte Windows 10, exécutez la commande :

# ansible winhost -m win_ping

La sortie montre que nous avons effectivement établi une connexion à l'hôte Windows 10 distant à partir du nœud Ansible Control. Cela implique que nous pouvons désormais gérer l'hôte Windows distant à l'aide d'Ansible Playbooks. Créons un exemple de playbook pour le système hôte Windows.

Partie 4 :Créer et exécuter un playbook pour l'hôte Windows 10

Dans cette dernière section, nous allons créer un playbook et créer une tâche qui installera Chocolatey sur l'hôte distant. Chocolatey est un gestionnaire de paquets pour le système Windows. Le jeu est défini comme indiqué :

# vim chocolatey.yml
---
- hosts: winhost
  gather_facts: no
  tasks:
   - name: Install Chocolatey on Windows10
     win_chocolatey: name=procexp  state=present

Enregistrez et fermez le fichier yml. Ensuite, exécutez le playbook comme indiqué

# ansible-playbook chocolatey.yml

La sortie est un pointeur qui s'est bien passé. Et ceci conclut ce sujet sur la façon dont vous pouvez gérer l'hôte Windows à l'aide d'Ansible.

Lire aussi  : Comment créer des rôles Ansible et les utiliser dans Playbook


Linux
  1. Comment gérer l'inventaire des hôtes statiques et dynamiques Ansible

  2. Comment gérer les fichiers journaux à l'aide de Logrotate sous Linux

  3. Comment gérer les packages NodeJS à l'aide de Npm

  4. Comment monter un partage Windows à distance sur Linux

  5. Comment créer un utilisateur Linux avec Ansible

Comment gérer les instances AWS EC2 à l'aide d'aws-cli

Comment gérer AWS Cloudwatch à l'aide d'aws-cli

Comment gérer les packages Python à l'aide de PIP

Comment utiliser Ansible pour envoyer un e-mail avec Gmail

Comment installer Ansible sur Ubuntu 20.04

Comment sauvegarder un hôte Linux distant à l'aide de l'utilitaire rsnapshot rsync