1
0
Fork 0
trainings/ansible/training/lessons/1-intro.md

1.8 KiB

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 setupmodule 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?