Install and configure ansible on centos 7
What is Ansible?
- Ansible is an Automation tool. It used to configure systems, deploy softwares and it also provides zero downtime rolling updates.
- Ansible was designed to make simple and ease to use. And also focused on security and reliability. Ansible uses an SSH connection for transport.
- Ansible ease, simplify the work of all users such as developers, sysadmin, and release engineers etc.
- It can be used to handle all type of environment from small to very large enterprises.
- It can easily be connected with Kerberos, LDAP, and all types of centralized management systems.
Install and configure ansible on centos 7, what are its requirements?
We need an epel-release repository, git, python, pip, OpenSSL, and then ansible
Command to install ansible with its requirements
yum install epel-release && yum install git python-devel python-pip openssl ansible
Check the install of ansible and it will also show the path to its configuration and hosts file
ansible –version
Now edit the ansible configuration file
vim /etc/ansible/ansible.hosts
uncomment
inventory = /etc/ansible/hosts
sudo_user=root #enabling the sudo permissions
Now edit the hosts file
vim /etc/ansible/hosts
mv hosts hosts.original
Create a new host file
vim hosts
[local]
localhost
[centos]
techouse.labserver.com
[ubuntu]
dtlegal.labserver.com
Create a new user for ansible
useradd ansible
Authenticate user with password
passwd ansible
Give user permission as sudo user.
How to give sudo permission too any user.
visudo
For centos
ansible ALL=(ALL) NOPASSWD: ALL
For ubuntu
ansible ALL=(ALL) NOPASSWD: ALL
Ansible SSH connection should be setup through key exchange if use ansible through password then its not possible to work with password because every time connection will break.
ssh-keygen
su – ansible
ssh-cop-id [email protected]
ssh-cop-id [email protected]
Check the hosts file again
cat /etc/ansible/hosts
Now we will run ansible commands with its options and will test our clients system
ansible all -a “ls -al /home/ansible”
ansible all -m ping
Now there is one scenario , How to run command with sudo privilages
Answer is Use option -s (run command with sudo permission)
ansible all -s -a “cat /var/log/messages”
How to run command for single user
ansible username -s -a “cat /var/log/messages”
ansible localhost -s -a “cat /var/log/messages”
=============================
How to copy file using copy module
ansible centos -m copy -a “src=test.txt dest=/tmp/test.txt”
How to install packages using ansible
ansible centos -m yum -a “name=elinks state=latest”
ansible centos -s -m yum -a “name=elinks state=latest”
How to remove and install package
ansible centos -s -m yum -a “name=elinks state=absent”
How to create user in ansible
ansible centos -m user -a “name=test”
How to remove user using ansible
ansible centos -m user -a “name=test state=absent”
Important Links