On me demande de créer un pod avec 5 conteneurs, quelle est la meilleure solution pour cette situation, dois-je créer un pod avec 5 Con ou le diviser en plusieurs pods, toute suggestion
4 Réponses :
Ce n'est pas une bonne pratique d'exécuter 5 conteneurs dans un seul pod. Votre pod deviendrait lourd et les applications dans le pod seraient étroitement couplées.
Il serait difficile de gérer le cycle de vie du pod. par exemple, un conteneur tombe en panne pour lequel la sonde de disponibilité est configurée, puis le pod est traité comme défectueux et le pod est redémarré même si 4 autres conteneurs sont opérationnels. le débogage des problèmes serait difficile. vous suggère d'utiliser plusieurs pods sauf si vous avez une raison valable et qu'il n'est pas possible de diviser les conteneurs
En règle générale, plusieurs conteneurs ne doivent résider dans le même pod que s'ils partagent le même cycle de vie. Par exemple, supposons que vous ayez une application et avec elle un autre service d'assistance / de pont qui sert de fenêtre sur le monde extérieur, alors il peut être logique que ces deux conteneurs restent ensemble dans un seul pod. Mais je ne sais vraiment pas dans quel type de cas d'utilisation il faudra rassembler 5 conteneurs dans un seul pod.
Veuillez comprendre que cela ne présente aucun avantage du point de vue des ressources, que vous ayez 5 conteneurs dans 1 pod ou 5 pods, l'utilisation des ressources comme le processeur et la mémoire sera toujours le nombre cumulatif de tous les conteneurs ensemble.
/ p>
Il peut y avoir différentes raisons d'exécuter plusieurs conteneurs dans un seul pod. Lorsque les conteneurs ont exactement le même cycle de vie ou lorsque les conteneurs doivent s'exécuter sur le même nœud. Une autre raison de combiner des conteneurs en un seul pod est pour une communication facile entre les conteneurs du pod. Ces conteneurs peuvent communiquer via des volumes partagés et via une communication inter-processus (sémaphores ou mémoire partagée). Si vous avez vraiment besoin d'exécuter plusieurs conteneurs dans un seul pod, différents modèles disponibles tels que side-car, adaptateur, ambassadeur.
En supposant que vous essayez d'optimiser le coût de l'équilibrage de charge, ne le faites que si les conteneurs du POD sont bien écrits, c'est-à-dire exempts de fuites de mémoire, etc. et que vous disposez d'un autoscaler pour gérer les rafales de charge. Joshua Bloch:
Apprendre l'art de la programmation, comme la plupart des autres disciplines, consiste d'abord à apprendre les règles, puis à apprendre quand les enfreindre.
Cela dépend de votre scénario - les conteneurs doivent-ils «vivre» ensemble ou ne sont-ils pas liés? Lisez à propos des pods et essayez de comprendre quelle méthode convient le mieux - kubernetes.io/docs / concepts / workloads / pods / pod-overview
tu devrais les diviser
Imaginez ceci: si ce POD se termine et est de nouveau lancé, une multitude d'événements se produiront en arrière-plan et rendront le cluster instable. Allant du lancement d'un nouveau conteneur / image, chemins de montage, secrets, politiques réseau, etc. Vous devez rendre cela plus modulaire et n'avoir que les pods ayant des conteneurs indispensables s'exécutant dans le même pod.