Mise en place & Get Started
Prérequis :
- Avoir un poste Linux
- Avoir Docker et Docker Compose d'installé
Installation Ansible
Pour installer Ansible sur linux il convient d'exécuter la commande d'installation suivante :
sudo apt install ansible python3-pip -y
Et pour avoir le lint d'aide :
pip install ansible-lint
Créer des “faux serveurs” avec Docker
Pour ce faire nous allons écrire un docker-compose contenant 4 services tirant les images ubuntu :
version: "3"
services:
marseille:
image: ubuntu:22.04
container_name: marseille
command: sleep infinity
nantes:
image: ubuntu:22.04
container_name: nantes
command: sleep infinity
paris:
image: ubuntu:22.04
container_name: paris
command: sleep infinity
vps:
image: ubuntu:22.04
container_name: vps
command: sleep infinity
Puis créer les conteneurs :
docker compose up -d
Préparer les containers (IMPORTANT) -> Ansible a besoin de Python minimum.
docker exec -it marseille apt update
docker exec -it marseille apt install -y python3
docker exec -it nantes apt update && docker exec -it nantes apt install -y python3
docker exec -it paris apt update && docker exec -it paris apt install -y python3
docker exec -it vps apt update && docker exec -it vps apt install -y python3
Créer un inventaire
Créer le fichier suivant inventory.yml :
all:
children:
main:
hosts:
marseille:
backup:
hosts:
nantes:
paris:
brain:
hosts:
vps:
vars:
ansible_connection: docker
ansible_python_interpreter: /usr/bin/python3
Ici on utilise la connexion Docker (pas SSH).
Test de base de l'inventaire : ansible all -i inventory.yml -m ping
Créer un playbook
Par exemple nous créer le fichier helloworl.yml et y mettre la configuration suivante :
- hosts: all
become: true
tasks:
- name: Install curl
apt:
name: curl
state: present
update_cache: yes
- name: Create test file
file:
path: /tmp/ansible_test
state: touch
Puis exéctuer le playbook sur les "serveurs" : ansible-playbook -i inventory.yml helloworl.yml
Pour vérifier le bon déroulement du playbook nous allons voir si le fichier ansible_test a bien été créé dans les conteneurs :
docker exec -it marseille ls /tmp
Une fois un playbook exécuté, les conteneurs vont garder leurs états et la configuration. Pour nettoyer les serveurs et repartir de zéro, il faut exécuter la commande suivante : docker compose down -v
No comments to display
No comments to display