Nous prévoyons de construire un petit cluster docker pour nos services d'application. Nous avons envisagé d'utiliser 2 master vms pour ha, 1 consul (si nous choisissons Swarm) et 5-10 hôtes pour les conteneurs. Nous n'avons pas encore décidé quoi utiliser - Docker Swarm ou Kubernetes.
La question est donc de savoir quelles exigences "matérielles" (cœurs CPU, RAM) les gestionnaires, Swarm et Kubernetes, peuvent satisfaire pour orchestrer ce petit cluster.
Juste pour clarifier un peu ce que Robert a écrit sur Kubernetes. Si vous voulez avoir jusqu'à 5 machines pour exécuter vos applications, même une machine virtuelle à 1 cœur (n1-standard-1 sur GCE) devrait suffire. Vous pouvez gérer un cluster à 10 nœuds avec une machine virtuelle à 2 cœurs, comme l'a dit Robert. Pour les recommandations officielles, veuillez consulter: http://kubernetes.io/docs/admin/cluster-large/
Cependant, notez que l'utilisation des ressources de nos composants principaux est davantage liée au nombre de pods (conteneurs) que vous souhaitez exécuter sur votre cluster. Si vous voulez en dire un seul chiffre, même GCE n1-standard-1 devrait être suffisant pour un cluster à 10 nœuds. Mais il est certainement plus sûr d'utiliser n1-standard-2 dans le cas de <= 10 clusters de nœuds.
En ce qui concerne HA, je suis d'accord avec Robert selon lequel avoir 3 machines virtuelles principales vaut mieux que 2. Etcd (qui est notre stockage de sauvegarde) nécessite plus de la moitié de toutes les répliques enregistrées pour fonctionner correctement, donc dans le cas de 2 instances, toutes d'entre eux doit être en place (ce qui n'est généralement pas votre objectif). Si vous avez 3 instances, l'une d'elles peut être en panne.
Faites-moi savoir si vous avez d'autres questions sur Kubernetes.
Pour Kubernetes, une seule machine virtuelle à 2 cœurs (par exemple n1-standard-2 sur GCE) peut gérer 5 nœuds et probablement 10. Si vous souhaitez exécuter une configuration maître HA, vous souhaiterez probablement que 3 nœuds créent un quorum pour les instances etcd et vous voudrez peut-être provisionner des instances légèrement plus grandes (comme un n1-standard-4) pour tenir compte de la surcharge du clustering etcd.