Kubernetes est conçu pour être étendu. L’extensibilité repose sur des mécanismes natifs (extensions) sur lesquels s’appuient des outils tiers (plugins/opérateurs).
Règle clé :
- Une extension = mécanisme fourni par Kubernetes (CRD, Webhook, CNI…)
- Un plugin / opérateur = outil tiers qui utilise ces mécanismes
Mécanismes d’extension
| Mécanisme | Rôle | Note |
|---|---|---|
| CRD (Custom Resource Definition) | Ajouter de nouveaux types d’objets à l’API Kubernetes | Extensions Kubernetes |
| Admission Webhooks | Intercepter et valider/modifier les requêtes API avant persistence | Extensions Kubernetes |
| CNI (Container Network Interface) | Gérer le réseau des pods (remplaçable) | Extensions Kubernetes |
| CSI (Container Storage Interface) | Gérer le stockage persistant (remplaçable) | Extensions Kubernetes |
| Operators | Automatiser la gestion d’applications complexes (CRD + Controller) | Extensions Kubernetes |
| Scheduler Plugins | Modifier la logique de planification des pods | Extensions Kubernetes |
Mécanismes de scheduling avancé
| Outil | Rôle | Note |
|---|---|---|
| KEDA | Autoscaling événementiel (Kafka, SQS, métriques custom…) | mécanisme de KEDA |
| PriorityClass | Définir la priorité des pods pour l’ordonnancement et la préemption | PriorityClass |
Vue d’ensemble des plugins tiers
Voir Plugins Kubernetes - Vue d’ensemble pour le tableau complet de tous les outils tiers et leurs mécanismes d’extension sous-jacents.
Relation extensions / plugins
Mécanismes natifs Kubernetes
│
├── CRD ──────────────────► cert-manager (CRD: Certificate, Issuer)
│ ArgoCD (CRD: Application, AppProject)
│ KEDA (CRD: ScaledObject, ScaledJob)
│
├── Admission Webhook ─────► ingress-nginx (validation webhooks)
│ cert-manager (mutation webhooks)
│
├── CNI ───────────────────► Cilium, Calico, Flannel
│
├── CSI ───────────────────► AWS EBS CSI, GCE PD CSI
│
└── Operator pattern ──────► Velero, cert-manager, ArgoCD, KEDA
En relation avec
- Synthèse des composants Kubernetes — vue d’ensemble du cluster
- Réseau Kubernetes — Vue d’ensemble — ingress-nginx, Cilium (basés sur CNI/webhooks)
- Écosystème — Vue d’ensemble — outils GitOps, backup, scaling
- kube-apiserver — point d’entrée pour tous les CRDs et webhooks