Azure Kubernetes Service (AKS) en mode Serverless avec les noeuds virtuels. Test des Azure Functions sur Linux …

Image for post
Image for post

Les nœuds virtuels d’Azure Kubernetes Service sont entrés en preview publique. Avec les nœuds virtuels AKS, on a la possibilité de répondre à un pic de charge en quelques secondes en allouant précisément le nombre de conteneurs supplémentaires dont on a besoin, plutôt que d’attendre que d’autres nœuds basés sur des VMs tournent. Comme Azure Container Instance (ACI) est facturé à la seconde en fonction des ressources que l’on spécifie, on peut faire correspondre exactement ses coûts à ses charges de travail. Et comme les nœuds virtuels ressemblent à n’importe quel autre nœud du cluster, on peut continuer à utiliser les mêmes outils et processus comme dans n’importe quel cluster Kubernetes …

Image for post
Image for post

Les nœuds virtuels AKS sont construits sur le projet open-source Virtual Kubelet (VK). VK a été lancé lors de KubeCon 2017 afin d’entamer une conversation avec la communauté sur la manière dont l’API Kubernetes pourrait être étendue pour déployer et gérer des conteneurs dans des environnements informatiques non traditionnels comme ACI.

Image for post
Image for post

Depuis lors, un certain nombre de fournisseurs VK ont été ajoutés, permettant l’intégration avec des services comme AWS Fargate, Alibaba ECI et Azure IoT Edge. Microsoft vient de le rendre open source et vient de le placer sous le contrôle de la Cloud Native Compute Foundation (CNCF) :

Image for post
Image for post

Je pars donc encore une fois d’un cluster AKS par le biais du portail Azure où je vais selectionner l’option “Noeud virtuel” lors de sa création :

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 vérifier la présence du noeud virtuel dans le cluster AKS :

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

Et je peux faire tout de suite le test d’un déploiement du démonstrateur FranceConnect Agent avec ce noeud virtuel via ce manifest YAML :

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

Le portail du démonstrateur FranceConnect Agent est accessible et en exécution sur ce noeud virtuel :

Image for post
Image for post

Je peux insérer dans le cluster de manière plus classique les Virtual Kubelets avec des noeuds Windows et Linux avec ce type d’architecture :

Image for post
Image for post

Pour cela, je prépare ce fichier de manifest pour le RBAC au sein du cluster :

Image for post
Image for post

J’initie Helm et Tiller dans le cluster AKS et je lance les Virtual Kubelets :

Image for post
Image for post

J’ai bien mes deux noeuds virtuels Linux et Windows :

Image for post
Image for post

Dès lors déploiement dans le noeud Linux du démonstrateur FranceConnect Particulier avec ce manifest YAMl qui fait apparaître les propriétés spécifiques à ce type de noeud :

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

Le portail du démonstrateur FC Particulier est disponible sur ce noeud virtuel Linux :

Image for post
Image for post

Mais je peux également lancer un déploiement d’une fonction Azure sur le noeud virtuel Windows via ce manifest YAML :

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

La démo de la fonction Azure est disponible et en exécution cette fois-çi sur le noeud virtuel Windows :

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

La suppression de ces noeuds virtuels se fait très simplement :

Image for post
Image for post

Microsoft a également dévoilé les fonction Azure sur Linux en preview encore publique :

J’en profite donc pour en lancer une dans Azure :

Image for post
Image for post

On peut utiliser pour cela les paramêtres et template suivants :

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

La page de configuration de ma fonction Azure sur Linux est accessible au sein du portail Azure :

Image for post
Image for post

J’ai utilisé ici l’image Docker du démonstrateur du fournisseur de services FranceConnect Particulier encore une fois comme une simple fonction à la demande et via une route qui m’est fournie :

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

Il est possible tout simplement de faire le test du chargement statique via du stockage objet fourni par Minio au sein de ce cluster AKS. Je pars de ce fichier YAML :

Image for post
Image for post

et je le lance :

Image for post
Image for post

J’ai le portail Minio accessible et je n’ai plus qu’à créer un bucket dans le quel je charge mon chatbot en Progressive Web App (PWA) pour FranceConnect :

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

Par la configuration des rêgles de sécurité sur le bucket (lecture seule), le chatbot est accessible directement via l’adresse Ip fournie par le load balancer induit dans le cluster AKS :

Image for post
Image for post

Avec le projet Virtual Kubelet, différents fournisseurs apparaissent que l’on peut attacher à son cluster Kubernetes tel Service Fabric Mesh (qui est encore en preview lui aussi) :

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

A 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