官术网_书友最值得收藏!

The inventory file

For Ansible to configure hosts when running the playbook, it needs to have a file that contains the list of hosts, that is, the list of IP or Fully Qualified Domain Name (FQDN) addresses of the target machines. This list of hosts is noted in a static file called the inventory file.

By default, Ansible contains an inventory file created during its installation; this file is /etc/ansible/hosts, and it contains several inventory configuration examples. In our case, we will manually create and fill this file in a directory of our choice, such as devopsansible.

Let's do this step by step:

  1. The first step is the creation of the directory with the following basic command:
mkdir devopsansible
cd devopsansible
  1. Then, let's create a file named myinventory (without an extension), in which we write the IP addresses or the FQDN of the targets hosts, as in this example:
192.10.14.10
mywebserver.entreprise.com
localhost

When Ansible is executed based on this inventory, it will execute all of the requested actions (playbook) on all hosts mentioned in this inventory.

For more information about the inventory file, read the documentation:  https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html.

However, in the real usage of Ansible in enterprise, the same Ansible code (or playbook) contains the configuration actions performed for all of the VMs of an application. Since these VMs have different roles within the application, such as an application that consists of one (or more) web server and one database server, we must divide our inventory to properly separate the VMs by functional roles.

To group VMs by role, in the inventory, we will organize our VMs into groups that will be noted between [], which gives us the following inventory:

[webserver]
192.10.20.31
mywebserver.exemple.com

[database]
192.20.34.20

In this example, we have defined two groups, webserver and database, and all hosts are distributed in each of their groups.

For another example, we can also group the hosts by environments with this sample inventory:

[dev]
192.10.20.31
192.10.20.32

[qa]
192.20.34.20
192.20.34.21

[prod]
192.10.12.10
192.10.12.11
We will see later in this chapter how these groups will be used in playbook writing.

Now, let's look at how to complete our inventory with the configuration of hosts.

主站蜘蛛池模板: 泰安市| 日照市| 定日县| 长垣县| 莫力| 德庆县| 图木舒克市| 河北区| 道孚县| 瑞安市| 马鞍山市| 永登县| 沙雅县| 新沂市| 阳山县| 渭源县| 永吉县| 伊川县| 连州市| 临江市| 星子县| 新竹市| 康平县| 辽宁省| 任丘市| 新建县| 黎川县| 遂川县| 柘荣县| 云霄县| 高清| 科尔| 临泽县| 遵义县| 红安县| 东安县| 嘉荫县| 南投市| 双流县| 富锦市| 张掖市|