iducationducation
IndexArticlesFormationsProfilOutilsBibliothech
N°014 — 2026
Navigation
01Index02Articles03Formations04Profil05Outils06Bibliothech
N°014 — 2026
iducationducation
IndexArticlesFormationsProfilOutilsBibliothech
N°014 — 2026
Navigation
01Index02Articles03Formations04Profil05Outils06Bibliothech
N°014 — 2026
Formations
YAML / Bash · Intermédiaire

Kubernetes

De Docker Compose à Kubernetes : architecture complète, distributions (K8s, K3s, K0s, MicroK8s), objets fondamentaux, networking, Ingress, scaling automatique et déploiement en production.

KubernetesK3skubectlHelmDocker
01Pourquoi Kubernetes — le problème Docker seul ne résout pas02K8s, K3s, K0s, MicroK8s — quelle distribution choisir03Architecture interne — Control Plane et Worker Nodes04Installation — K3s en production et kubectl05Objets fondamentaux — Pod, Deployment, Service, Namespace06Configuration et stockage — ConfigMap, Secret, PVC07Networking et Ingress — exposer vos services08Scaling, RBAC, Helm et production
Chapitre 2·25 min

K8s, K3s, K0s, MicroK8s — quelle distribution choisir

"Kubernetes" est une spécification open-source. Il existe de nombreuses implémentations, de la distribution officielle maintenue par la CNCF aux versions allégées pour l'edge computing, en passant par les offres managées des cloud providers. Choisir la mauvaise distribution est une source de friction permanente.

Kubernetes vanilla (k8s)

La distribution de référence, maintenue par la CNCF. Toutes les fonctionnalités, toute la complexité.

Installation : via kubeadm sur des VMs ou serveurs bare metal.

# Sur chaque nœud
apt install -y kubeadm kubelet kubectl
 
# Sur le nœud master uniquement
kubeadm init --pod-network-cidr=10.244.0.0/16
 
# Rejoindre depuis un worker node
kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

Empreinte mémoire : ~1-2 GB par nœud pour les composants du control plane seuls.

À utiliser quand : vous avez une équipe d'ops dédiée, vous avez besoin de toutes les fonctionnalités (CRD avancées, admission webhooks, etc.), ou vous êtes chez un cloud provider qui n'offre pas K8s managé.

À éviter si : vous êtes seul ou en petite équipe — la gestion des certificates, des upgrades, de etcd devient rapidement un second métier.

K3s — Kubernetes léger pour la production

K3s est une distribution certifiée Kubernetes produite par Rancher Labs (maintenant SUSE). Elle supprime les fonctionnalités rarement utilisées, remplace etcd par SQLite (ou externe) par défaut, et réduit l'empreinte à ~512 MB de RAM.

# Installation en une commande (nœud serveur)
curl -sfL https://get.k3s.io | sh -
 
# Récupérer le kubeconfig
cat /etc/rancher/k3s/k3s.yaml
 
# Ajouter un nœud worker
curl -sfL https://get.k3s.io | K3S_URL=https://master-ip:6443 K3S_TOKEN=$(cat /var/lib/rancher/k3s/server/node-token) sh -

Ce que K3s retire : les cloud providers in-tree (AWS, GCP, Azure — remplacés par des plugins externes), les fonctionnalités alpha, les storage drivers legacy.

Ce que K3s ajoute : Traefik comme Ingress controller par défaut, Local Path Provisioner pour le stockage, SQLite ou PostgreSQL comme backend etcd alternatif.

Empreinte : ~512 MB RAM, binaire unique de ~100 MB qui embarque tout.

À utiliser quand : VPS, edge computing, Raspberry Pi, clusters de taille moyenne sans budget pour une offre managée. C'est la distribution recommandée pour la majorité des projets auto-hébergés.

K0s — distribution minimaliste

K0s (prononcé "k-zeros") est développé par Mirantis. Comme K3s, c'est un binaire unique. La différence : K0s est plus proche du K8s vanilla dans ses fonctionnalités, sans les simplifications de K3s.

# Télécharger le binaire
curl -sSLf https://get.k0s.sh | sudo sh
 
# Démarrer le controller
k0s controller --single
 
# Ou en mode cluster
k0s install controller -c /etc/k0s/k0s.yaml
k0s start

Différences K3s vs K0s :

AspectK3sK0s
Ingress par défautTraefikAucun
Backend etcd par défautSQLiteetcd
Conformité K8sCertification CNCFCertification CNCF
MaturitéPlus maturePlus récent
SupportRancher/SUSEMirantis

À utiliser quand : vous voulez un K8s proche du vanilla sans la complexité de kubeadm, ou vous avez besoin de fonctionnalités absentes de K3s.

MicroK8s — la distribution Canonical

MicroK8s est développé par Canonical (Ubuntu). Il s'installe via snap et est le plus facile à mettre en place sur Ubuntu.

snap install microk8s --classic
microk8s enable dns storage ingress
microk8s kubectl get nodes

Addons clés :

microk8s enable dns          # CoreDNS
microk8s enable storage      # hostpath storage
microk8s enable ingress      # NGINX Ingress
microk8s enable metallb      # LoadBalancer pour bare metal
microk8s enable registry     # registry Docker local
microk8s enable prometheus   # monitoring

À utiliser quand : environnement Ubuntu, dev local, IoT, single-node en production légère.

Inconvénient : dépendance à snap, moins portable sur non-Ubuntu.

Kind et Minikube — développement local uniquement

Kind (Kubernetes IN Docker)

Kind fait tourner des nœuds K8s dans des conteneurs Docker. Idéal pour les tests, la CI/CD, le développement local.

# Installer Kind
go install sigs.k8s.io/kind@latest
# ou via brew/apt
 
# Créer un cluster
kind create cluster --name mon-cluster
 
# Cluster multi-nœuds
cat <<EOF | kind create cluster --config -
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
  - role: control-plane
  - role: worker
  - role: worker
EOF
 
# Supprimer
kind delete cluster --name mon-cluster

Minikube

Minikube fait tourner un cluster K8s single-node sur votre machine, via une VM ou Docker.

minikube start --driver=docker --memory=4096
minikube dashboard
minikube stop

Kind vs Minikube : Kind est plus rapide à démarrer et plus proche d'un vrai cluster (multi-nœuds possible). Minikube a plus de fonctionnalités built-in (dashboard, addons). Pour du dev sérieux, Kind.

K8s managé — EKS, GKE, AKS

Si vous êtes sur le cloud, les offres managées sont généralement le meilleur choix :

OffreProviderAvantages
EKSAWSIntégration IAM, ALB, EBS native
GKEGoogle CloudAutopilot, upgrades auto, meilleure UX
AKSAzureIntégration AD, policy, Windows nodes
DigitalOcean K8sDigitalOceanSimple, prix abordable
Hetzner + K3sAuto-hébergéPas cher, Europe, RGPD

Le control plane est géré par le provider — pas de gestion d'etcd, d'upgrades du master, de certificates à renouveler. Vous payez uniquement les worker nodes.

Résumé — quelle distribution choisir

Contexte                            →  Distribution
──────────────────────────────────────────────────────────────
Dev local / tests / CI              →  Kind ou Minikube
VPS auto-hébergé (< 10 nœuds)      →  K3s
VPS auto-hébergé, proche vanilla    →  K0s
Environnement Ubuntu                →  MicroK8s
Cloud AWS                           →  EKS
Cloud GCP                           →  GKE (Autopilot)
Cloud Azure                         →  AKS
Gros cluster on-premise             →  K8s vanilla + kubeadm
Edge / IoT / ARM                    →  K3s

Le choix est fait. Le chapitre suivant décrit l'architecture interne de Kubernetes — comprendre le control plane, etcd, kubelet et kube-proxy est indispensable pour diagnostiquer les problèmes en production.

Précédent
Pourquoi Kubernetes — le problème Docker seul ne résout pas
Suivant
Architecture interne — Control Plane et Worker Nodes

Développeur fullstack passionné. J'apprends en construisant et je documente tout — front, back, outils. Le code s'apprend mieux en public.

Naviguer

IndexTous les articlesFormationsProfilOutilsBibliothech

Ailleurs

GitHub RSS

Newsletter

Les articles, libs et découvertes. Une fois par semaine, pas plus.

© 2026 William LoreeConçu & codé à la main