Comparatif6 min de lecture

K3s vs K8s vs MicroK8s : quelle distribution légère choisir ?

SFEIR Institute

Points clés

  • K3s consomme 512 Mo RAM contre 2 Go pour K8s vanilla
  • Les trois distributions sont certifiées CNCF et 100% compatibles API
  • K3s pour edge/IoT, MicroK8s pour dev local, K8s vanilla pour production

K3s vs K8s comparatif : le choix d'une distribution Kubernetes légère impacte directement vos déploiements edge, IoT et environnements de développement. K3s consomme 512 Mo de RAM contre 2 Go minimum pour K8s vanilla, une différence cruciale pour le Kubernetes léger edge IoT. Ce guide compare K3s, MicroK8s et Kubernetes standard pour aider le développeur Backend Kubernetes à sélectionner la distribution adaptée à chaque contexte.

TL;DR : K3s pour l'edge et les ressources limitées, MicroK8s pour le développement local avec snap, K8s vanilla pour la production enterprise. Tous trois sont certifiés CNCF et 100% compatibles avec l'API Kubernetes.

Ce sujet est approfondi dans la formation LFS458 Administration Kubernetes.

Qu'est-ce qui distingue K3s vs K8s dans ce comparatif ?

K3s est une distribution Kubernetes certifiée CNCF développée par Rancher (SUSE). Elle réduit l'empreinte mémoire et la complexité d'installation tout en maintenant la compatibilité API complète.

K8s (Kubernetes vanilla) désigne la distribution standard du projet CNCF, complète et modulaire, adaptée aux environnements de production enterprise.

MicroK8s est la distribution légère de Canonical, installable via snap, ciblant le développement local et les workloads edge.

CaractéristiqueK3sMicroK8sK8s vanilla
RAM minimale512 Mo540 Mo2 Go
Binaire uniqueOui (~100 Mo)Oui (snap)Non
Installation30 secondes1 minute10-30 minutes
Certification CNCFOuiOuiOui
HA natifOui (embedded etcd)OuiOui

Selon le CNCF Annual Survey 2025, 82% des organisations utilisent Kubernetes en production. Les distributions légères démocratisent cet accès.

Comment K3s vs K8s comparatif s'applique à l'installation ?

L'installation représente la différence la plus visible entre ces distributions.

Installation K3s

Une seule commande suffit :

# Installation serveur K3s
curl -sfL https://get.k3s.io | sh -

# Vérification
sudo k3s kubectl get nodes
# NAME         STATUS   ROLES                  AGE   VERSION
# node1        Ready    control-plane,master   30s   v1.29.0+k3s1

# Récupérer le kubeconfig
sudo cat /etc/rancher/k3s/k3s.yaml

Installation MicroK8s

# Installation via snap
sudo snap install microk8s --classic

# Activer les addons essentiels
microk8s enable dns storage ingress

# Alias kubectl
sudo snap alias microk8s.kubectl kubectl

# Vérification
microk8s kubectl get nodes

Installation K8s vanilla (kubeadm)

# Prérequis
sudo swapoff -a
sudo modprobe br_netfilter

# Installation kubeadm
sudo apt-get update && sudo apt-get install -y kubeadm kubelet kubectl

# Initialisation control plane
sudo kubeadm init --pod-network-cidr=10.244.0.0/16

# Configuration kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

# Installation CNI (Calico)
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.27.0/manifests/calico.yaml
À retenir : K3s et MicroK8s réduisent le temps d'installation de 90%. Cette simplicité ne compromet pas la compatibilité API.

Notre guide Installer Kubernetes en local détaille les alternatives pour le développement.

Quelles sont les différences architecturales majeures ?

Composants K3s simplifiés

K3s remplace plusieurs composants par des alternatives légères :

Composant K8sÉquivalent K3s
etcdSQLite (défaut) ou etcd
Docker/containerdcontainerd
kube-proxyflannel + iptables
cloud-controller-managerDésactivé par défaut
# K3s avec etcd embarqué pour HA
curl -sfL https://get.k3s.io | sh -s - server \
  --cluster-init \
  --tls-san k3s.example.com

Architecture MicroK8s

MicroK8s utilise dqlite (SQLite distribué) pour la haute disponibilité :

# Créer un cluster HA MicroK8s
microk8s add-node
# Exécuter la commande join sur les autres nodes
microk8s join 192.168.1.10:25000/abc123

Architecture K8s vanilla

Kubernetes standard offre la modularité maximale :

# Choix du CNI, storage class, ingress controller
# Exemple : Cilium pour networking avancé
helm install cilium cilium/cilium \
  --namespace kube-system \
  --set hubble.relay.enabled=true \
  --set hubble.ui.enabled=true

Quel cas d'usage pour chaque distribution légère ?

K3s : edge computing et IoT

K3s excelle sur les ressources limitées :

# Agent K3s sur Raspberry Pi
curl -sfL https://get.k3s.io | K3S_URL=https://server:6443 \
  K3S_TOKEN=mynodetoken sh -

# Déploiement workload edge
kubectl apply -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: edge-sensor
spec:
  replicas: 1
  selector:
    matchLabels:
      app: sensor
  template:
    spec:
      containers:
      - name: sensor
        image: sensor:v1
        resources:
          limits:
            memory: "64Mi"
            cpu: "100m"
EOF

Consultez notre FAQ Formation Kubernetes pour les questions fréquentes sur K3s.

MicroK8s : développement local

MicroK8s offre une expérience développeur optimale :

# Activer le registry local
microk8s enable registry

# Build et push local
docker build -t localhost:32000/myapp:v1 .
docker push localhost:32000/myapp:v1

# Déployer depuis le registry local
kubectl create deployment myapp --image=localhost:32000/myapp:v1
À retenir : MicroK8s via snap simplifie les mises à jour automatiques. K3s offre plus de contrôle sur le cycle de vie.

K8s vanilla : production enterprise

Pour les environnements critiques, K8s vanilla reste la référence :

# Cluster production multi-master
kubeadm init --control-plane-endpoint "lb.example.com:6443" \
  --upload-certs

# Ajout control plane secondaire
kubeadm join lb.example.com:6443 --token abc123 \
  --control-plane --certificate-key xyz789

Le comparatif Kubernetes vs Docker Swarm explore les alternatives à l'orchestration Kubernetes.

Comment évaluer les performances K3s vs K8s ?

Consommation mémoire

Cluster 1 nodeK3sMicroK8sK8s vanilla
Idle350 Mo400 Mo1.2 Go
10 pods500 Mo550 Mo1.5 Go
50 pods800 Mo900 Mo2.5 Go

Temps de démarrage

# Benchmark démarrage K3s
time sudo systemctl start k3s
# real    0m8.234s

# Benchmark démarrage MicroK8s
time sudo microk8s start
# real    0m12.456s

Selon Spectro Cloud State of Kubernetes 2025, 82% des workloads Kubernetes sont sur-provisionnés. Les distributions légères réduisent ce gaspillage.

Compatibilité workloads

Les trois distributions passent les tests de conformité CNCF :

# Test conformité Sonobuoy
sonobuoy run --mode=certified-conformance
sonobuoy status
sonobuoy retrieve
À retenir : K3s et MicroK8s sont 100% compatibles API. Vos manifestes YAML fonctionnent sans modification.

Quelle distribution pour le multi-cluster edge ?

Le déploiement multi-cluster edge privilégie K3s pour son empreinte minimale.

Architecture hub-and-spoke avec K3s

# Cluster hub (datacenter)
curl -sfL https://get.k3s.io | sh -s - server \
  --cluster-init

# Clusters edge (sites distants)
for site in paris lyon marseille; do
  ssh $site "curl -sfL https://get.k3s.io | sh -"
done

GitOps multi-cluster avec Fleet

# fleet.yaml pour déploiement edge
apiVersion: fleet.cattle.io/v1alpha1
kind: GitRepo
metadata:
  name: edge-apps
  namespace: fleet-default
spec:
  repo: https://github.com/example/edge-apps
  paths:
  - edge
  targets:
  - name: all-edge
    clusterSelector:
      matchLabels:
        environment: edge

66% des organisations utilisant l'IA générative déploient les inférences sur Kubernetes selon le CNCF Annual Survey 2025. K3s permet de rapprocher ces workloads des données edge.

Tableau récapitulatif K3s vs K8s vs MicroK8s

CritèreK3sMicroK8sK8s vanilla
Cible principaleEdge, IoT, ARMDev local, CI/CDProduction enterprise
MainteneurSUSE/RancherCanonicalCNCF
PackagingBinaire uniqueSnapMultiple binaires
HA intégréOui (etcd/SQLite)Oui (dqlite)Configuration manuelle
GPU supportVia containerdAddon nvidiaPlugins vendor
WindowsNonNonOui
AddonsHelm, kustomizeCommande enableChoix libre
CommunautéTrès activeActiveMassive

Pour approfondir les critères de sélection, consultez notre Guide pratique pour choisir sa distribution Kubernetes.

Recommandations par profil

Développeur Backend Kubernetes

MicroK8s pour le développement local avec addons intégrés :

# Setup développement complet
microk8s enable dns storage ingress registry metrics-server

# Développement avec Tilt ou Skaffold
tilt up

Ingénieur DevOps/SRE

K3s pour les environnements de staging et edge :

# Cluster staging léger
k3sup install --ip $SERVER_IP --user ubuntu

# Ajout monitoring
helm install prometheus prometheus-community/kube-prometheus-stack \
  --set prometheus.prometheusSpec.resources.requests.memory=256Mi

Architecte Cloud

K8s vanilla pour la production avec contrôle total :

# Architecture production
# - 3 control planes
# - CNI Cilium avec eBPF
# - Storage Rook-Ceph
# - Service Mesh Istio

Consultez la section Comparatifs et alternatives Kubernetes pour explorer toutes les options.

Les formations pour CTO et DRH détaillent les stratégies de montée en compétences associées.

À retenir : Commencez léger, évoluez selon les besoins. Un cluster K3s de développement se migre facilement vers K8s vanilla en production.

Le parcours administrateur système formation LFS458 prépare à administrer ces trois distributions.

Formez-vous à l'administration des distributions Kubernetes :. Pour approfondir, consultez notre dashboard Kubernetes comparatif outils.