Ansible Initial Host Configuration.
Ansible knows the hosts and hostgroups from a host file by default it is located as /etc/ansible/hosts.
[root@cyberkeeda ~]# vim /etc/ansible/hosts
One can find many default examples of hosts and hostgroups, some part of it has been pasted below.
# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
# - Comments begin with the '#' character
# - Blank lines are ignored
# - Groups of hosts are delimited by [header] elements
# - You can enter hostnames or ip addresses
# - A hostname/ip can be a member of multiple groups
# Ex 1: Ungrouped hosts, specify before any group headers.
## green.example.com
## blue.example.com
## 192.168.100.1
## 192.168.100.10
# Ex 2: A collection of hosts belonging to the 'webservers' group
## [webservers]
## alpha.example.org
## beta.example.org
## 192.168.1.100
So our server inventory is something like below.
Hostname
|
IP
|
webserver01.cyberkeeda.com
|
192.168.0.101
|
webserver02.cyberkeeda.com
|
192.168.0.102
|
webserver03.cyberkeeda.com
|
192.168.0.103
|
Lets assume a scenario, we have to inatall 3 new Apache httpd servers with help of ansible.
For thios first requirement is to make an entry of hostgroup into ansible’s host file.
Hence we will create a hostgroup named as webservers and append all above three servers into it.
[root@cyberkeeda ~]# vim /etc/ansible/hosts
And align the below lines
[webserver] :
You can use any hostgroup name as per your requirement, choose wisely as going further you will call this hostgroup and all hosts will be considered within it.
Then append all server ip or hostname after hostgroup.
Final entry will look like below one.
[webservers]
webserver01.cyberkeeda.com
webserver02.cyberkeeda.com
webserver03.cyberkeeda.com
Check if it’s working or not with Some basic ansible commands, some are enlisted below
[root@cyberkeeda ~]# ansible -m ping webservers
You can also specify an individual host:
[root@cyberkeeda ~]# ansible -m ping webserver02.cyberkeeda.com
You can specify multiple hosts by separating them with colons:
[root@cyberkeeda ~]# ansible -m ping host1:host2
The shell module lets us send a terminal command to the remote host and retrieve the results. For instance, to find out the memory usage on our host1 machine, we could use:
[root@cyberkeeda ~]# ansible -m shell -a 'free -m' host1
Have a look on the video too.
No comments:
Post a Comment