Mise à l’échelle automatique d’un cluster pour répondre aux demandes d’applications sur Azure Kubernetes Service : rapide test avec Jenkins-X …

Image for post
Image for post

Je pars ici d’une fonctionnalité actuellement en prévisualisation qui permet d’activer et gérer l’autochargeur de cluster dans un cluster AKS :

L’autochargeur de cluster surveille les pods qui ne peuvent pas être planifiés sur les nœuds en raison de contraintes de ressources. Le cluster augmente alors automatiquement le nombre de nœuds.

Image for post
Image for post

L’autochargeur horizontal de pods utilise le serveur Metrics Server dans un cluster Kubernetes pour surveiller la demande en ressources des pods. Si un service a besoin de plus de ressources, le nombre de noeuds est automatiquement augmenté pour répondre à la demande.

Image for post
Image for post

J’utilise pour cela Azure CLI qu’il faut donc installer :

et j’installe la fonctionnalité via l’extension en prévisualisation :

Image for post
Image for post

Les versions de Kubernetes sont disponibles en fonction des différentes régions Azure :

Image for post
Image for post

Je lance la création d’un nouveau cluster Kubernetes via AKS et en utilisant des noeuds avec VMSS :

Image for post
Image for post

permettant une mise à l’échelle automatique de ces noeuds (en machines virtuelles) à des fins de haute disponibilité :

Image for post
Image for post

et je peux mettre à jour ce cluster managé toujours via Azure CLI :

Image for post
Image for post

Le cluster AKS est disponible :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Je peux procéder à l’initialisation de Jenkins-X dans ce cluster. Jenkins X est une plate-forme d’intégration et déploiement continus, native dans Kubernetes pour le développement d’applications dites Cloud Native et qui a été introduite en tant que Jenkins Enhancement Proposal …

Image for post
Image for post

Je récupère les binaire de Jenkins-X sur github :

Image for post
Image for post

ou via cette commande dans Linux :

curl -L https://github.com/jenkins-x/jx/releases/download/v1.3.971/jx-linux-amd64.tar.gz | tar xzv 
sudo mv jx /usr/local/bin

Installation et initialisation de Jenkins-X dans le cluster AKS :

Image for post
Image for post

qui devient disponible avec une série de pods et de services :

Image for post
Image for post

dont le tableau de bord avec Blue Ocean avec deux démos :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

ou Nexus :

Image for post
Image for post

et je peux reprendre la maintenant célèbre démo avec Spring Boot dans Jenkins-X en lancant cette commande :

Image for post
Image for post

qui permet d’initier ce pipeline dans Jenkins :

Image for post
Image for post
Image for post
Image for post

Comme d’habitude le monitoring du cluster est assuré ici via Weave Cloud :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

La destruction du cluster AKS est assurée par cette simple commande :

Image for post
Image for post

Cet article a donc montré comment mettre à l’échelle automatiquement un nombre de nœuds dans AKS. On peut également utiliser l’autochargeur de pods horizontal pour ajuster automatiquement le nombre de pods qui exécute son ou ses applications ...

Une fonctionnalité à suivre !

Image for post
Image for post

Above the clouds, the sky is always blue ...

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store