Prenez un microservice créé précédemment et déployez-le sur Azure à l’aide de DockerHub et Azure Kubernetes Service (AKS).
Pousser vers Docker Hub
Docker Hub est un emplacement central pour charger des images Docker. De nombreux produits, notamment Microsoft Azure, peuvent créer des conteneurs basés sur des images dans Docker Hub.
Se connecter à Docker Hub
Dans votre invite de commande, exécutez la commande suivante :
Dans votre terminal, exécutez la commande suivante :
Command prompt
docker login
Utilisez le nom d’utilisateur et le mot de passe créés lorsque vous avez téléchargé Docker dans le didacticiel précédent. Vous pouvez visiter le site web Docker Hub pour réinitialiser votre mot de passe si nécessaire.
Télécharger l'image sur Docker Hub
Ré-étiquetez (renommez) votre image Docker sous votre nom d'utilisateur et transférez-la vers Docker Hub à l'aide des commandes suivantes :
Command prompt
docker tag mymicroservice [YOUR DOCKER USERNAME]/mymicroservicedocker push [YOUR DOCKER USERNAME]/mymicroservice
La commande Push charge votre image sur Docker Hub, ce qui peut prendre un certain temps.
Configurer les outils Azure
Créer un compte Azure
Si vous débutez avec Azure, vous pouvez créer un compte gratuit. Si vous avez un compte existant, vous pouvez ignorer cette étape.
Une fois l'installation terminée, ouvrez une nouvelle invite de commande et connectez-vous à votre compte Azure en exécutant la commande suivante :
Une fois l'installation terminée, ouvrez un nouveau terminal et connectez-vous à votre compte Azure en exécutant la commande suivante :
Command prompt
az login
Installer l’interface de ligne de commande AKS
Kubernetes est une plateforme d’orchestration de conteneur. Un Orchestrator est responsable de l’exécution, de la distribution, de la mise à l’échelle et de la réparation d’applications constituées d’une collection de conteneurs. Azure Kubernetes Service (AKS) fournit Kubernetes en tant que service managé.
Exécutez la commande suivante pour installer les outils de ligne de commande pour AKS :
Command prompt
az aks install-cli
Vous pouvez être alerté avec des recommandations pour définir des variables PATH système. Celles-ci ne sont pas requises pour ce didacticiel.
Créer des ressources Azure
Créer un groupe de ressources
Un groupe de ressources est utilisé pour organiser un ensemble de ressources liées à une seule application.
Exécutez la commande suivante pour créer un groupe de ressources dans la région USA Ouest :
Command prompt
az group create --name MyMicroserviceResources --location westus
Si vous souhaitez utiliser un emplacement différent sur la commande précédente, vous pouvez exécuter la commande suivante pour voir quelles régions sont disponibles sur votre compte et en choisir une plus proche de vous :
Command prompt
az account list-locations -o table
Si vous souhaitez utiliser une autre souscription pour la session, vous pouvez obtenir une liste de tous les abonnements en exécutant la commande suivante :
Command prompt
az account list --all
Ensuite, vous pouvez exécuter la commande suivante pour définir une souscription spécifique pour la session :
Command prompt
az account set -s NAME_OR_ID
Créer un cluster AKS
Exécutez la commande suivante pour créer un cluster AKS dans le groupe de ressources :
Il est normal que cette commande prenne plusieurs minutes.
Command prompt
az aks create --resource-group MyMicroserviceResources --name MyMicroserviceCluster --node-count 1 --enable-addons http_application_routing --generate-ssh-keys
Exécutez la commande suivante pour télécharger les identifiants à déployer sur votre cluster AKS :
Command prompt
az aks get-credentials --resource-group MyMicroserviceResources --name MyMicroserviceCluster
Déployer sur Azure
Revenir à l’annuaire d’applications
Comme vous avez ouvert une nouvelle invite de commandes à l’étape précédente, vous devez revenir au répertoire dans lequel vous avez créé votre service.
Comme vous avez ouvert un nouveau terminal à l’étape précédente, vous devez revenir au répertoire dans lequel vous avez créé votre service.
Command prompt
cd MyMicroservice
Créer un fichier de déploiement
Les outils AKS utilisent un fichier .yaml pour définir comment déployer votre conteneur.
Créez un fichier appelé deploy.yaml avec cette commande :
Command prompt
touch deploy.yaml
Command prompt
fsutil file createnew deploy.yaml 0
Vous pouvez ensuite l’ouvrir dans votre éditeur de texte favori.
Vous pouvez ensuite l'ouvrir dans votre éditeur de texte préféré manuellement ou avec cette commande :
Command prompt
open deploy.yaml
Command prompt
start deploy.yaml
Remplacez le contenu de deploy.yaml par ce qui suit dans l'éditeur de texte, en veillant à remplacer [YOUR DOCKER ID] par votre véritable ID Docker.
Exécutez la commande suivante pour déployer votre microservice en fonction des paramètres de deploy.yaml :
Command prompt
kubectl apply -f deploy.yaml
Testez votre service déployé
Exécutez la commande suivante pour afficher les détails de votre service déployé :
Command prompt
kubectl get service mymicroservice --watch
Entre autres choses, la commande précédente affichera l'adresse IP externe sur laquelle votre service est disponible (EXTERNAL-IP).
À l’aide de l’adresse IP externe, ouvrez une nouvelle fenêtre de navigateur et accédez à http://[VOTRE ADRESSE IP EXTERNE]/WeatherForecast
Si EXTERNAL-IP est marqué comme <pending>, une nouvelle ligne apparaîtra automatiquement une fois l'IP externe attribuée.
Appuyez sur CTRL+C à l’invite de commandes pour mettre fin à la commande kubectl get service.
Appuyez sur CTRL+C sur votre terminal pour mettre fin à la commande kubectl get service
Félicitations ! Vous avez déployé un microservice sur Azure.
Mettre à l’échelle votre service
L’un des avantages de l’utilisation de Kubernetes est que vous pouvez facilement effectuer un scale-up d’un déploiement sur plusieurs instances pour gérer une charge supplémentaire. Actuellement, il n’y a qu’une seule instance. Nous allons donc effectuer une mise à l’échelle vers deux instances.
Exécutez la commande suivante pour faire évoluer votre service jusqu'à deux instances :
Lorsque vous avez terminé de tester le microservice, vous pouvez supprimer toutes les ressources que vous avez créées à l'aide de la commande suivante :
Command prompt
az group delete -n MyMicroserviceResources
Étapes suivantes
Les ressources suivantes vous aideront à continuer à explorer les microservices avec .NET.
Microservices pour débutants
Laissez Nish vous guider dans les concepts de microservices et découvrez comment créer votre premier point de terminaison de microservices dans .NET :