Table des matières

salt

permet de déclencher des actions à distance (execution a distance) administration de machines, déploiement de logiciels. basé sur le bus ZeroMQ (bibliotheque C avec wrappers dans bcp de languages, permet d'utiliser beaucoup de protocole de communication simplement genre pub/sub)

ports 4505(bus publication) 4506 (bus de request reply)

architecture master: minion: sur chaque machine a administrer: demande au master le fichier a executer

1 master n minion. syndic est un noeud intermediaire, administré papr un master et peut s'occuper de n minion.

les echange sont chiffrés par AES

lancer le service minion

salt-minion -l info

Toutes les commandes à distance sont les modules fournis de bases.voir la doc pydoc salt.module Demander la salt proxy -d pkg afficher les clés recues par le master

salt-key

accepter la

la machine est t elle vivante salt uid test.ping salt uid

installer un paqket sur une machine

Déployer un paquet sur une machine distante salt uid pkg.install vim

Lancer une commande a distance salt uid

les grains sont les données vivante du systeme: etat du systeme distant.

le returner ou les grains sont retournés et comment ils sont stockés.

installer docker

docker est un systeme de containers dans lesquels on place des vms

les commandes pour l'installation sont listées sur http://get.docker.io/ubuntu

Ajouter la source get.docker.io dans le fichier source.list

deb http://get.docker/io/ubuntu docker main

Accepter la clé

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
sudo apt-get clean
sudo apt-get install lxc-docker

Remarque: sous debian/ubuntu un paquet nommé docker existe mais ce n'est pa le logiciel que nous installons ici

créer une vm

Recueprer une image parmis les images disponibles docker pull saltstack/debian-7

Lancer des containers sur l'image téléchargée docker run -t -i -h toto -n toto saltstack/debian-7

avec:

Installation de salt

Installer salt le minion dans la vm du docker

wget -O - http://bootstrap.saltstack.org | sh

gerer les jobs

Si on arrete un job lancer sur un minion avec ctrl-c, un message indique que le job s'excute toujours sur le minion avec l'uid du job

pour arreter le job, on lance une commade de controle des job salt:

salt proxy saltutil.killjob uid salt proxy saltutil.findjob uid

ficheir de config au format YAML top.sls: fichier de configuration decrit la structure de la communication

ans le fichier de config on peut definir des roles avec le fomat

declaration d'un etat

  base_pkgs:
    pk.installed:
        - pkgs:
          - htop
          - mercurial
          - tree