|
Ansible is pretty easy to get going, but it doesn't manage state at all, it's basically glorified shell scripts that run in parallel. So if you run a playbook that adds a package, and then later you decide that you don't want that package, you need to add a rule to remove the package. If you have to manage long-running physical servers, you need to think a bit carefully about what you're doing; the state of a machine is going to be the sum of all ansible recipies that have ever been run on it, not just the most recent one. So things like "lineinfile" that seem super convenient can bite you in the rear end. I think it's pretty good if your process is to always spin up a clean VM and run ansible against it, and then if you want to change something you always spin up a new one and kill the old one (i.e. the "cattle not pets" mentality). Also, do yourself a favor and store your inventory files in a separate place than your playbooks so you don't have to do a commit to add a new host. edit: I don't know if Chef or Puppet are any better at this, I was just surprised at how little Ansible actually does.
|
# ¿ Mar 1, 2015 22:09 |
|
|
# ¿ Apr 29, 2024 14:22 |