Le pod est la plus petite unité déployable de Kubernetes : un ou plusieurs conteneurs qui partagent le même réseau et le même cycle de vie. Quand on « déploie une application » sur Kubernetes ou OpenShift, on crée concrètement des pods — généralement plusieurs copies identiques, appelées replicas.
Éphémère par Conception
Un pod n'est pas un serveur qu'on bichonne : il est détruit et recréé à chaque déploiement, à chaque panne, à chaque rééquilibrage du cluster. Conséquence structurante : rien d'important ne doit vivre dans le pod — sessions, fichiers et caches partagés sont externalisés (Redis, stockage objet).
Répliqué pour la Disponibilité
Faire tourner plusieurs replicas d'un même pod, c'est ce qui rend possibles la haute disponibilité (la perte d'un pod est invisible) et les déploiements sans interruption : les pods de l'ancienne version continuent de servir le trafic pendant que ceux de la nouvelle démarrent.
Penser en pods plutôt qu'en serveurs change la conception des applications : tout état précieux sort du processus, et la disparition d'une instance devient un non-événement.