Bonjour,
Dans le cadre d'un stage, on m'a demandé de choisir entre différents logiciel d'automatisation comme Puppet, Chef, CFEngine, Ansible, SaltStack …
J'ai commencé à regarder SaltStack (notamment par se que il est écrit en python), mais j'ai du mal à comprendre la notion de « module ».
Ces modules sont un ensemble de fichier de configuration permettent de déployer un paquet, par exemple Apache ou owncloud ou même openstack.
Mais ce que je n'ai pas compris c'est comment décrire la configuration que l'on veut de ce paquet ?
Visiblement, c'est avec un fichier pillar mais j'avoue que là je suis perdu…
Si quelqu'un connaît SalStack et pourrait rapidement m'expliquer … ca m’arrangerais beaucoup !
Merci par avance.
# Pas un pillar…
Posté par Framasky (site web personnel) . Évalué à 3.
Les fichiers pillar ne sont là que pour contenir des données que tu ne veux pas mettre dans tes formules (genre le nom de la communauté snmp que tu vas mettre dans snmpd.conf, ce genre de choses) ou des données qui vont être réutilisées dans différentes formules ou sur lesquelles tu vas boucler.
Tu dois créer des formules, éventuellement en utilisant les données des pillar, et éventuellement en utilisant le langage de template Jinja.
Pour installer apache, une formule pour Debian serait
Peut-être que la présentation de Salt que j'avais faite pourrait t'être utile : https://slides.fiat-tux.fr/slides_salt/index.html
Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.
[^] # Re: Pas un pillar…
Posté par Skilgannon . Évalué à 1.
Ok merci pour l'explication, mais du coups, je poursuis avec mon exemple apache, comment je peux spécifier à salt que je voudrais que le site soit : unexemple.fr et qu'il soit en ssl ?
Quand on regarde dans le fichier pillar.exemple du module Apache et surtout dans le code des fichers .sls on voit que l'on peut spécifier le nom du serveur / du site que l'on veut, on peut même activer des modules dont le ssl.
Mais où indique t on cela ?
On créer un nouveau fichier se basant sur le fichier (/srv/formulas/apache-formula/apache/vhosts/standard.tmpl)?
Mais si oui comment lui indique t on qu'il doit utiliser le fichier monsite.tmpl plutôt que standard.tmpl ?
Merci encore pour l'aide.
[^] # Re: Pas un pillar…
Posté par Framasky (site web personnel) . Évalué à 3.
Tu copies le fichier pillar.exemple dans ton /srv/pillar (n'oublie pas d'autoriser ton minion à y accéder dans ton /srv/pillar/top/sls) et tu le modifies selon tes besoins. C'est là-dedans que tu vas donner le nom de ton site (l36,
ServerName: mysupersite.org
, les autres trucs de conf sont pareils, à changer dans les pillars).Éventuellement, tu peux effectivement créer un mytemplate.tmpl en pompant standard.tmpl, histoire d'avoir un template moins verbeux et qui correspond mieux à tes besoins.
Pour lui dire d'utiliser mytemplate.tmpl, regardes ligne 21 de l'exemple de pillar.
Perso, je n'utilise pas les salt-formulas qui sont sur https://github.com/saltstack-formulas/, je préfère faire mes formules moi-même (ce qui n'empèche absolument pas de s'en inspirer).
Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.
[^] # Re: Pas un pillar…
Posté par Skilgannon . Évalué à 1.
donc si j'ai bien compris, on a :
/srv/formulas
pour l’installation de paquet avec github ou/srv/salt
pour nos formuleset
/srv/pillar
pour leur conf?
On a 3 top.sls là, il me semblait qu'il devait y en avoir qu'un (celui de la premier salt).
Ou alors je suis encore carrément à coté de la plaque!!!
[^] # Re: Pas un pillar…
Posté par Framasky (site web personnel) . Évalué à 3.
Et oui, trois top.sls. Moi je n'ai que /srv/salt et /srv/pillar donc je n'en ai que deux, mais je pense qu'il est normal que /srv/formulas ait aussi son top.sls.
Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.
[^] # Re: Pas un pillar…
Posté par Skilgannon . Évalué à 1. Dernière modification le 21 mai 2015 à 10:20.
par exemple (tjs dans le cas de apache):
/srv/salt:
{% if grains['os_family']=="Debian" %}
le nom du paquet est apache est apache2,
{% if grains['os_family']=="RedHat" %}
le nom du paquet est apache est httpd,
et
/srv/pillar
(peut importe l'OS aka on a réglé ca dans /srv/salt)
dans mes machines du groupe dev :
je veux que un vhost qui écoute sur le port 81, nommé test.exemple.fr
et un autre sur le port 8080 nommé azerty.fr
dans mes machines du groupe dev :
je veux que un vhost qui écoute sur le port 81, nommé monentreprise.fr
En tout cas merci je commence à comprendre un peu mieux ce schmilblick!!!
[^] # Re: Pas un pillar…
Posté par Skilgannon . Évalué à 1.
EDITE: heu pour les noms de paquets, je viens de voir que la doc officielle gère ça dans un pillar alors que par exemple il me semble que le apache-formula gére ça. -_-"
PS: on a un temps minimum pour éditer un message ?
[^] # Re: Pas un pillar…
Posté par Framasky (site web personnel) . Évalué à 3.
5 minutes je crois
Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.
[^] # Re: Pas un pillar…
Posté par Skilgannon . Évalué à 1.
une autre petite question, comment autorise tu un ou pls des minions au pillar ?
j'ai mis il me prend pas en compte les modification que j'apporte grâce à mon
/srv/pillar/top.sls
??ca serait si tout le contenu de mon du pillar qui est dans
/srv/pillar/top.sls
serait dans/srv/pillar/apache.sls
non ?[^] # Re: Pas un pillar…
Posté par Skilgannon . Évalué à 1.
oui autosatisfaction récursive!
non sans dec, ci dessous, ce que j'ai compris,
En gros vous avez bien la branche
/srv/salt/
avec le fichier top.sls qui décrit votre "infrastructure", qui contient par exemple :
Et les dossiers packetdebase et apache qui contient les deux un dossier init.sls dans lequel on gère l’installation des paquets
et la branche /srv/pillar/ qui contient aussi un fichier top.sls avec une arborescence pour la conf.
Perso, j'ai bien toute cette structure, la branche pillar fonctionne, pour preuve
me met bien ma configuration personnelle, avec le bon nom pour le vhost et tout. Cependant je n'ai pas les fichiers de conf correspondant sur le minion.salt '*' pillar.data
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.