Tout commence dans les années 1980 avec la commande Unix chroot, qui permettait de modifier le répertoire racine d’un processus. Ce n’était pas encore de la conteneurisation à proprement parler, mais déjà un premier pas vers l’isolation de processus.
Dans les années 2000, FreeBSD introduit les jails, des environnements isolés capables de faire tourner des applications en toute sécurité. De son côté, Solaris propose les zones, qui poussent encore plus loin la séparation des ressources système.
Tout bascule en 2013 avec Docker, qui démocratise la conteneurisation grâce à une interface simple et un format standardisé. Très vite, le besoin de gérer des dizaines, voire des centaines de conteneurs en production se fait sentir. C’est là qu’intervient l’orchestration.
En 2014, Google ouvre Kubernetes (ou K8s) en open source. C’est une révolution : Kubernetes devient rapidement la solution de référence pour gérer des clusters de conteneurs. Ce projet s’appuie sur l’expérience de Google avec son système interne Borg, utilisé en production depuis des années.Google l’utilise pour déployer et gérer des milliers d’applications dans leurs data centers, assurant ainsi une haute disponibilité et une gestion efficace des ressources.
En 2015, Kubernetes a été transféré sous l’égide de la Cloud Native Computing Foundation
Depuis son lancement, Kubernetes a évolué rapidement grâce à une communauté active et une forte adoption par des entreprises de toutes tailles.
Les contributions de divers acteurs de l’industrie comme IBM, Microsoft, Red Hat et d’autres ont enrichi le projet en ajoutant des fonctionnalités avancées et en améliorant sa stabilité et sa performance.
Kubernetes se trouve au coeur de trois transformations profondes techniques, humaines et économiques de l’informatique:
Il est un des projets qui symbolise et supporte techniquement ces transformations. D’où son omniprésence dans les monde informatiques actuellement.

Kubernetes rassemble en un cluster et fait coopérer un groupe de serveurs appelés noeuds(nodes).
Kubernetes a une architecture Master/workers (cf. cours 2) composée d’un control plane et de nœuds de calculs (workers).
Cette architecture permet essentiellement de rassembler les machines en un cluster unique sur lequel on peut faire tourner des “charges de calcul” (workloads) très diverses.
Sur un tel cluster le déploiement d’un workload prend la forme de ressources (objets k8s) qu’on décrit sous forme de code et qu’on crée ensuite effectivement via l’API Kubernetes.
Pour uniformiser les déploiement logiciel Kubernetes est basé sur le standard des conteneurs (défini aujourd’hui sous le nom Container Runtime Interface, Docker est l’implémentation la plus connue).
Plutôt que de déployer directement des conteneurs, Kubernetes crée des aggrégats de un ou plusieurs conteneurs appelés des Pods. Les pods sont donc l’unité de base de Kubernetes.
Au delà de ces trois éléments, l’écosystème d’objets de Kubernetes est vaste et complexe

Un des intérêts principaux de Kubernetes est de fournir un modèle de Plateform as a Service (PaaS) suffisamment versatile qui permet l’interopérabilité entre des fournisseurs de clouds différents et des solutions auto-hébergées (on premise).
Cependant cette interopérabilité n’est pas automatique (pour les cas complexes) car Kubernetes permet beaucoup de variations. Concrètement il existe des variations entre les installations possibles de Kubernetes
Kubernetes est avant tout un ensemble de standards qui peuvent avoir des implémentations concurrentes. Il existe beaucoup de variétés (flavours) de Kubernetes, implémentant concrètement les solutions techniques derrière tout ce que Kubernetes ne fait que définir : solutions réseau, stockage (distribué ou non), loadbalancing, service de reverse proxy (Ingress), autoscaling de cluster (ajout de nouvelles VM au cluster automatiquement), monitoring…
Les services gérés des Cloud Providers (Managed Kubernetes) dominent très largement le marché (près de 80 % de l’ensemble des clusters en production), suivis des distributions légères et spécialisées.
Une forte tendance à la hausse concerne les déploiements destinés à l'Edge computing, aux plateformes de dev (Platform Engineering) et aux workloads IA/Machine Learning.
Elles représentent la majorité du marché global et continuent de croître à mesure que les entreprises migrent leurs applications vers le cloud.
C’est la catégorie dont la tendance est la plus fortement à la hausse, tirée par l’Edge Computing et le besoin d’outils plus simples.
| Distribution | Catégorie | Tendance du marché | Cas d’usage principal |
|---|---|---|---|
| Google GKE (Autopilot) | Cloud Managed | ⬆️ Forte Hausse | Production Cloud & Workloads IA |
| K3s | Minimaliste / Edge | ⬆️ Exponentielle | Edge Computing, IoT, CI/CD |
| Talos Linux | OS Sécurisé / Immutable | ⬆️ Très Forte Hausse | Infra Bare-Metal & Zero-Trust Security |
| Amazon EKS | Cloud Managed | ➡️ Dominant / Stable | Production Cloud générale |
| Red Hat OpenShift | Enterprise Platform | ➡️ Stable / Solide | Cloud Hybride & Secteurs régulés |