2 votes

Kubernetes vs Moteur de conteneur Google : Comment utiliser l'auto-scaling ?

J'ai déployé une application en utilisant Kubernetes sur un Cluster Google Cloud Container Engine.

Je me suis intéressé à l'auto-scaling, et j'ai trouvé les options suivantes :

Auto-scaling horizontal de pod Kubernetes (HPA)

Comme expliqué ici, Kubernetes propose l'HPA sur les déploiements. Selon la documentation ici :

L'Auto-scaling horizontal de pod ajuste automatiquement le nombre de pods dans un contrôleur de réplication, un déploiement ou un ensemble de réplicas en fonction de l'utilisation observée du CPU.

Cluster de conteneurs Google Cloud

Maintenant j'ai un Cluster de Conteneurs Google Cloud avec 3 instances, avec l'auto-scaling activé. Selon la documentation :

Le Cluster Autoscaler permet aux utilisateurs de redimensionner automatiquement les clusters pour que tous les pods programmés aient un endroit où s'exécuter.

Cela signifie que j'ai deux endroits pour définir mon auto-scaling. D'où mes questions :

  • Est-ce qu'un Pod est la même chose qu'une instance VM à l'intérieur de mon cluster, ou est-ce que plusieurs Pods peuvent s'exécuter à l'intérieur d'une seule instance VM?
  • Ces deux paramètres font-ils la même chose (c'est-à-dire créer/supprimer des instances VM à l'intérieur de mon cluster). Sinon, quel est leur comportement l'un par rapport à l'autre?
  • Que se passe-t-il si par exemple j'ai un nombre de pods entre 3 et 10 et un cluster avec un nombre d'instances entre 1 et 3 et que l'auto-scaling se déclenche. Quand et comment les deux vont-ils s'adapter?

Merci beaucoup!

3voto

Oswin Noetzelmann Points 4178

Est-ce qu'un Pod est la même chose qu'une instance VM à l'intérieur de mon cluster, ou est-ce que plusieurs Pods peuvent fonctionner à l'intérieur d'une seule instance VM?

Plusieurs Pods peuvent fonctionner sur la même instance (appelée nœud dans Kubernetes). Vous pouvez définir les ressources maximales à consommer pour un POD dans le fichier de déploiement yaml. Voir la documentation. C'est une condition préalable importante pour l'auto-escalade.

Ces deux paramètres font-ils la même chose (c'est-à-dire créer/supprimer des instances VM à l'intérieur de mon cluster). Sinon, quel est leur comportement l'un par rapport à l'autre?

L'auto-escalade de Kubernetes planifiera des PODs supplémentaires dans vos nœuds existants. L'auto-escalade de Google ajoutera des nœuds de travail (nouvelles instances) à votre cluster. L'auto-escalade de Google examine les PODs en attente qui ne peuvent pas être planifiés car il n'y a pas d'espace dans votre cluster et quand il les trouve, il ajoutera des nœuds.

Que se passe-t-il si, par exemple, j'ai un certain nombre de pods entre 3 et 10 et un cluster avec un nombre d'instances entre 1 et 3 et que l'auto-escalade se déclenche. Quand et comment les deux vont-ils s'ajuster?

En fonction de l'utilisation maximale des ressources que vous définissez pour vos pods, l'auto-escalade de Google estimera combien de nouveaux nœuds sont nécessaires pour exécuter tous les PODs en attente et planifiés.

Lisez également cet article.

0 votes

Merci beaucoup, c'est une information précieuse et assez difficile à comprendre. Je vais essayer !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X