Files
ansible-pi/README.md
2026-06-19 20:57:07 +02:00

2.2 KiB

Ansible-Pi 🍓

Ce projet permet de provisionner rapidement et de manière automatisée un ou plusieurs Raspberry Pi avec un environnement moderne comprenant Docker, K3s (Kubernetes allégé), et une suite de supervision complète (Prometheus / Grafana).


📋 Description du Projet

L'automatisation est gérée par Ansible et est découpée en plusieurs rôles :

  • Docker : Installe l'environnement d'exécution Docker standardisé avec les dépôts et clés GPG officiels adaptés à l'architecture ARM.
  • K3s : Installe et configure le cluster Kubernetes K3s léger, idéal pour l'Internet des Objets (IoT) et le Edge computing.
  • Prometheus : Déploie la suite de monitoring kube-prometheus-stack via Helm (Prometheus, Grafana, Node Exporter, Alertmanager) avec des configurations optimisées pour ne pas saturer les ressources du Raspberry Pi.

🛠️ Préparation

Prérequis

  • Un ordinateur (machine de contrôle) avec Python 3 et pip installés.
  • Un Raspberry Pi accessible en réseau local via SSH (avec clé SSH ou mot de passe de connexion/sudo).

1. Cloner le dépôt et entrer dans le dossier

git clone <url-du-depot>
cd ansible-pi

2. Installer les dépendances Python

Il est fortement recommandé d'utiliser un environnement virtuel :

python -m venv venv
# Sur Linux/macOS :
source venv/bin/activate
# Sur Windows (PowerShell) :
.\venv\Scripts\Activate.ps1

# Installer Ansible et les bibliothèques requises :
pip install -r requirements.txt

3. Installer les collections Ansible

Le rôle de monitoring utilise des modules Ansible externes pour piloter Kubernetes et Helm. Installez-les via :

ansible-galaxy collection install -r requirements.yml

🚀 Utilisation du Projet

Pour lancer le provisionnement :

ansible-playbook -i inventory.ini playbook.yml

Ansible vous demandera de saisir :

  1. L'adresse IP du Raspberry Pi (ex: 192.168.1.50).
  2. L'utilisateur SSH (ex: pi ou ubuntu, valeur par défaut : pi).
  3. Le mot de passe SSH (utilisé aussi pour sudo).

Ansible effectuera ensuite toutes les étapes de configuration automatiquement.