Junior
Un seul pod peut-il contenir plusieurs conteneurs?
sobes.tech IA
Réponse de l'IA
Oui, cela peut arriver. C'est une pratique courante dans Kubernetes.
Plusieurs conteneurs dans un pod partagent généralement des ressources (espace de stockage, pile réseau) et sont souvent utilisés pour effectuer des tâches auxiliaires à côté du conteneur principal de l'application (patron Sidecar).
Exemples d'utilisation :
- Conteneurs Sidecar : Surveillance, journalisation, proxy de maillage de services (par exemple Envoy).
- Conteneurs Ambassadeur : Proxy pour accéder à des services externes.
- Conteneurs Adaptateur : Normalisation de la sortie des processus auxiliaires.
Les conteneurs dans un pod sont toujours planifiés sur un même nœud et utilisent le même namespace pour l'IPC (inter-processus), ce qui leur permet d'interagir.
Exemple de manifeste de pod avec deux conteneurs (application principale nginx et conteneur sidecar pour la journalisation) :
// apiVersion - version de l'API Kubernetes
apiVersion: v1
// kind - type d'objet (dans ce cas, Pod)
kind: Pod
// metadata - métadonnées du pod (nom, étiquettes, etc.)
metadata:
name: multi-container-pod
spec:
// containers - liste de conteneurs dans le pod
containers:
// Premier conteneur - application principale (nginx)
- name: main-app
image: nginx:latest
ports:
// exposer le port 80
- containerPort: 80
// Deuxième conteneur - sidecar pour la journalisation (exemple fictif)
- name: log-sidecar
image: busybox:latest
args:
// boucle infinie pour simuler la journalisation
- /bin/sh
- -c
- while true; do echo "Logging from sidecar..."; sleep 5; done