Configuration Management Systems

Sep 15, 2016, updated Aug 11, 2019 DevOps

Ansible

It is a simple IT automation platform that makes your applications and systems easier to deploy. It uses SSH, no need to install agents on remote systems.

Installation:

mkvirtualenv ansible
workon ansible
pip install ansible

Test Connection:

ansible all -i inventories/dev -m ping
or
ansible all -i inventories/dev -a "/bin/echo hello"

Servers Information

ansible all -i inventories/dev -m setup

Usage:

ansible-playbook playbook.yml -i inventories/dev -u developer -K

To bootstrap a role:

ansible-galaxy init role_name

Tips:

We won’t add sshpass because it makes it too easy for novice SSH users to ruin SSH’s security.

If you insist on installing it:

  brew install https://raw.github.com/eugeneoden/homebrew/eca9de1/Library/Formula/sshpass.rb

SaltStack

You can run salt with a master or masterless.

Bootstrap

curl -L https://bootstrap.saltstack.com -o install_salt.sh
sudo sh install_salt.sh -P

To setup masterless: follow this instructions

http://lanyrd.com/2014/pycon/scxpyz/

salt vs ansible

References: