Réponse courte: Il n'y a pas de moyen facile de le faire avec Docker Essaim pour l'instant.
Docker Essaim (ou Essaim mode) ne prend pas en charge l'auto-scaling des machines hors de la boîte. Vous auriez besoin d'utiliser une autre solution pour que, comme docker-machine
pour créer des machines (avec menu fixe) sur votre infrastructure et de les relier à l'existant Essaim de cluster (avec docker swarm join
).
Cela impliquera beaucoup de scripts, mais l'idée est de surveiller le cluster pour les CPU / Mémoire d'utilisation du Réseau (avec top
ou monit
) et une fois qu'il va au-delà d'un seuil (disons 70% du total des ressources de cluster), de déclencher un script appelant docker-machine
à l'échelle du cluster. En utilisant la même idée, vous pouvez également mettre à l'échelle par le drainage et suppression de nœuds (de préférence Agent
nœuds) à partir de l'existant essaim cluster une fois que vous êtes en dessous de la limite inférieure.
Vous devez vous assurer que vous êtes suivi pour la poursuite de l'utilisation des ressources si vous souhaitez utiliser ce critère ou vous aurez votre Infrastructure de frai et de détruire les nœuds de l'fréquents et brusques changements dans l'utilisation des ressources.
Vous pouvez définir une limite inférieure et une limite supérieure pour les machines du cluster afin de garder les choses sous contrôle.
Notez que l'Essaim nécessite au moins 3 Manager
des nœuds (recommandé 5) pour maintenir le quorum pour la distribution d'un Consensus algorithme. Donc le minimum recommandé limite inférieure est de 5 nœuds (que vous pouvez étendre avec Agent
des nœuds comme les ressources sont progressivement utilisés par les services).
Dans une certaine mesure, vous pouvez également jeter un oeil à Docker InfraKit ou transformer le terrain pour l'automatisation des Infrastructures et de surveillance de la Santé.
Mise à jour: Il y a maintenant un prometteur de la croix-plate-forme autoscaler qui prend en charge Essaim Mode tâche de l'auto-scaling: Orbiter. Bien que toujours rien de dehors-de-le-boîte encore pour le service/machine de mise à l'échelle automatique.