Premier host cible#

Objectif

  • Créer un répertoire de pilotage pour un host

  • Configurer le dépôt local pour gérer la machine avec Ansible

Prérequis#

Nota Bene

Pour l’exercice, nous prendrons un host fictif que nous nommerons ultimate-server, charge à vous de créer un serveur de test.

Configuration SSH#

  • Créer un répertoire pour les variables dédiées au serveur :

mkdir -p inventories/ultimate/host_vars/ultimate-server/secrets
  • Deposer la clé privée de connexion dans votre répertoire de travail : inventories/ultimate/host_vars/ultimate-server/secrets/private.key

  • Remplissez un fichier inventories/ultimate/ssh.cfg avec les paramètres de connexion au serveur.

 1#
 2# inventories/ultimate/ssh.cfg
 3#
 4Host ultimate-server
 5  Hostname          <IP ADDRESS>
 6  User              <DEFAULT USER>
 7  IdentityFile      host_vars/ultimate-server/secrets/private.key
 8
 9  ControlMaster         auto
10  ControlPath           ~/.ssh/mux-%r@%h:%p
11  ControlPersist        15m
12  ServerAliveInterval   100
13  TCPKeepAlive          yes

L’essentiel pour savoir si vous avez atteint la fin de cette étape est de valider la connexion en lançant :

> cd inventories/ultimate
> ssh -F ssh.cfg ultimate-server

Ajout à l’inventaire#

Une fois votre connexion SSH validée, ajoutez le label de votre serveur à l’inventaire (le fichier inventory) :

1#
2# inventories/ultimate/inventory
3#
4ultimate-server

Vérifiez que votre configuration Ansible pointe bien sur cet inventaire :

> env | grep ANSIBLE_INVENTORY
ANSIBLE_INVENTORY=inventory

Vérifiez que votre configuration Ansible prend en compte votre fichier de configuration SSH :

> env | grep ANSIBLE_SSH_ARGS
ANSIBLE_SSH_ARGS=-F ssh.cfg

Si ce n’est pas le cas, ajustez votre fichier .envrc sans oublier de lancer un direnv allow . après vos modifications.

Premier contact#

  • Lancer la commande :

> ansible -m ping ultimate-server
ultimate-server | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

Ce ping Ansible permet de valider que vous avez bien une connexion SSH valide et qu’il y a au moins une version de Python sur le serveur auquel on se connecte.

Ligne d’arrivée#

Félicitations, vous venez d’effectuer votre premier ping Ansible. Si vous avez bien suivi tous les exercices de la section, vous l’avez fait depuis un projet au propre qui plus est.

Vous avez maintenant un projet de travail sain avec lequel nous allons continuer à jouer.