KubeSphere : l'échec
À ce stade, j’avais un cluster Kubernetes fonctionnel avec du storage, du réseau, et même des VMs. Mais gérer tout ça en ligne de commande, c’était un peu fastidieux.
J’ai voulu une console web. Et j’ai choisi KubeSphere.
Pourquoi KubeSphere ?
KubeSphere c’est une plateforme complète pour Kubernetes. Interface web moderne, gestion des applications, monitoring intégré, DevOps pipelines… Sur le papier, c’était parfait.
Et c’est open source.
L’installation
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/kubesphere-installer.yaml
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/cluster-configuration.yaml
Jusque-là, ça allait.
Les problèmes commencent
kubectl get pods -n kubesphere-system
NAME READY STATUS RESTARTS
ks-installer-xxx 0/1 ImagePullBackOff 0
ImagePullBackOff. L’image se télécharge pas.
J’ai regardé les logs :
kubectl logs -n kubesphere-system ks-installer-xxx
L’installer essayait de télécharger des Helm charts depuis des URLs qui retournaient 404.
Le debugging
J’ai passé des heures à :
- Chercher des mirrors alternatifs
- Télécharger manuellement les charts
- Modifier les configs pour pointer vers mes copies locales
- Retry, fail, repeat
Certains charts marchaient, d’autres non. Et quand un composant marchait, il avait des dépendances qui marchaient pas.
La réalisation
Après une journée entière de galère, j’ai réalisé :
- KubeSphere c’est énorme. Des dizaines de composants.
- Les dépendances sont fragiles. Un chart obsolète et tout s’écroule.
- C’est fait pour des clusters de production avec des équipes dédiées.
- Pour un homelab single-node, c’est overkill.
Ce dont j’avais vraiment besoin
En y réfléchissant, j’avais pas besoin de :
- ❌ Pipelines CI/CD (j’utilise GitHub Actions)
- ❌ Service mesh (c’est un homelab)
- ❌ Multi-cluster management (j’ai un seul cluster)
- ❌ App store (je déploie moi-même)
Ce dont j’avais besoin :
- ✅ Voir l’état du cluster
- ✅ Lister/gérer les pods
- ✅ Déployer des apps facilement
- ✅ Gérer les VMs KubeVirt
La décision
J’ai abandonné KubeSphere et décidé de construire ma propre console.
“Tu vas réinventer la roue” me direz-vous. Oui, mais une petite roue qui fait exactement ce que je veux.
Les leçons
-
Simple is better. Pas besoin d’un 747 pour aller faire les courses.
-
Vérifie que ça marche avant de t’engager. Une install de test sur un cluster jetable, c’est pas du temps perdu.
-
Les projets open source meurent parfois. Ou deviennent mal maintenus. Faut vérifier l’activité du repo.
-
Parfois faut build soi-même. Et c’est OK. On apprend des trucs.
Prochain article : Je construis ma propre console - Go + React, pourquoi faire simple.