K8S : qu’est-ce que Kubernetes, comment il fonctionne et pourquoi il s’est imposé

2026.05.19 Clever Cloud Bannière Blog K8S FR
K8S, abrégé de Kubernetes, est un système open source d'orchestration de conteneurs initialement développé par Google, puis donné à la Cloud Native Computing Foundation (CNCF) en 2015. Il automatise le déploiement, la montée en charge, la résilience et la mise en réseau d'applications conteneurisées sur des grappes de serveurs.

En une décennie, K8S s’est imposé comme la base technique sur laquelle s’exécute une part majoritaire des applications cloud modernes.

Comment fonctionne Kubernetes : un orchestrateur déclaratif

La plupart des descriptions de Kubernetes énumèrent ses composants, pods, deployments, services, sans expliquer le mécanisme central. Or le concept fondamental est ailleurs : Kubernetes est avant tout un orchestrateur, et son moteur central repose sur des boucles de réconciliation.

Vous ne dites pas à Kubernetes quoi faire. Vous lui dites à quoi vous voulez que votre système ressemble. Cette distinction, déclaratif contre impératif, change tout.

Concrètement, vous décrivez l’état désiré dans des fichiers manifestes, généralement au format YAML : « je veux 3 répliques de cette image, exposées sur le port 80, avec ces variables d’environnement ». Vous envoyez ce manifeste à l’API Kubernetes via kubectl. À partir de là, Kubernetes compare en permanence l’état réel du cluster (ce qui tourne effectivement) à l’état désiré (ce que vous avez déclaré), et agit pour les rapprocher. Si un nœud meurt, ses pods sont reprogrammés ailleurs. Si vous passez de 3 à 10 répliques dans le manifeste, Kubernetes en démarre 7 de plus. Si un conteneur plante, il est redémarré.

Cette boucle de réconciliation est le cœur de tout ce que fait Kubernetes : auto-réparation, scaling, déploiements progressifs (rolling updates), retours arrière. Pour creuser ce mécanisme et les autres fonctions qu’il rend possibles, découvrez en détail à quoi sert l’orchestration de conteneurs.

Architecture en bref : control plane, nodes, pods

Un cluster Kubernetes se divise en deux ensembles. Le control plane est le cerveau : il prend les décisions globales, accepte les requêtes API, planifie les charges de travail, et surveille l’état du cluster. Il s’appuie sur quelques composants clés comme le serveur API (kube-apiserver), le planificateur (kube-scheduler) et le gestionnaire de contrôleurs (kube-controller-manager), ainsi que sur un magasin de données distribué qui mémorise tout l’état du cluster, traditionnellement etcd.

Les nodes sont les machines qui exécutent réellement les charges de travail. Sur chacune, un agent appelé kubelet reçoit ses instructions du control plane et lance les conteneurs via un moteur d’exécution (containerd, CRI-O, etc.). La plus petite unité déployable n’est pas un conteneur isolé mais un pod : un ou plusieurs conteneurs qui partagent un réseau et un stockage. Au-dessus, des objets de plus haut niveau (Deployment, Service, Ingress, ConfigMap, Secret) décrivent comment les pods doivent être gérés, exposés et configurés.

Cette architecture est aussi la source d’une confusion fréquente avec Docker, dont les rôles sont en réalité complémentaires de ceux de Kubernetes plutôt que concurrents.

Pourquoi K8S est devenu le standard de l’orchestration

Selon le CNCF Annual Cloud Native Survey 2025, publié en janvier 2026, 98 % des organisations interrogées ont adopté des techniques cloud native, et 82 % des utilisateurs de conteneurs déploient Kubernetes en production, contre 66 % en 2023. La domination est massive. Mais l’expliquer uniquement par des qualités techniques serait incomplet, c’est aussi une histoire d’écosystème et d’alignement d’intérêts.

Sur le plan technique, trois propriétés expliquent l’adoption. D’abord, le modèle déclaratif décrit plus haut : il rend les déploiements reproductibles, versionnables dans Git, et résistants aux pannes. Ensuite, la portabilité : un même manifeste fonctionne sur une machine de développement (Minikube, kind, k3d), sur un cluster on-premise et sur n’importe quel cloud. Enfin, l’extensibilité : l’API de Kubernetes accepte des objets personnalisés (Custom Resource Definitions) et des contrôleurs personnalisés (Operators), ce qui en a fait une plateforme pour étendre la plateforme. Cet effet a déclenché une dynamique d’écosystème massive.

Sur le plan stratégique, l’histoire est moins racontée. En 2014, Google avait plus d’une décennie d’expérience dans la gestion de conteneurs à grande échelle avec ses systèmes internes Borg et Omega, dont les principes ont été partagés publiquement via des papiers de recherche académiques (Omega en 2013, Borg en 2015). Plutôt que d’open-sourcer Borg lui-même, qui restait étroitement couplé à l’infrastructure Google, l’équipe a créé Kubernetes comme un nouveau projet inspiré de cette expérience, avec une implémentation distincte conçue dès le départ pour une adoption externe. Le projet a été publié en open source en juin 2014 puis donné à la Cloud Native Computing Foundation en 2015. Cette neutralité, un projet hébergé par une fondation Linux et non par un cloud, a été déterminante. Aucun concurrent ne pouvait se permettre de ne pas l’adopter sous peine d’être marginalisé hors de l’écosystème cloud-native naissant. AWS, qui poussait initialement sa propre solution propriétaire (ECS), a annoncé EKS fin 2017 et l’a lancé en disponibilité générale en juin 2018. À ce moment-là, le standard était scellé.

Sur le plan de l’écosystème, l’effet réseau a fait le reste : Helm pour empaqueter les applications, Prometheus pour la supervision, Istio et Linkerd pour le service mesh, ArgoCD et Flux pour le GitOps, Trivy et Falco pour la sécurité. Chaque outil supplémentaire renforce la valeur du standard. Côté ressources humaines, les compétences Kubernetes sont devenues massivement demandées sur les offres DevOps et SRE, ce qui crée un cercle vertueux : plus d’ingénieurs formés, plus d’entreprises qui adoptent, plus d’ingénieurs qui se forment.

Dans le rapport CNCF 2025, la communauté qualifie aujourd’hui Kubernetes de « boring », au sens noble du terme : un outil mature, prévisible, dont les API ne se cassent plus à chaque release. C’est précisément ce qu’on attend d’une infrastructure standard.

Quand utiliser Kubernetes, et quand privilégier le PaaS ?

Le fait que K8S soit le standard ne signifie pas qu’il soit la bonne réponse à tous les problèmes. Choisir Kubernetes, un PaaS, ou une combinaison des deux dépend du contexte technique et organisationnel ; chez Clever Cloud, beaucoup d’équipes utilisent les deux en parallèle pour des workloads différents.

Kubernetes apporte une vraie valeur dans plusieurs contextes :

  • portabilité forte attendue : multi-cloud, hybride, on-premise associé à du cloud, où le manifeste Kubernetes devient un dénominateur commun ;
  • architectures distribuées qui appliquent les principes du 12-factor app et l’approche « cattle » (instances interchangeables, sans état) avec des besoins d’orchestration sophistiqués ;
  • alignement stratégique sur l’écosystème CNCF (Helm, Operators, ArgoCD, Istio…) ou prérequis client / partenaire qui imposent ce standard ;
  • besoin d’une plateforme commune pour des équipes nombreuses, avec une équipe plateforme dédiée ou la volonté d’externaliser cette responsabilité à un service managé.

À l’inverse, dans d’autres contextes, un PaaS comme Clever Cloud répond directement aux mêmes besoins que Kubernetes (déploiements industrialisés, autoscaling, résilience) sans la complexité opérationnelle de l’orchestrateur. C’est notamment vrai pour les architectures applicatives classiques (web + backend + base de données) où l’effort de configuration et d’opération de Kubernetes ne se traduit pas en valeur ajoutée concrète.

Et pour les charges intermédiaires (IoT, edge, environnements de développement, petits clusters), les différences entre K3S et K8S méritent d’être pesées avant de trancher : la distribution allégée est souvent plus adaptée. Le standard de facto n’est pas une obligation morale. C’est un outil puissant et coûteux à opérer, dont l’usage doit être choisi en fonction des problèmes qu’il résout, souvent en complément des autres approches plutôt qu’en remplacement.

Les limites du standard : la dette opérationnelle

Faire tourner Kubernetes en production n’est pas trivial. C’est l’une des raisons pour lesquelles beaucoup d’entreprises qui adoptent K8S optent pour un service managé plutôt qu’une installation auto-gérée.

Les sources de complexité sont multiples : configurer correctement le contrôle d’accès (RBAC), choisir et opérer un plugin réseau (CNI), brancher du stockage persistant (CSI), mettre en place une observabilité, gérer les certificats, faire les mises à jour mineures et majeures sans interruption, durcir la sécurité, gérer les sauvegardes du control plane. Chacun de ces sujets est un métier en soi. Le rapport CNCF 2025 montre d’ailleurs que les défis se sont déplacés du purement technique vers l’organisationnel : 47 % des organisations citent désormais les « changements culturels avec l’équipe de développement » comme principal obstacle, devant la complexité technique brute.

Au cœur de cette dette se trouve un composant moins discuté : etcd. C’est la base de données clé-valeur distribuée qui stocke l’état complet du cluster. etcd est solide pour les clusters de taille modérée, mais devient un goulot d’étranglement à l’échelle. Ce n’est pas un hasard si Google a annoncé fin 2024 le remplacement d’etcd par Spanner pour son offre GKE, en conservant uniquement la compatibilité API. AWS, de son côté, a réécrit une « nouvelle génération » de son architecture etcd pour soutenir l’échelle. K3S, conçu pour les environnements légers, a poussé la logique plus loin en proposant plusieurs alternatives à etcd, dont SQLite par défaut. Quand un composant central doit être reconçu pour soutenir l’usage en production, c’est un indice révélateur.

C’est ce constat qui nous a poussés, chez Clever Cloud, à reconsidérer cette pièce. Notre Clever Kubernetes Engine remplace l’etcd standard par Materia etcd, notre réimplémentation du protocole etcd construite sur  Materia KV, et FoundationDB, répliquée  sur trois datacenters parisiens. Cette approche, c’est aussi ce qui rend Clever Cloud unique : un control plane multi-tenant qui scale horizontalement sans dégrader les performances, hérite de la simulation continue de pannes de FoundationDB, et libère les équipes de la gestion de milliers d’instances etcd fragiles.

Mais que vous choisissiez CKE ou un autre service, le principe vaut : si vous voulez Kubernetes en production sans bâtir une équipe plateforme dédiée, un Kubernetes managé est presque toujours la bonne décision.

En résumé

Kubernetes s’est imposé comme standard pour de bonnes raisons techniques, mais aussi grâce à un alignement d’intérêts qui a fait converger l’industrie autour d’un projet neutre porté par la CNCF. Le mécanisme central, la boucle de réconciliation et le modèle déclaratif, explique sa robustesse. L’écosystème qui s’est construit autour explique sa pérennité.

Cela ne signifie pas qu’il faut l’adopter pour tout. Pour beaucoup de contextes, un PaaS ou une autre approche est mieux adaptée, et bien souvent, les deux cohabitent dans une même architecture, chacun là où il apporte le plus de valeur. Pour des architectures distribuées sérieuses, il reste l’outil de référence, à condition de mesurer la dette opérationnelle qu’il introduit, et de choisir entre l’opérer soi-même ou s’appuyer sur un service managé.C’est précisément la promesse que Clever Kubernetes Engine, notre Kubernetes managé, cherche à tenir : Kubernetes standard, opéré en France sur une infrastructure souveraine, avec un control plane reconçu pour éliminer la friction d’etcd à l’échelle. Et pour les équipes qui n’ont pas besoin de Kubernetes, notre PaaS reste la voie la plus directe vers la mise en production.

FAQ

K8S et Kubernetes, c’est la même chose ?

Oui. K8S est une abréviation : la lettre K, les huit lettres d’« ubernete » condensées en 8, et la lettre S finale. Les deux désignent le même système d’orchestration de conteneurs.

Quelle est la différence entre Docker et Kubernetes ?

Docker est un moteur de conteneurisation : il empaquette une application avec ses dépendances dans une image qui s’exécute comme un conteneur. Kubernetes est un orchestrateur : il déploie, supervise et fait évoluer ces conteneurs sur un parc de serveurs. Cette distinction est l’une des plus mal comprises de l’écosystème, alors queles deux outils répondent en réalité à des besoins différents et complémentaires.

Kubernetes est-il gratuit ?

Le logiciel est open source et gratuit, sous licence Apache 2.0. Mais l’infrastructure sur laquelle il tourne, le temps d’ingénierie pour le maintenir et les outils complémentaires (supervision, sauvegardes, sécurité) ont un coût réel. C’est pourquoi de nombreuses entreprises optent pour un Kubernetes managé.

Faut-il toujours Kubernetes pour déployer en production ?

Non. Kubernetes apporte une orchestration sophistiquée, particulièrement adaptée aux architectures distribuées exigeant portabilité, écosystème CNCF, ou orchestration avancée. Pour beaucoup d’autres contextes, un PaaS répond aux mêmes objectifs (déploiement industrialisé, autoscaling, résilience) sans la complexité opérationnelle. Et dans la pratique, les deux approches cohabitent souvent dans une même architecture.

Quelle différence entre K3S et K8S ?

K3S est une distribution Kubernetes certifiée par la CNCF (donc pas un fork), allégée et conçue pour les environnements aux ressources limitées : edge, IoT, machines de développement, petits clusters. Elle remplace certains composants par des alternatives plus légères et tient dans un binaire unique. Les différences entre K3S et K8S tiennent à plusieurs choix d’architecture précis qu’il faut peser avant de choisir.

Comment commencer avec Kubernetes ?

Le plus rapide est de monter un cluster local avec Minikube, kind ou k3d, puis de déployer une application simple via un manifeste YAML. Pour passer en production, le choix raisonnable pour la majorité des équipes est un Kubernetes managé.

Blog

À lire également

K8S : qu’est-ce que Kubernetes, comment il fonctionne et pourquoi il s’est imposé

K8S, abrégé de Kubernetes, est un système open source d'orchestration de conteneurs initialement développé par Google, puis donné à la Cloud Native Computing Foundation (CNCF) en 2015. Il automatise le déploiement, la montée en charge, la résilience et la mise en réseau d'applications conteneurisées sur des grappes de serveurs.
Engineering

Kubernetes en production : comment garder le standard sans reprendre toute son exploitation ?

Kubernetes s’est imposé comme un standard pour exécuter des applications conteneurisées, structurer des architectures distribuées et s’intégrer dans des environnements cloud-native.
Entreprise

Clever Cloud contrôle l’annonce de ses préfixes IP

Depuis le 22 janvier 2025, Clever Cloud annonce ses propres préfixes IP sur Internet dans sa région Paris. Nous gérons désormais cette partie critique de notre infrastructure réseau en interne, au lieu de la déléguer à un tiers.
Engineering