Modifications entre les versions 1 et 2
Version 1 à la date du 2016-02-17 22:49:10
Taille: 881
Commentaire: premier jet… juste quelques notes
Version 2 à la date du 2016-02-18 18:02:04
Taille: 3579
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 4: Ligne 4:


== Démarrer avec Ansible ==

Voici quelques instructions pour démarrer rapidement avec Ansible :

 * se placer sur une machine bien sécurisée, depuis laquelle on se gérera ensuite toutes les autres machines (via des connexions SSH) :
  * dans une petite implantation, avec peu de machines à gérer, cela pourra être le poste client du responsable technique
  * dans une implantation plus importante, on pourra dédier une machine pour la gestion technique
 * installer « la bonne version » de Ansible (pour le moment une 1.9, pas la 2.0) : {{{
sudo pip install 'ansible == 1.9.4'
}}}
 * se placer dans un dossier de travail, par exemple : {{{
mkdir ~/sysadmin ; cd ~/sysadmin
}}}
## * cloner le dépôt ansible de l'AUF : {{{
##cd ~/sysadmin ; git clone git://git.auf.org/ansible.git
##}}}
## . (!) pour mettre à jour ce dépôt par la suite il suffira de lancer les commandes suivantes : {{{
##cd ~/sysadmin/ansible ; git pull
##}}}
## * ajouter les scripts ansible AUF à vos chemins d'exécutables (`PATH`) : {{{
##cat << __EOF__ >> ~/.profile
##if [ -d "$HOME/sysadmin/ansible/scripts" ] ; then
## PATH="$PATH:$HOME/sysadmin/ansible/scripts"
##fi
##__EOF__
##}}}
 * créer un fichier de configuration `ansible.cfg` : {{{
[default]
inventory = ./hosts
}}}
 * créer un fichier d'inventaire des machines à gérer `hosts`, par exemple : {{{
[ca-debian]
www.auf.org
sogo.ca.auf.org
mail.ca.auf.org

[ca-bsd]
pfsense.wifi.ca.auf

[ca:children]
ca-debian
ca-bsd
}}}
 * vérifier que tout est fonctionnel :
  * vérifier l'accès SSH : {{{
ssh www.auf.org
}}}
  . (!) il faut une première connexion pour enregistrer la clé publique du serveur
  . (!) il faut que l'accès puisse se faire sans demander le mot de passe de la clé SSH<<FootNote(il faut utiliser `ssh-agent` pour ce faire, ce qui est automatique avec une session graphique Ubuntu, puis transférable en utilisant un `ssh -A` pour se connecter sur la machine de gestion)>>
  * vérifier le bon fonctionnement de Ansible : {{{
ansible all -m ping
}}}
  . (!) Ansible nécessite, du côté de la machine à laquelle il se connecte, la présence d'un Python avec support JSON, donc soit Python 2.7, soit une version inférieure à laquelle on ajoutera la librairie simplejson (`sudo apt-get install python-simplejson`)
 * expérimenter l'équivalent de `dsh` : {{{
ansible all -m command -a 'uname -a'
}}}
 * expérimenter le script AUF de bilan des versions Debian avec Ansible pour MoinMoin : {{{
wget -O ansible-debian-versions 'http://git.auf.org/?p=ansible.git;a=blob_plain;f=scripts/ansible-debian-versions'
python ansible-debian-versions all
}}}
Ligne 20: Ligne 83:
----

Cette page présente l'utilisation de Ansible à l'AuF.

Page en cours de rédaction…

Démarrer avec Ansible

Voici quelques instructions pour démarrer rapidement avec Ansible :

  • se placer sur une machine bien sécurisée, depuis laquelle on se gérera ensuite toutes les autres machines (via des connexions SSH) :
    • dans une petite implantation, avec peu de machines à gérer, cela pourra être le poste client du responsable technique
    • dans une implantation plus importante, on pourra dédier une machine pour la gestion technique
  • installer « la bonne version » de Ansible (pour le moment une 1.9, pas la 2.0) :

    sudo pip install 'ansible == 1.9.4'
  • se placer dans un dossier de travail, par exemple :

    mkdir ~/sysadmin ; cd ~/sysadmin

  • créer un fichier de configuration ansible.cfg :

    [default]
    inventory = ./hosts
  • créer un fichier d'inventaire des machines à gérer hosts, par exemple :

    [ca-debian]
    www.auf.org
    sogo.ca.auf.org
    mail.ca.auf.org
    
    [ca-bsd]
    pfsense.wifi.ca.auf
    
    [ca:children]
    ca-debian
    ca-bsd
  • vérifier que tout est fonctionnel :
    • vérifier l'accès SSH :

      ssh www.auf.org
    • (!) il faut une première connexion pour enregistrer la clé publique du serveur

    • (!) il faut que l'accès puisse se faire sans demander le mot de passe de la clé SSH1

    • vérifier le bon fonctionnement de Ansible :

      ansible all -m ping
    • (!) Ansible nécessite, du côté de la machine à laquelle il se connecte, la présence d'un Python avec support JSON, donc soit Python 2.7, soit une version inférieure à laquelle on ajoutera la librairie simplejson (sudo apt-get install python-simplejson)

  • expérimenter l'équivalent de dsh :

    ansible all -m command -a 'uname -a'
  • expérimenter le script AUF de bilan des versions Debian avec Ansible pour MoinMoin :

    wget -O ansible-debian-versions 'http://git.auf.org/?p=ansible.git;a=blob_plain;f=scripts/ansible-debian-versions'
    python ansible-debian-versions all

Notes

Ansible avec pfSense

Pour pouvoir utiliser Ansible avec pfSense il est nécessaire d'y installer Python (2.7 recommandé).

Voici un exemple de commande pour pfSense 2.1 :

pkg_add -r http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/amd64/8.3-RELEASE/packages/Latest/python27.tbz

Il sera ensuite nécessaire de spécifier le chemin particulier de l'interpréteur Python dans notre inventaire :

pfsense.wifi ansible_python_interpreter=/usr/local/bin/python

Source : http://www.laurent-napias.com/post/2015/08/29/connexion-ansible-sur-pfsense-nas-qnap-et-synology


  1. il faut utiliser ssh-agent pour ce faire, ce qui est automatique avec une session graphique Ubuntu, puis transférable en utilisant un ssh -A pour se connecter sur la machine de gestion (1)

Ansible (dernière édition le 2016-09-09 22:57:17 par JeanChristopheAndré)