Suite au Meetup du 05 décembre sur AKS, organisé par le Microsoft User Group Nantes voici la vidéo de cette présentation.
Continuer la lecture de « Présentation vidéo Azure Kubernetes Services »Du DevOps multi Cloud avec Kubernetes et Terraform
Le 08/04/2020, je vous propose un talk avec le Meetup Nantes DevOps ! Au menu : Kubernetes, Terraform et Azure DevOps.
EDIT : Compte tenu de l’actualité peu propice à ce genre d’événement, le meetup est reporté .
Avec mes chers collègues, Yves et Sébastien nous présenterons la mise en oeuvre, à partir d’un projet .Net Core et de script Terraform, d’un pipeline d’intégration et déploiement continu avec Azure DevOps pour déployer une application dans un cluster Kubernetes sur Azure, AWS et GCP.
Les inscriptions c’est ici !
Bye 🙂
Thomas
Meetup sur AKS : slides et notes
Suite au Meetup du 05 décembre sur AKS, organisé par le MUG Nantes voici les slides et mes notes pour cette présentation :
Et ci-dessous la liste de toute les commandes utilisées pendant les démos de ce meetup ainsi que la documentation AKS ou Kubernetes associée.
Continuer la lecture de « Meetup sur AKS : slides et notes »
Meetup sur Azure Kubernetes Services
Jeudi 5 décembre, je vous propose une présentation de la solution AKS. Ce meetup organisé par le Microsoft User Group Nantes aura lieu à l’école Epitech !
Pour les inscriptions c’est ici : https://www.meetup.com/fr-FR/Meetup-Mug-Net-Nantes/events/266311565/
PS : les slides et les notes c’est par ici 🙂
A bientôt !
Thomas
L’autoscaling dans AKS
Aujourd’hui nous allons parler montée en charge dans Kubernetes grâce à l’horizontal pod autoscaler ! Nous verrons comment configurer cet autoscaling dans AKS 🙂
Le scaling consiste à augmenter ou diminuer le nombre d’instances d’une application. Cela permet par exemple de résister à un pic de charge si votre service est fortement sollicité par moments et très peu le reste du temps. On peut configurer grâce à Kubernetes l’upscale et le downscale pour s’adapter en temps réel aux besoins de nos utilisateurs.
Debugger son cluster Kubernetes dans Azure
Aujourd’hui, nous allons voir une fonctionnalité bien pratique offerte par AKS : la possibilité de debugger dans Visual Studio son application déployée dans un cluster Kubernetes dans Azure.
Continuer la lecture de « Debugger son cluster Kubernetes dans Azure »
Déployer dans AKS
Pour ce tutoriel nous utiliserons la registry provisionné ici et le projet hébergé dans ce repository. J’ai remis les commandes utilisées pour créer la Azure Container Registry, pour plus de précision vous pourrez consulter le précédent article 🙂 Le but de ce tutoriel est de partir d’un projet ASP .Net Core conteneurisé et le déployer dans un cluster Kubernetes dans Azure (AKS).
Visual Studio & Container Registry
Aujourd’hui nous allons déployer une application dockerisée dans une container registry puis une WebApp directement depuis Visual Studio. Pour tester son application c’est rapide et efficace 🙂
Nous obtiendrons le même résultat que dans l’article précédent, mais bien plus rapidement !
Création du projet
Démarrons depuis un nouveau projet Visual Studio :
Je demande le support Docker Linux pour une Application Web ASP.Net Core. L’environnement local Docker doit être configuré en mode “Docker for Linux”.
Publication
Après avoir testé en local mon site web, je peux effectuer un clic droit sur mon projet puis Publier. Je choisis une publication sur une App Service Linux comme ci-dessous :
Je configure mon App Service en précisant ma Container Registry :
Une fois le déploiement terminé, une page s’ouvre sur mon application déployée :
Sur le portail Azure, je retrouve ma registry et ma web app provisionnées et opérationnelles.
Maintenant, petit focus sur la notion de réplication 🙂 Quelques explications sur la fonctionnalité :
Les entreprises qui souhaitent une présence locale ou une sauvegarde à chaud choisissent d’exécuter des services à partir de plusieurs régions Azure. La meilleure pratique recommandée consiste à placer un registre de conteneurs dans chaque région où les images sont exécutées afin de permettre des opérations à proximité du réseau pour des transferts de calque d’image rapides et fiables. La géoréplication permet à un registre de conteneurs Azure de fonctionner comme un registre unique desservant plusieurs régions à l’aide de registres régionaux à multiples maîtres.
Un registre géorépliqué offre les avantages suivants :
– Noms de registre/d’image/de balise uniques utilisables dans plusieurs régions
– Accès au registre à proximité du réseau à partir des déploiements régionaux
– Aucuns frais de sortie supplémentaires, les images étant extraites à partir d’un registre local répliqué dans la même région que l’hôte de votre conteneur
– Gestion unique d’un registre dans plusieurs régions.
Je dois d’abord upgrader ma registry en mode Premium pour avoir accès à cette fonctionnalité ! Pour plus de détails sur le pricing d’une container registry, voir ici !
Je peux alors ajouter une zone de réplication en sélectionnant l’emplacement voulu sur la carte :
Je valide :
Déploiement en cours …
Réplication active en France 🙂 Ma registry est maintenant déployée dans deux régions différentes !
Bonne conteneurisation, à bientôt !
Thomas
Azure Container Registry
Aujourd’hui nous allons :
- Créer une web application Asp .Net Core
- La déployer dans une Azure Container Registry
- L’exécuter dans une Container Instance
Il s’agit de mon premier article sur la toute nouvelle version de Visual Studio : VS 2019 actuellement en version 16.1.1. Le code source de cette application, créé par le générateur de projet Visual Studio est ici : github.com !
Prérequis
Les prérequis pour ce tuto :
- Avoir Docker For Windows sur son environnement Windows 10
- Activer Shared Drives dans les options de Docker.
Etre en mode “Linux Containers” plutot que Windows Container.
Voici le DockerFile de mon application, créé par défaut :
En exécution locale, Visual Studio va me créer mon image Docker, instancier un conteneur basée sur cette image et le déployer. Je peux alors le tester en local, et le débugger :
Création de la registry
Maintenant je veux créer une registry Docker pour héberger mes belles images !
Direction : Azure ! Cette registry nous permettra de gérer nos images Docker pour ensuite pouvoir les déployer facilement dans une Web App, une instance de conteneur, un cluster Kubernetes, Service Fabric …
Dans la console Azure Cloud Shell : >_ (A noter qu’il est tout à fait possible de réaliser ces opérations également en local après s’être identifié sur son tenant Azure via la commande az login
)
Je créé un groupe de ressource rg_registry : az group create --name rg_registry --location eastus
Je créé une registry dans mon groupe de ressource : az acr create --resource-group rg_registry --name containeregistrythomas --sku Basic --admin-enabled true
Pour plus d’information sur le pricing de la registry (–sku) voir : pricing ACR
Je peux vérifier sur le portail le bon déroulement de l’opération :
Rendez vous sur la page “Clés d’accès”. Les informations d’authentification vont nous servir très vite !
Déploiement
De retour sur notre environnement Windows nous allons pousser notre image Docker dans notre Registry !
Je me connecte à ma registry : docker login --username containeregistrythomas --password <passwd> containeregistrythomas.azurecr.io
Je demande la liste des images disponible sur mon environnement : docker images
Avant de pouvoir push mon image , il faut que je la tag pour ma registry : docker tag websitedockerlinux containeregistrythomas.azurecr.io/linuxwebsite:latest
Puis docker push containeregistrythomas.azurecr.io/linuxwebsite:latest
Il est temps de retourner sur le portail Azure…
Je créé une instance de conteneur à partir de mon image : az container create --resource-group rg_registry --name instancelinuxwebsite --image containeregistrythomas.azurecr.io/linuxwebsite:latest --dns-name-label containerLinux --ports 80
En sortie si tout s’est bien passé j’obtiens :
Il faut maintenant que je puisse y accéder. Je peux récupérer les infos à partir de cette commande : az container show --resource-group rg_registry --name instancelinuxwebsite --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table
Si je tente d’accéder à l’url récupérée grâce à la commande précédente : bingo, tout roule 🙂
Dans le prochain article, nous verrons comment déployer dans une Azure Registry directement depuis Visual Studio 🙂
Bye !
Thomas
Keep Calm & PoC sur Azure
Hi ! “Les idées, en général, cela ne manque pas. Pour ce qui est du temps, c’est déjà plus délicat. Durant cette présentation, nous verrons quels outils et services Azure peuvent nous aider à développer un PoC rapidement”.
Ci-dessous les sujets abordés au Meetup Mug .Net de mars. Meetup organisé par Nicolas Mariot et présenté par Christophe Maneu !
Azure Functions : Offre Serverless : on déploie une méthode et on définit un trigger qui déclenche cette fonction (appel http, enregistrement en base, arrivée d’un message sur un ServiceBus…).
Azure App Service : Offre PAAS : hébergement d’application web . Net ou .Net Core (et même Java, Php, Node) . Dockerisé ou non.
Web API ASP.NET Core
Azure App Service
Azure DevOps : Anciennement TFS / VSTS : outils d’intégration / déploiement continu de Microsoft.
Microservices et Application Lifecycle Management
Microsoft Visual Studio Team Services
Application Insights : Monitoring des applications déployées.
Logic Apps : moteur de workflow. Équivalent de Microsoft Flow, mais avec des connecteurs pour Azure.
Azure DevOps Project : Pour générer automatiquement une solution Visual Studio + pipeline d’intégration / Déploiement continu + hébergement.
Il n’y a plus qu’à ouvrir Visual studio et se brancher sur le repository, toute l’indus et l’hébergement Cloud est fait.
Azure DevOps Project
Azure Blob Storage : Stockage
Votre compte MSDN vous permet d’activer un crédit Azure de 150$ par mois pour faire vos tests : https://my.visualstudio.com/benefits
Bon PoC dans Azure !