47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
|
|
# Inventory
|
|
|
|
Until now, you only used ansible to manage `localhost`.
|
|
|
|
But ansible can be used to manage multiple systems that you have in your infrastructure.
|
|
To do so, we must tell ansible which servers compose our infrastructure. This is done thanks to an `inventory` file.
|
|
The default `inventory` file for ansible is located in `/etc/ansible/hosts`.
|
|
|
|
For now, your inventory is empty, so you can create one:
|
|
|
|
```
|
|
mkdir -p /etc/ansible/
|
|
touch /etc/ansible/hosts
|
|
```
|
|
|
|
With an empty `inventory` like that, ansible only knows about `localhost`.
|
|
|
|
|
|
## Demo server
|
|
|
|
### Add a server in your inventory
|
|
|
|
Add the following line at the end of your inventory:
|
|
```
|
|
demo ansible_username=root ansible_password=root ansible_connection=ssh ansible_host=127.0.0.2 ansible_port=2222 ansible_python_interpreter=/usr/bin/python3
|
|
```
|
|
|
|
This line adds our server named `demo` in ansible inventory. It also configure ansible to connect with login `root`, password `root` on port `2222`.
|
|
The server IP address is `127.0.0.2` which sound weird, but that's because it's a docker container running locally (for the demo).
|
|
Finally, we tell ansible to use `python3` interpreter (default is `python`, but it's not available in the demo server).
|
|
|
|
### Check if running
|
|
Try to connect on your demo machine, to see if it's running:
|
|
```
|
|
ssh -p 2222 root@127.0.0.2
|
|
```
|
|
|
|
### ping
|
|
Now use an ansible ad-hoc module to check if ansible is able to connect to this machine
|
|
|
|
```
|
|
ansible ... # complete by yourself / see previous lessons
|
|
```
|
|
|
|
|