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.
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
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:
Installer salt le minion dans la vm du docker
wget -O - http://bootstrap.saltstack.org | sh
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