0% found this document useful (0 votes)
152 views15 pages

Introduction To Ansible: Raghu

This document provides an introduction and overview of Ansible, an open source IT automation tool. It describes Ansible's key features like being agentless, using Python/YAML, and having modules for system management tasks. It also covers installing and configuring Ansible, including generating SSH keys, creating a hosts file, and examples of commands. Finally, it demonstrates how to create an Ansible playbook template to automate NTP installation and explains playbook configurations.

Uploaded by

Sat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
152 views15 pages

Introduction To Ansible: Raghu

This document provides an introduction and overview of Ansible, an open source IT automation tool. It describes Ansible's key features like being agentless, using Python/YAML, and having modules for system management tasks. It also covers installing and configuring Ansible, including generating SSH keys, creating a hosts file, and examples of commands. Finally, it demonstrates how to create an Ansible playbook template to automate NTP installation and explains playbook configurations.

Uploaded by

Sat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

Introduction to Ansible

Raghu
Introduction to Ansible
• Ansible is a radically simple IT automation platform that makes your
applications and systems easier to deploy.

• It support configuration management with examples as below.


• Configuration of servers
• Application deployment
• Continuous testing of already install application
• Provisioning
• Orchestration
• Automation of tasks
Why Automation?
• Tasks in code
• Collaboration
• Eliminate errors
• Write once
• Laziness
• Etc….
Why Ansible
• It is a free open source application
• Agent-less – No need for agent installation and management
• Phython/yaml based
• Highly flexible and configuration management of systems.
• Large number of ready to use modules for system management
• Custom modules can be added if needed
• Configuration roll-back in case of error
• Simple and human readable
• Self documenting
Ansible Architecture
Installation of Ansible

• Install packages below on the Server Machine


• sudo apt-get install python-yaml python-jinja2 python-paramiko
python-crypto python-keyczar ansible

• Install packages below on the client Machines


• sudo apt-get install python-crypto python-keyczar
Create the RSA Key Pair
• The first step is to create the key pair on the Server machine
• ssh-keygen –t rsa

• Once you have entered the Gen Key command, you will get a few more
questions:
• Enter file in which to save the key (/home/test/.ssh/id_rsa):
• Enter no password for the next prompt
• Copy the Public Key
• ssh-copy-id [email protected]
• Repeat the same process for other machines you wish to login automatically with.
• Ensure the test username has sudo access to the remote clients
Configuration of ansible
• Do the following on the Server machine
• Create the list of client machines you wish to access via this server
• vi /etc/ansible/hosts ( And enter the following lines and save file)
• [Servers]
• 192.168.85.135
• 192.168.85.136

• Run the ping command below to see if indeed you are reaching both client
nodes
• ansible -m ping all
Examples of ansible commands
• The output show ping result success as shown below
Examples of ansible commands (Cnt)
• How to run commands to fetch hard drives utilization
• ansible -m command -a 'df -h' Servers

• How to run commands to fetch system uptime


• ansible -m command -a ‘uptime' Servers
Examples of ansible commands ( Cnt)
• The full configuration environment inventory of a particular client
machine can be obtain using the command below.
• ansible -m setup 192.168.85.135 ( output as shown below)
Creating an ansible-playbook template
• Create a template to enable the installation of an NTP service with
content as shown below and file saved as ntp.yml
Understanding ansible playbook configurations
• In order to use ansible with SSH passwords you will need to install the
program below
• sudo apt-get install sshpass
• Ansible-playbook command can be executed to run the ntp.yml file as
below
• ansible-playbook -k -K ntp.yml
• The –k –K switches allow you to be able to use your ssh key and
passwordless sudo.
• Every playbook configuration begins with triple dash ( ----)
• The hosts, tasks, name, action are various instructions commands to
help automate your ntp installation process.
Understanding ansible playbook
configurations (cnt)
• The output of the ansible-playbook command as below
Ansible Documentations
• You can find more explanation in the Ansible Docs.
• Ad-hoc commands
• Inventories
• Variables
• Modules
• Playbook Roles

• Similar tools that does the same function as Ansible are as below.
• Puppet
• Chef
• Salt

You might also like