Le blog de Genma
Vous êtes ici : Accueil » Informatique » Chatonkademy » Chatonkademy - Billet N°2 - Ansible pour les mises à jour

Chatonkademy - Billet N°2 - Ansible pour les mises à jour

D 18 avril 2018     H 09:00     A Genma     C 1 messages   Flattr cet article Logo Tipee

TAGS : Planet Libre Chatonkademy Sysadmin Tutoriaux Ansible

Série de billets sur le projet Chatonkademy

Introduction

Un billet déjà écrit avec quelques commandes Ansible Jouons avec Ansible et Virtualbox, dans celui-ci je donnerai quelques astuces et commandes sur l’usage d’Ansible pour des choses simples. En effet, le projet Chatonkademy contient, entre autre 40 machines virtuelles sous Debian 9 (une par étudiant), que je souhaite gérer facilement. D’où Ansible.

Prérequis

Avoir des machines installées, avec un serveur SSH actif et configuré. L’installation des 40 machines, la configuration par SSH (pour automatiser la création de l’utilisateur, de la machine etc.) fera l’objet d’un billet plus complexe sur Ansible. Car il y a une seule IP publique pour la machine superviseur (sous Proxmox), on part d’un parc de 40 machines déjà installées et configurées à minima. Toutes accessibles en SSH sur un port différent du 22 (avec redirection au niveau de l’hyperviseur).

Connexion SSH par clef publique

Copie de la clef ssh publique de l’utilisateur que j’ai sur ma machine principale (j’ai le même utilisateur sur les machines en face) sur toutes les machines via

#!/bin/bash
sshpass -p 'password' ssh-copy-id genma@chaton01.chatonkademy.com -p 20122
sshpass -p 'password' ssh-copy-id genma@chaton02.chatonkademy.com -p 20222
sshpass -p 'password' ssh-copy-id genma@chaton03.chatonkademy.com -p 20322

Pour pouvoir me connecter en ssh depuis ma machines dans .ssh/config j’ai ajoué

host chaton01.chatonkademy.com
 HostName chaton01.chatonkademy.com
 Port 20122
host chaton02.chatonkademy.com
 HostName chaton02.chatonkademy.com
 Port 20222
host chaton03.chatonkademy.com
 HostName chaton03.chatonkademy.com
 Port 20322
(...)

Ansible les bases

Dans le fichier /etc/ansible/hosts j’ai ajouté

[chatonkademy_std]
chaton01.chatonkademy.com:20122
chaton02.chatonkademy.com:20222
chaton03.chatonkademy.com:20322
(...)

Quelques tests avec un appel de commande pour valider qu’Ansible marche bien

ansible chatonkademy_std -m command -u genma --args "uptime" --one-line
ansible chatonkademy_std  -m command -u genma --args "df -h" --one-line

On remplacera le args par une commande simple que l’on veut et on redirigera la sortie standard dans un fichier que l’on analysera par la suite.

Ansible playbook pour mises à jours

Création d’un playbook Ansible pour les mises à jours dans le fichier hosts update_upgrade.yml

---
- hosts: chatonkademy_std
 remote_user: genma
 become_method: sudo
 become_user: root

 tasks:
 - name: update and upgrade apt packages
   apt:
     update_cache=yes
     state=latest
     upgrade=yes

Lancement du playbook

ansible-playbook -i /etc/ansible/hosts update_upgrade.yml -K

Résultat de l’exécution

ansible-playbook -i inventory/production/chatonkademy update_upgrade.yml -K
SUDO password:
[DEPRECATION WARNING]: Instead of sudo/sudo_user, use become/become_user and make sure become_method is 'sudo' (default). This feature will be removed in version 2.6.
Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

PLAY [chatonkademy] **********************************************************

TASK [Gathering Facts] ******************************************************
ok: [chaton01.chatonkademy.com]
ok: [chaton02.chatonkademy.com]
ok: [chaton03.chatonkademy.com]
ok: [chaton04.chatonkademy.com]

TASK [update and upgrade apt packages] **************************************
[WARNING]: Could not find aptitude. Using apt-get instead.
changed: [chaton04.chatonkademy.com]
changed: [chaton01.chatonkademy.com]
changed: [chaton03.chatonkademy.com]
changed: [chaton02.chatonkademy.com]

PLAY RECAP *****************************************************************
chaton02.chatonkademy.com : ok=2    changed=0    unreachable=0    failed=0  
chaton03.chatonkademy.com : ok=2    changed=0    unreachable=0    failed=0  
chaton04.chatonkademy.com : ok=2    changed=0    unreachable=0    failed=0

Conclusion

Les machines virtuelles sont utilisables via Ansible pour la maintenance etc. On va pouvoir des choses intéressantes. A suivre dans un projet billet sur le projet Chatonkademy !

 Les Tags - mots clefs de ce article

logo clef logo clef logo clef

 Vous aimez cet article? Soutenez le blog et partagez-le ;-)

Logo Tipee Flattr icon  Facebook icon  Twitter icon  Diapora icon   Licence Creative Commons

1 Messages

Un message, un commentaire ?
modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Conférences

Médiathèques vous recherchez un conférencier sur l’éducation populaire et l’hygiène numérique? Jetez un coup d’oeil à mon CV

Date des prochaines conférences?
Cliquer ici

Rechercher sur le blog

Liens

Logo Flattr Logo Gmail Logo Twitter
Logo RSS Logo Linkedin Logo GitHub
Logo Gitlab Logo Mastodon
Logo Diaspora

Soutenir ce blog?

Logo Tipee Logo Liberapay

Licence

Licence Creative Commons

Derniers articles

1.  Retour d’expérience avec Borg comme outil de sauvegarde

2.  Illang : The Wolf Brigade sur Netflix

3.  Un exemple des problématiques de design et d’interface du logiciel libre

4.  Anisong le podcast

5.  Soucis d’encodage dans les noms de fichiers

6.  L’Agent Zabbix qui ne répond plus

7.  Devenir SysAdmin d’une PME - De l’importance de l’expérience

8.  Devenir SysAdmin d’une PME - De l’importance du retex suite à un incident

9.  La série Good Doctor

10.  Nextcloud et l’application Notes


Date de mise à jour :

Le 10 décembre 2018