Ansible

From Network Security Wiki



Installation

Adding Repository:

sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible

Installation:

sudo apt-get update
sudo apt-get install ansible

Prepare the Remote Host

Generate SSH Key on the Ansible Server:

ssh-keygen

Copy the keys to the Remote Server:

ssh-copy-id -i ~/.ssh/id_rsa.pub aman@10.100.8.103

Test the Connection using SSH Keys:

ssh aman@10.100.8.103

Configure Ansible

Edit Ansible Hosts File:

sudo nano /etc/ansible/hosts

Create a Host:

my_server ansible_ssh_host=10.100.8.103

Or Create a Group:

[my_web_servers]
host1 ansible_ssh_host=192.0.2.1
host2 ansible_ssh_host=192.0.2.2
host3 ansible_ssh_host=192.0.2.3

Execute Commands

ansible -m ping all
ansible -m shell -a 'free -m' host1

Notebooks

  • Ansible Command line can be used to make small changes.
  • Real Usage of Ansible is its scripting capabilities using - Playbooks.
 Puppet => Module
 Chef => Cookbook
  • Use Playbooks to perform many actions on multiple machines.
  • Playbooks are written in - YAML
Playbooks have 3 sections
  1. Target Section - Defines all Hosts on which this playbook will be executed.
  2. Variable Section - Defines variables which cab be used from the playbooks.
  3. Tasks Section - Lists all modules intended to run in order.
        This section is under construction.



References





{{#widget:DISQUS |id=networkm |uniqid=Ansible |url=https://aman.awiki.org/wiki/Ansible }}