docs: add README.md with project description and usage instructions

This commit is contained in:
Namu
2026-06-19 19:20:25 +02:00
parent 9e8d248a02
commit 9df10d8442

62
README.md Normal file
View File

@@ -0,0 +1,62 @@
# 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 une clé SSH configurée (`~/.ssh/id_rsa`).
### 1. Cloner le dépôt et entrer dans le dossier
```bash
git clone <url-du-depot>
cd ansible-pi
```
### 2. Installer les dépendances Python
Il est fortement recommandé d'utiliser un environnement virtuel :
```bash
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 :
```bash
ansible-galaxy collection install -r requirements.yml
```
---
## 🚀 Utilisation du Projet
Le projet utilise les fonctionnalités interactives d'Ansible (`vars_prompt`) afin de ne stocker aucune IP ou information sensible en clair.
Pour lancer le provisionnement, exécutez la commande suivante :
```bash
ansible-playbook -i inventory.ini playbook.yml
```
Lors du démarrage, 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`).
Ansible effectuera ensuite toutes les étapes de configuration automatiquement.