Skip to content

5. Les ressources

Formation suivie via le blog de Stéphane Robert : parcours Kubernetes. Ordre des ressources : celui de la documentation officielle.

Ressource Rôle Exemples
Pod La plus petite unité déployable de Kubernetes. Contient un ou plusieurs conteneurs qui partagent la même adresse IP et peuvent partager des volumes. Éphémère : s’il meurt, il n’est pas réparé, il est remplacé. —
Deployment Gère des Pods sans état et interchangeables. Permet les mises à jour progressives (rolling update) et les retours arrière (rollback). un site web, une API
ReplicaSet Maintient un nombre fixe de Pods identiques. On ne le crée presque jamais à la main : c’est le Deployment qui crée et remplace ses ReplicaSets à chaque mise à jour. —
Service Les Pods changent d’adresse IP à chaque remplacement. Le Service leur donne une adresse stable et un nom DNS, et répartit le trafic entre les Pods qu’il sélectionne par leurs labels. voir les types de Service

Chaque type s’appuie sur le précédent : un NodePort crée aussi une ClusterIP, un LoadBalancer crée aussi un NodePort et une ClusterIP.

Type Accessible depuis Fonctionnement Exemples
ClusterIP l’intérieur du cluster uniquement Type par défaut. Donne au Service une IP virtuelle interne et un nom DNS (<service>.<namespace>.svc.cluster.local). une base de données, une API appelée par un autre Pod
NodePort l’extérieur, via <IP d'un node>:<port> Ouvre le même port sur tous les nodes (entre 30000 et 32767 par défaut) et le renvoie vers le Service. des tests, un cluster local, un accès ponctuel
LoadBalancer l’extérieur, via une IP publique Demande un load balancer externe au fournisseur cloud (GKE, EKS, AKS…), qui envoie le trafic vers les nodes. Sur un cluster local, il faut un outil comme MetalLB, sinon l’IP reste en <pending>. une application exposée sur Internet
Ressource Rôle Exemples
ConfigMap Stocke de la configuration non confidentielle sous forme de clés-valeurs. Injectée dans le Pod en variables d’environnement ou en fichiers. URL, niveau de logs, fichier de configuration
Secret Même principe, pour les données sensibles. Attention : seulement encodé en base64, pas chiffré. mots de passe, tokens, certificats
Namespace Un espace de noms qui découpe un cluster en zones logiques. Deux objets peuvent porter le même nom s’ils sont dans des namespaces différents. par équipe, par projet, par environnement
Ressource Rôle Exemples
PersistentVolumeClaim (PVC) Une demande de stockage faite par une application : quelle taille, quel mode d’accès (ReadWriteOnce : un seul node en écriture, ReadWriteMany : plusieurs nodes) et quelle StorageClass. Kubernetes la lie à un volume (PersistentVolume) qui correspond, ou en crée un grâce à la StorageClass. Le Pod monte ensuite le PVC comme un volume. Les données survivent au Pod : s’il est remplacé, le nouveau Pod retrouve le même PVC. 10 Go pour une base de données, un dossier d’uploads partagé
StorageClass Décrit une classe de stockage proposée par le cluster : quel driver CSI l’approvisionne, avec quels paramètres (type de disque, performances), et ce qu’il advient du disque quand on n’en a plus besoin (reclaimPolicy : Delete ou Retain). Quand un Pod réclame du stockage via un PersistentVolumeClaim, la StorageClass permet de créer le volume automatiquement (provisionnement dynamique). Une classe peut être marquée par défaut : elle est utilisée quand la demande n’en précise aucune. standard (disque classique), premium-ssd (disque rapide), local-path (cluster local)
Ressource Rôle Exemples
StatefulSet Gère des Pods avec état : chaque Pod a un nom fixe, une identité réseau stable et son propre stockage. une base de données, un cluster Kafka
DaemonSet Fait tourner un Pod sur chaque node, y compris ceux ajoutés plus tard. collecte de logs, monitoring, kube-proxy, plugin CNI
Job Lance des Pods qui exécutent une tâche jusqu’à sa fin, et relance en cas d’échec jusqu’à ce qu’elle réussisse. une migration de base, un traitement par lot
CronJob Crée un Job à intervalles réguliers, selon une planification au format cron. une sauvegarde chaque nuit, un rapport hebdomadaire