Bonjour,
Dans un cluster Kubernetes, une bonne pratique consiste à utiliser plusieurs node pools. Cette possibilité apportent comme avantages :
- La réduction des coûts en ciblant des machines plus modestes pour nos workload de dev/tests.
- Prévoir des types de VM spécifiques (optimisées en CPU / stockage par exemple, ou avec le support GPU) pour exécuter certaines applications.
En Terraform voici comment le déploiement de plusieurs node pools pour son cluster Azure Kubernetes Services se présentent. Il faut utiliser la ressource “azurerm_kubernetes_cluster_node_pool” :
Et vous noterez que l’on rattache le node pool au cluster grâce à la propriété kubernetes_cluster_id.
Le template est disponible ici, attention au préalable à paramétrer le fichier provider.tf et valoriser un compte de stockage existant dans le main (le bloc backend) 🙂
Ici vous verrez que je prévois 3 node pools :
- Le default node pool avec des VM Standard_D2_V2
- un node pool optimisé en terme de CPU
- Déployé en utilisant des zones de disponibilité
- Avec un autoscale actif pour provisionner entre 1 et 3 VM suivant la sollicitation du cluster.
- un dernier nod pool avec des VM plus limité, mais donc moins chère pour nos worloads de dev/test. D’ailleurs ce nodepool, dans un but d’économie est configuré pour utiliser des instances de type spot !
A bientôt !
Thomas
It is a very interesting article to follow. I appreciate such a good article. บาคาร่าออนไลน์