Difference between revisions of "Salt"
Wdenbesten (Talk | contribs) (Uitleg over salt uitgebreid.) |
Wdenbesten (Talk | contribs) |
||
Line 24: | Line 24: | ||
</pre> | </pre> | ||
− | + | Als er een serieuze fout optreed bij de salt-minion kan het nodig zijn om de service te herstarten: | |
+ | <pre> | ||
+ | [root@host ~]# service salt-minion restart | ||
+ | </pre> | ||
+ | ==Salt .sls Config== | ||
+ | De configuratie van een systeem is gespecificeerd in een bestand genaamd init.sls. | ||
+ | |||
+ | <pre> | ||
+ | # Dit is een actueel voorbeeld van een init.sls uit de configuratie van vm-mail. | ||
+ | # Gebruik voor de indentatie van het bestand alleen tabs, anders krijg je vreselijke foutmeldingen. | ||
+ | |||
+ | # Deze sectie is verantwoordelijk voor de installatie van de service Exim. | ||
+ | exim: | ||
+ | pkg: | ||
+ | - installed | ||
+ | service: | ||
+ | # Check met regelmaat of de service nog draait. | ||
+ | - running | ||
+ | # Laat de service automatisch opstarten. | ||
+ | - enable: True | ||
+ | # Herstart de service als er een bestand gewijzigd word in de map /etc/exim/. | ||
+ | - watch: | ||
+ | - file: /etc/exim | ||
+ | |||
+ | # Deze sectie is verantwoordelijk voor het kopiëren van configuratie bestanden naar de minion. | ||
+ | /etc/exim: | ||
+ | # Kopieer recursief de bestanden in salt://aes-vm/vm-mail/exim naar de map /etc/exim op de salt-minion. | ||
+ | file.recurse: | ||
+ | - source: salt://aes-vm/vm-mail/exim | ||
+ | - name: /etc/exim | ||
+ | - user: root | ||
+ | - group: root | ||
+ | - file_mode: 644 | ||
+ | - require: | ||
+ | - pkg: exim | ||
+ | |||
+ | # Met de for loop kan je handmatig bestanden kopieren. Gebruik de recursieve methode indien mogelijk. | ||
+ | # Let op dat gevoelige bestanden zoals certificaten de juiste file permissies krijgen. | ||
+ | {% for e in 'dkim_alef.crt','dkim_alef.key','exim.cert' %} | ||
+ | /etc/exim/{{ e }}: | ||
+ | file.managed: | ||
+ | - source: salt://aes-vm/vm-mail/exim/{{ e }} | ||
+ | - user: exim | ||
+ | - group: exim | ||
+ | - mode: 640 | ||
+ | {% endfor %} | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | Let op: als er een syntax fout staat in de configuratie krijg je een interne python error. | ||
+ | De configuratie is extreem gevoelig voor fouten in spaties / tabs. | ||
+ | Gebruik bijv. de syntax highlighting van vim om fouten te vinden. | ||
==Salt Maps== | ==Salt Maps== | ||
+ | De configuratie bestanden van de salt-minions zijn te vinden in de map /srv/salt/. | ||
* /srv/salt/top.sls : in deze file zijn worden hostnames met een specifieke configuratie verbonden. | * /srv/salt/top.sls : in deze file zijn worden hostnames met een specifieke configuratie verbonden. | ||
* /srv/salt/id_rsa_sysop.pub: deze public key wordt gebruikt voor authenticatie van sysop leden. | * /srv/salt/id_rsa_sysop.pub: deze public key wordt gebruikt voor authenticatie van sysop leden. |
Revision as of 13:25, 12 December 2013
Salt
Salt is verantwoordelijk voor het configureren van de systemen in gebruik bij A-Eskwadraat. Onder configuratie valt bijvoorbeeld het installeren van packages, het updaten van packages, en het configureren van services. De zogenaamde salt-master is verantwoordelijk voor het onderhouden van de salt-minions. De huidige salt-master service draait op vm-salt-master, en de salt-minion service draait onder andere in de vm's op Haskell en de workstations.
Salt master config
Installeer salt-master
yum install salt-master chkconfig salt-master on service salt-master start
Open firewallpoorten tcp 4505 en tcp 4506
Salt minion config
Gebeurt automagisch bij kickstarten.
Herconfigureren van een salt-minion kan handmatig worden gedaan op vm-salt-master:
[root@vm-salt-master ~]# salt '<hostname>' state.highstate
Als er een serieuze fout optreed bij de salt-minion kan het nodig zijn om de service te herstarten:
[root@host ~]# service salt-minion restart
Salt .sls Config
De configuratie van een systeem is gespecificeerd in een bestand genaamd init.sls.
# Dit is een actueel voorbeeld van een init.sls uit de configuratie van vm-mail. # Gebruik voor de indentatie van het bestand alleen tabs, anders krijg je vreselijke foutmeldingen. # Deze sectie is verantwoordelijk voor de installatie van de service Exim. exim: pkg: - installed service: # Check met regelmaat of de service nog draait. - running # Laat de service automatisch opstarten. - enable: True # Herstart de service als er een bestand gewijzigd word in de map /etc/exim/. - watch: - file: /etc/exim # Deze sectie is verantwoordelijk voor het kopiëren van configuratie bestanden naar de minion. /etc/exim: # Kopieer recursief de bestanden in salt://aes-vm/vm-mail/exim naar de map /etc/exim op de salt-minion. file.recurse: - source: salt://aes-vm/vm-mail/exim - name: /etc/exim - user: root - group: root - file_mode: 644 - require: - pkg: exim # Met de for loop kan je handmatig bestanden kopieren. Gebruik de recursieve methode indien mogelijk. # Let op dat gevoelige bestanden zoals certificaten de juiste file permissies krijgen. {% for e in 'dkim_alef.crt','dkim_alef.key','exim.cert' %} /etc/exim/{{ e }}: file.managed: - source: salt://aes-vm/vm-mail/exim/{{ e }} - user: exim - group: exim - mode: 640 {% endfor %}
Let op: als er een syntax fout staat in de configuratie krijg je een interne python error. De configuratie is extreem gevoelig voor fouten in spaties / tabs. Gebruik bijv. de syntax highlighting van vim om fouten te vinden.
Salt Maps
De configuratie bestanden van de salt-minions zijn te vinden in de map /srv/salt/.
- /srv/salt/top.sls : in deze file zijn worden hostnames met een specifieke configuratie verbonden.
- /srv/salt/id_rsa_sysop.pub: deze public key wordt gebruikt voor authenticatie van sysop leden.
- /srv/salt/aes-vm/ : in deze map staan de configuraties voor alle virtuele machines.
- /srv/salt/workstation/ : in deze map staat de configuratie voor de workstations.
- /srv/salt/ernst/ : in deze map staat de configuratie voor ernst.