Retour aux articles
blog — devops — zsh$ cat devops.md# 19 nov. 2025Kubernetes c'est pas sicompliqué, arrêtez de vousplaindre
6 min de lecture

Le YAML c'est pénible, mais les charts Helm déploient des stacks entières en quelques minutes. L'alternative est pire.

KubernetesHelmDevOps

À chaque fois que je parle de Kubernetes, quelqu’un me dit que c’est trop compliqué. Trop de YAML. Trop de concepts. Trop dur à apprendre

J'ai essayé d'expliquer Kubernetes à quelqu'un et on a tous les deux rien compris

Je comprends. J’y suis passé. La première fois que j’ai vu un manifest Kubernetes, j’ai voulu fermer mon PC et devenir agriculteur. Mais voilà: l’alternative est pire

Le YAML c’est nul, je sais

Soyons honnêtes. Le YAML c’est une façon horrible de configurer des trucs:

  • Pas d’autocomplétion
  • Syntax highlighting basique
  • Pas de typage
  • Tu remontes tout le temps pour savoir à quel niveau t’es
  • Une indentation de travers et tout pète
  • Les messages d’erreur sont incompréhensibles

C’est pas une défense du YAML. C’est nul. Vraiment nul. C’est du low-code qui a réussi à être pire que du vrai code

Mais c’est pas le sujet

Une commande, stack complète

La semaine dernière j’avais besoin d’une stack de logs. Loki, Promtail, tout le bazar. Voilà ce que j’ai lancé:

helm install loki grafana/loki-stack

Fini. Cinq minutes plus tard j’avais des logs centralisés sur tout mon cluster. C’est tout. Une commande

Sans Helm? J’aurais téléchargé des tarballs, écrit des units systemd, cherché les bons fichiers de config, debuggé les ports, configuré la rotation des logs, géré les chemins de stockage. Ça c’est une journée minimum. Probablement deux avec l’inévitable “pourquoi ce truc démarre pas”

Pareil pour sealed-secrets:

helm install sealed-secrets sealed-secrets/sealed-secrets -n kube-system

Dix minutes de boulot en comptant la lecture de la doc. Maintenant je peux chiffrer mes secrets et les commit dans git. L’alternative? Écrire ton propre wrapper de chiffrement, gérer les clés à la main, croiser les doigts pour pas te planter

ArgoCD? Environ dix minutes et t’as du GitOps complet:

helm install argocd argo/argo-cd -n argocd

Essaie de monter une pipeline GitOps from scratch. T’en as pour une semaine de webhooks, authentification, gestion d’état, et dev UI

L’écosystème c’est ça la feature

C’est ça que les gens ratent quand ils se plaignent de la complexité de Kubernetes. Oui, le système sous-jacent est complexe. Mais tu interagis rarement avec directement

Les charts Helm abstraient des milliers de décisions:

  • Comment cette app doit gérer ses health checks?
  • Quelles limites de ressources sont raisonnables?
  • Comment configurer la terminaison TLS?
  • C’est quoi la bonne façon de faire du service discovery?
  • Comment gérer le stockage persistant?

Quelqu’un a déjà répondu à ces questions. Le mainteneur du chart, souvent soutenu par la boîte qui a fait le logiciel, a réglé le problème. Tu récupères son expertise gratuitement

Installe Prometheus avec Helm et t’as:

  • Le RBAC bien configuré
  • Des intervalles de scrape sensés
  • Les policies de rétention du stockage
  • L’intégration Alertmanager
  • Les service monitors pour les exporters classiques

C’est des semaines d’apprentissage compressées dans un helm install

La vraie comparaison

Compare pas “Kubernetes avec du YAML” à “rien”. Compare à ce que tu ferais vraiment:

Sans Kubernetes:

  • SSH sur les serveurs
  • Scripts bash pour les déploiements
  • Gérer les units systemd à la main
  • Monter ton propre load balancing
  • Configurer le DNS manuellement
  • Construire ta propre gestion de secrets
  • Écrire tes scripts de health check custom
  • Gérer l’agrégation de logs toi-même
  • Bricoler les rolling updates
  • Debugger le réseau entre les machines

Avec Kubernetes:

  • Écrire du YAML (oui c’est chiant)
  • Lancer kubectl apply
  • Le reste est géré

Le YAML est pénible. Mais c’est un petit prix pour pas faire tout le reste à la main

Les operators c’est encore mieux

Là ça devient intéressant. Les operators étendent Kubernetes pour gérer des applications complexes:

apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: my-database
spec:
  instances: 3
  storage:
    size: 10Gi

C’est tout. Cluster PostgreSQL à trois nœuds avec failover automatique, backups, et monitoring. L’operator CloudNativePG gère tout. Essaie de configurer la réplication PostgreSQL à la main. T’en as pour une semaine et du doliprane

Même pattern pour:

  • Clusters Redis
  • RabbitMQ
  • Kafka
  • Elasticsearch
  • MongoDB

Tu écris un petit manifest, t’as un système prêt pour la prod. L’operator fait le boulot difficile

La courbe d’apprentissage est frontale

Oui, Kubernetes prend du temps à apprendre. Mais une fois que tu sais, tu sais. Les concepts se transfèrent partout:

  • Tous les cloud providers
  • Tous les types d’applications
  • Toutes les équipes que tu rejoins

Compare ça à apprendre les scripts de déploiement custom de quelqu’un. Ou leur setup systemd fait main. Ou leurs playbooks Ansible qu’eux seuls comprennent

Kubernetes est standardisé. Ça compte plus qu’être simple

Quand c’est vraiment trop

Je dis pas d’utiliser Kubernetes pour tout. Si t’as:

  • Un seul service
  • Pas besoin de scaler
  • Pas d’équipe avec qui partager
  • Pas besoin de self-healing

Alors ouais, un VPS avec Docker Compose ça suffit. Faut pas surcompliquer

Mais dès que t’as besoin de:

  • Plusieurs services qui se parlent
  • Failover automatique
  • Rolling updates sans downtime
  • Gestion des secrets
  • Plusieurs environnements
  • Plus de deux personnes qui déploient

Kubernetes arrête d’être “trop compliqué” et devient “l’option la plus simple qui marche vraiment”

L’outillage s’améliore

L’expérience est meilleure qu’il y a trois ans:

  • k9s: UI terminal qui rend la navigation rapide
  • Lens: GUI si tu préfères
  • Helm: Installations en une commande pour des stacks complexes
  • Helmfile: Gérer plusieurs releases Helm de façon déclarative
  • kustomize: Overlay de configs sans templating
  • ArgoCD/Flux: GitOps qui déploie automatiquement

T’as pas à écrire du YAML brut pour tout. L’écosystème existe justement parce que tout le monde était d’accord que gérer du YAML ça craint

Arrête de comparer à un idéal

La plainte c’est toujours “Kubernetes c’est compliqué comparé à…” mais comparé à quoi exactement?

Pas à rien. T’as besoin de quelque chose pour faire tourner tes applications

Pas à un système simple parfait qui gère tout. Ça n’existe pas

Comparé aux vraies alternatives, qui sont soit:

  1. Gestion manuelle des serveurs (pire)
  2. Plateformes proprio (vendor lock-in)
  3. Automation custom (charge de maintenance)

Kubernetes gagne. Pas parce que c’est simple. Parce que c’est moins pire que tout le reste à grande échelle

Conclusion

Le YAML c’est pénible. La courbe d’apprentissage est réelle. Certaines abstractions sont over-engineered

Mais je peux déployer une stack d’observabilité complète avant midi. Je peux monter du GitOps en un après-midi. Je peux lancer une base de données répliquée avec trois lignes de YAML

L’alternative c’est pas “pas de complexité”. C’est “une complexité différente que tu dois construire et maintenir toi-même”

Je prends le YAML

Vous avez aimé cet article ?

Faites-le savoir ! Un partage, c'est toujours apprécié.

À propos de l'auteur

Sofiane Djerbi

Sofiane Djerbi

Architecte Cloud & Kubernetes, Expert FinOps. J'aide les entreprises à construire des infrastructures scalables, sécurisées et rentables.

Commentaires