Creating your inventoryfile

The Ansible inventory file is used by Ansible to reference all known hosts and to which group they belong. A group is defined by placing its name in square brackets, groups can be nested inside other groups by the use of the children definition.

Before we add hosts to the inventory file, we first need to configure the remote nodes for SSH (without password); otherwise, we will have to enter a password every time Ansible tries to connect to a remote machine.

Generate an SSH key as follows:

    $ ssh-keygen 

The preceding command gives the following output:

Copy the key to the remote hosts:

    $ ssh-copy-id mon1

The preceding command gives the following output:

This will need to be repeated for each host. Normally, you would include this step in your Vagrant provisioning stage, but it is useful to carry out these tasks manually the first couple of times so that an understanding of the process is learned.

Now try logging into the machine using ssh mon1:

Type exit to return to the Ansible VM.

Now, let's create the Ansible inventory file.

Edit the file named hosts in /etc/ansible:

    $ sudo nano /etc/ansible/hosts

Create two groups named osds and mons and finally a third group named ceph. This third group will contain the osds and mons groups as children.

Enter a list of your hosts under the correct group, as follows:

[mons] 
mon1
mon2
mon3

[osds]
osd1
osd2
osd3

[ceph:children]
mons
osds
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.22.74.232