Aller au contenu
  1. Docs/
  2. K3s Kubernetes/

Design goal

·Temps de lecture : 2 minutes· loading · loading · ·
ksh2177
K3s Kubernetes Ansible Raspberry Pi Homelab SSH Automation Cluster Infra-as-Code
ksh2177
Auteur
ksh2177
Ingénieur DevOps passionné par l’automatisation, la fiabilité et le design système.
Auteur
ksh2177
Ingénieur DevOps passionné par l’automatisation, la fiabilité et le design système. J’apporte des solutions robustes et bien pensées.
Table des matières

🎯 Objectifs de conception
#

Ce homelab est à la fois un bac à sable personnel et un environnement de production local, conçu pour expérimenter, apprendre et automatiser en conditions réelles.

Cluster Architecture


⚙️ Principes fondamentaux
#

  • 💡 Simplicité pragmatique
    Architecture sobre, lisible, facile à maintenir. Je privilégie la cohérence et la transparence.

  • 🚀 GitOps natif
    Toute la stack est déclarée dans Git. Un git push = un déploiement traçable via Argo CD.

  • 🔁 Idempotence totale
    Chaque playbook Ansible ou manifeste K8s peut être rejoué sans crainte. Rien n’est fait “à la main”.

  • 📦 Modularité des apps
    Chaque application est isolée dans son propre dossier avec son app.yaml, et déployée via une structure apps/ récursive.

  • 🧱 Infrastructures déclaratives
    De K3s à MetalLB en passant par Longhorn, tout est défini, versionné et reproducible.

  • 🔐 Sécurité intégrée dès le début
    Cert-manager + ingress + IP fixes via MetalLB = une base solide et exposable proprement en HTTPS.

  • 📊 Observabilité dès le départ
    Prometheus, Grafana et Loki sont en place pour tout monitorer. Car un cluster non observé est un cluster aveugle.


🧬 Stack de base
#

ComposantRôle
K3sCluster Kubernetes minimaliste
AnsibleProvisioning initial des nœuds
SemaphoreInterface pour déclencher les playbooks
Argo CDGitOps controller (App-of-Apps)
LonghornStockage persistant (via iSCSI NAS)
MetalLBAttribution d’IP pour services LoadBalancer
Ingress-NGINXEntrée réseau + TLS
Cert-managerGestion des certificats Let’s Encrypt
PrometheusCollecte métriques
GrafanaDashboards
LokiLogs

🔁 GitOps Workflow
#

1. kubectl apply -f bootstrap/homelab.yaml
2. homelab.yaml crée l'application “apps”
3. apps.yaml scanne récursivement le dossier apps/
4. Chaque app.yaml est déployé automatiquement

💭 Pourquoi ce homelab ?
#

  • Pour expérimenter sans casser en prod
  • Pour documenter des déploiements complexes
  • Pour monter en compétences (K8s, GitOps, observabilité)
  • Pour centraliser mes services auto-hébergés (Home Assistant, etc.)

🔚 En résumé
#

Un cluster personnel, propre, traçable et prêt à grandir.
🔁 Du provisioning au monitoring, tout est piloté depuis Git.


Dernière mise à jour : juillet 2025

Articles connexes

Déploiement des nœuds K3s avec Ansible
·Temps de lecture : 2 minutes· loading · loading
ksh2177
K3s Ansible Playbook Cluster Automation Raspberry Pi DevOps
Installer automatiquement le nœud master et les nœuds workers dans un cluster K3s à l’aide de playbooks Ansible personnalisés.
Storage settings
·Temps de lecture : 9 minutes· loading · loading
ksh2177
K3s Kubernetes Storage Longhorn Ansible Raspberry Pi PersistentVolume DevOps Homelab
Choix, préparation et installation de Longhorn comme solution de stockage persistant Kubernetes pour K3s sur Raspberry Pi, avec montage automatique via Ansible.
Matériel
·Temps de lecture : 2 minutes· loading · loading
ksh2177
K3s Kubernetes Raspberry Pi Homelab Hardware Cluster Storage Network
Liste complète du matériel utilisé pour construire un cluster K3s sur Raspberry Pi : compute, stockage, réseau et tests de performance.
Conf noeuds
·Temps de lecture : 3 minutes· loading · loading
ksh2177
K3s Kubernetes Ansible Raspberry Pi Homelab SSH Inventory Automation DevOps
Préparer les nœuds Raspberry Pi pour le cluster K3s : connectivité, SSH sans mot de passe, configuration d’Ansible et inventaire dynamique.
Bootstrap du cluster K3s - Préparation
·Temps de lecture : 3 minutes· loading · loading
ksh2177
K3s Ansible Bootstrap Homelab GitOps Infrastructure Raspberry Pi
Initialisation du dépôt homelab-k3s et création de l’inventaire Ansible pour les nœuds du cluster.
Noeuds
·Temps de lecture : 6 minutes· loading · loading
ksh2177
K3s Kubernetes DietPi Raspberry Pi Homelab Automation Headless SSH OS Boot
Installation et configuration automatisée de DietPi sur Raspberry Pi : headless boot, firmware, SSH, IP statique et premiers réglages système.
Installation d’Argo CD avec Ansible
·Temps de lecture : 4 minutes· loading · loading
ksh2177
Argo CD Kubernetes Helm GitOps Ansible DevOps K3s Homelab
Déployer Argo CD dans le cluster K3s à l’aide d’un playbook Ansible Helm complet et idempotent.
Os settings
·Temps de lecture : 1 minutes· loading · loading
ksh2177
K3s Kubernetes DietPi Linux OS Iptables Ansible Homelab DevOps
Réglages système post-installation pour DietPi : mise à jour de l’OS, configuration réseau, iptables et préparation à Kubernetes.
Déploiement Home Assistant (GitOps)
·Temps de lecture : 7 minutes· loading · loading
ksh2177
GitOps Argo CD Kubernetes App-of-Apps DevOps Homelab K3s Helm Sealed Domotique
Création d’un chart Helm minimal, overlay Kustomize, secret chiffré et déclaration Argo CD pour Home Assistant.