81
ansible/training/lessons/1-intro.md
Normal file
81
ansible/training/lessons/1-intro.md
Normal file
@@ -0,0 +1,81 @@
|
||||
|
||||
# Before starting
|
||||
## Host and Demo
|
||||
You are currently connected to a server which have docker installed.
|
||||
We will call this server: `localhost`.
|
||||
|
||||
You also have a docker container running in the background.
|
||||
We will call this container: `demo`.
|
||||
|
||||
You can check your containers with:
|
||||
`docker ps`
|
||||
|
||||
During these lessons, you will be ask to use ansible to configure both `localhost` and `demo`
|
||||
|
||||
# Installation
|
||||
|
||||
Install ansible on `localhost`
|
||||
|
||||
```
|
||||
apt-get install ansible
|
||||
```
|
||||
|
||||
# First use
|
||||
|
||||
## Check install
|
||||
Check if ansible is correctly installed (and the version you have):
|
||||
```
|
||||
ansible --version
|
||||
```
|
||||
```
|
||||
ansible 2.7.7
|
||||
config file = /etc/ansible/ansible.cfg
|
||||
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
|
||||
ansible python module location = /usr/lib/python3/dist-packages/ansible
|
||||
executable location = /usr/bin/ansible
|
||||
python version = 3.7.3 (default, Jul 25 2020, 13:03:44) [GCC 8.3.0]
|
||||
|
||||
```
|
||||
|
||||
## Ad-hoc ping
|
||||
Use the builtin `ping` module to do your first ad-hoc command:
|
||||
```
|
||||
ansible localhost -m ping
|
||||
```
|
||||
This should answer with `pong`, like this:
|
||||
```
|
||||
localhost | SUCCESS => {
|
||||
"changed": false,
|
||||
"ping": "pong"
|
||||
}
|
||||
```
|
||||
|
||||
Q: What happened behing the scene?
|
||||
|
||||
## Ad-hoc shell
|
||||
|
||||
The `shell` module is a very nice ansible builtin module that can be use to execute commands on a host, e.g. with localhost:
|
||||
```
|
||||
ansible localhost -m shell -a "hostname"
|
||||
```
|
||||
Result:
|
||||
```
|
||||
localhost | CHANGED | rc=0 >>
|
||||
ansible101
|
||||
|
||||
```
|
||||
Q: what command can you use to get the IP of your machine?
|
||||
|
||||
## Ad-hoc setup
|
||||
The `setup`module is a builtin module that collects data (also known as `facts`) on hosts.
|
||||
These data can then be used as variables in your future playbooks (we will see that later).
|
||||
|
||||
```
|
||||
ansible localhost -m setup
|
||||
```
|
||||
```
|
||||
# long list of variables
|
||||
```
|
||||
|
||||
Q: using this module, what other command can you use to retrieve the ip of your host?
|
||||
|
||||
Reference in New Issue
Block a user