winlicli
Goto Top

Gibt es für Ansible Module wie in Puppet?

Hi zusammen,

in Puppet kann man ja anhand von bestimmten Modulen sich bestimmte Tools wie zb Apache komplett konfigurieren lassen.
Man gibt dann in der jeweiligen Puppet Konfig die Key - Value´s ein und Puppet kümmert sich dann um die Konfigurationsdatei auf dem Zielserver.

Gibt es solche Module auch für Ansible?

Momentan kenne ich es nur so, dass man sich eine bereits fertig eingerichtete Konfig vom Ansibleclient zum Zielserver kopiert, oder sich die gewünschten Parameter
in die Konfig des Tools mit Ansible rein schreibt.

Was sagen die Ansiblekenner dazu?

Lg

Content-ID: 437277

Url: https://administrator.de/contentid/437277

Ausgedruckt am: 24.11.2024 um 14:11 Uhr

reiner.neid
Lösung reiner.neid 16.05.2019 um 13:55:59 Uhr
Goto Top
Hi,


Gibt es solche Module auch für Ansible?

Ja solche Module gibt es auch für Ansible. Hier kannst du dir alle Module anschauen:
https://docs.ansible.com/ansible/latest/modules/modules_by_category.html

Für den Apache gibt es das nicht. Da ist es meiner Meinung nach aber auch besser so.

Momentan kenne ich es nur so, dass man sich eine bereits fertig eingerichtete Konfig vom Ansibleclient zum Zielserver kopiert, oder sich die gewünschten Parameter
in die Konfig des Tools mit Ansible rein schreibt.

Was sagen die Ansiblekenner dazu?


Macht man mit vielen Dingen in Ansible so. Das Template Modul wird dafür gerne verwendet:
https://docs.ansible.com/ansible/latest/modules/template_module.html

Du hast eine Template Config die du jedoch mit Variablen Namen füllst, und beim "Kopiervorgang" werden die Variablen dann ersetzt durch die Werte die für deinen Host/deine Gruppe gelten.

Bsp Apache:
# vhost.conf.j2

NameVirtualHost *:80

{% for vhost in apache_vhosts %}
<VirtualHost *:80>
  ServerName {{ vhost.servername }}
  DocumentRoot {{ vhost.documentroot }}
{% if vhost.serveradmin is defined %}
  ServerAdmin {{ vhost.serveradmin }}
{% endif %}
  <Directory "{{ vhost.documentroot }}">  
    AllowOverride All
    Options -Indexes FollowSymLinks
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

{% endfor %}

# variablen definiert in playbook, host_vars/group_vars

vars:
  apache_vhosts:
    - {servername: "www.domain.tld", documentroot: "/www/domain"}  
    - {servername: "www.otherdomain.tld", documentroot: "/www/otherdomain", serveradmin: "webmaster@otherdomain.tld"}  

Wenn du dich mit der Syntax gut auskennst kannst du da sehr mächtige Dinge anstellen.
WinLiCLI
WinLiCLI 20.05.2019 um 15:03:20 Uhr
Goto Top
das mit den templates kommt dem schon so ziemlich nahe was ich mir vorgestellt habe.

danke dafür.

lg