Ich komme aus einem Puppet-Hintergrund mit Vagrant und habe einige Schwierigkeiten, Ansible und seine Unterschiede zu verstehen.Ansible Ordnerstruktur
Meine Puppen Struktur sah wie folgt aus:
puppet
----servers
--------Backend
------------Vagrantfile
----src
--------manifests
------------nodes
----------------development
--------------------backend.pp
--------modules
----------------mysql
Einrichtung war einfach, cd zum Vagrantfile und die VM mit Vagrant anwerfen.
Nun ist dies mein erster Entwurf eines ansible Ordnerstruktur:
ansible
----servers
--------Backend
------------Vagrantfile
------------ansible.cfg
----sources
--------backend.yml
--------site.yml
--------inventories
------------development
----------------group_vars
--------------------all
--------------------backend
----------------hosts
--------playbooks
--------roles
------------mysql
Folgende Fragen jetzt:
Ist das beste Praxis für ansible oder zu nahe an Puppet?
Ist es richtig, backend.yml wie ein Marionettenknotenmanifest zu behandeln?
Wo sollte ich
site.yml
undbackend.yml
setzen? This example hat sie im Hauptverzeichnis, während here ist es im Verzeichnis "spielt". Was ist der Unterschied?- Ich denke meine Group_vars in
group_vars/backend
werden nicht richtig verwendet, wie kann ich darauf zugreifen?
Quellen:
http://leucos.github.io/ansible-files-layout/
https://github.com/ansible/ansible-examples
https://github.com/enginyoyen/ansible-best-practises
Als jemand, der Puppet und Ansible tut, sind das keine Best Practices für beide, so dass ein Vergleich schwierig wird. Wenn Sie nur an Ansible-Best Practices interessiert sind (und ich glaube, Sie sind), dann ist die folgende Antwort eher hilfreich für Sie. –