Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Ansible
  3. Administration Windows
Extrait - Ansible Gérez la configuration de vos serveurs et le déploiement de vos applications (3e édition)
Extraits du livre
Ansible Gérez la configuration de vos serveurs et le déploiement de vos applications (3e édition)
2 avis
Revenir à la page d'achat du livre

Administration Windows

Objectifs du chapitre et prérequis

1. Contexte et prérequis

Ce chapitre est consacré à l’administration et à la gestion des machines Windows à l’aide d’Ansible.

Vous verrez comment mettre en œuvre la communication sur une machine. Vous aborderez également l’installation de paquets à l’aide de Chocolatey, la mise en place de services et la gestion des règles du pare-feu.

Les exemples traités dans ce chapitre partent du principe que vous disposez de droits d’administration sur les machines Windows.

2. Fichiers téléchargeables

Vous pouvez récupérer les exemples sur le repository GitHub suivant : https://github.com/EditionsENI/ansible

Vous pouvez également récupérer ces fichiers dans l’archive chapitre-05.tar.gz depuis la page Informations générales.

Ansible et les machines sous Windows

1. Contexte

Au démarrage d’Ansible, la vocation principale du logiciel était de faire de l’administration de serveur sous Unix/Linux. Pour cela, la communication utilisait essentiellement SSH.

Néanmoins, au moment de la sortie de la version 1.7 d’Ansible, un début de prise en charge des machines Windows a été incorporé. Depuis, le support s’améliore de version en version.

Par la suite, les exemples seront fournis à l’aide d’une machine Windows Server 2016 joignable sous le nom windows1.

2. Prérequis

La gestion des machines sous Windows depuis Ansible nécessite la dépendance Python pywinrm. Cette dernière s’installe avec la commande suivante :

pip3 install pywinrm 

Au niveau du serveur Windows, vous n’aurez aucune dépendance à prévoir (l’interpréteur Python ne sera pas nécessaire). En effet, Ansible utilise le langage PowerShell pour gérer les machines Windows. Il faut juste s’assurer d’avoir au moins la version 3 de PowerShell.

Un compte technique est nécessaire pour pouvoir se connecter aux machines Windows.

3. Configuration de la machine

Vous allez devoir réaliser quelques opérations pour configurer la machine avant de l’administrer avec Ansible.

Le script à récupérer (ConfigureRemotingForAnsible.ps1) est disponible à l’emplacement suivant : https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1

Cette récupération peut se scripter à l’aide d’une suite d’instructions PowerShell....

Gestion de service Windows

1. Contexte

La gestion des machines a été abordée précédemment ainsi que l’installation de paquets. Dans ce qui va suivre, le lecteur va se frotter à un autre type de besoin : la gestion complète d’un service (installation et gestion du démarrage).

L’exemple s’appuie sur l’installation de deux composants : Prometheus et Grafana. Ces deux programmes servent à faire de la surveillance système et applicative et sont disponibles sous la forme de paquet Chocolatey.

L’exercice présenté ici n’a pas vocation à être utilisé dans le cadre d’un déploiement réel de Prometheus et Grafana. N’hésitez pas à consulter le livre Prometheus et Grafana, traitant de ce sujet, du même auteur dans la collection Epsilon paru aux Éditions ENI.

2. Installation de Prometheus

Prometheus est un logiciel libre qui permet de surveiller un ensemble d’éléments et d’alerter en cas de défaillance en fonction de règles. Son fonctionnement s’appuie sur la consultation à intervalle régulier de points d’entrée dédiés. Ces points d’entrée mettent à disposition des indicateurs de l’état de santé d’une application ou d’un composant matériel et peuvent ensuite être consultés depuis le moteur de base de données de Prometheus.

Ce moteur de base de données s’appuie sur la notion de séries temporelles et peut être interrogé à l’aide d’un langage spécifique :...

Création de service

1. Installation de Grafana

a. Présentation de Grafana

Grafana est un logiciel de visualisation de données. Il permet la réalisation de tableaux de bord contenant des indicateurs ou des graphiques. Prometheus peut notamment servir de source de données.

b. Création du playbook

Afin de procéder à l’installation du paquet Grafana, le playbook de Prometheus va être repris et adapté de la manière suivante :

  • Changement des références de Prometheus par Grafana.

  • Changement du port d’écoute pour passer de 9090 à 3000 (port d’écoute par défaut de Grafana).

Ci-dessous le playbook résultant de ces indications :

- name: "Install Grafana" 
 hosts: all 
 gather_facts: no 
 tasks: 
 
   - name: "Install Grafana" 
     win_chocolatey: 
       name: "grafana" 
       state: present 
 
   - name: "Configure firewall for grafana" 
     win_firewall_rule: 
       name:      "Grafana server" 
       localport: "3000" 
       action:    allow 
       direction: in 
       protocol:  tcp 
       state:     present 
 ...