Didacticiel : Préparer une application pour Azure Kubernetes Service (AKS)Tutorial: Prepare an application for Azure Kubernetes Service (AKS)

Dans ce didacticiel (le premier d’une série de sept), vous allez préparer une application à plusieurs conteneurs à son utilisation dans Kubernetes.In this tutorial, part one of seven, a multi-container application is prepared for use in Kubernetes. Les outils de développement existants tels que Docker Compose servent à créer et tester en local une application.Existing development tools such as Docker Compose are used to locally build and test an application. Vous allez apprendre à effectuer les actions suivantes :You learn how to:

  • Cloner un exemple de source de l’application à partir de GitHubClone a sample application source from GitHub
  • Créer une image conteneur à partir de l’exemple de source de l’applicationCreate a container image from the sample application source
  • Test l’application à plusieurs conteneurs dans un environnement Docker localTest the multi-container application in a local Docker environment

Une fois ces étapes effectuées, l’application suivante s’exécute dans votre environnement de développement local :Once completed, the following application runs in your local development environment:

Image du cluster Kubernetes sur Azure

Dans d’autres tutoriels, l’image conteneur est chargée dans un registre Azure Container Registry, puis déployée dans un cluster AKS.In additional tutorials, the container image is uploaded to an Azure Container Registry, and then deployed into an AKS cluster.

Avant de commencerBefore you begin

Ce didacticiel présuppose une compréhension de base des concepts Docker essentiels, tels que les conteneurs, les images de conteneur et les commandes docker.This tutorial assumes a basic understanding of core Docker concepts such as containers, container images, and docker commands. Pour apprendre les principes de base des conteneurs, consultez Bien démarrer avec Docker.For a primer on container basics, see Get started with Docker.

Pour suivre ce tutoriel, vous avez besoin d’un environnement de développement Docker local exécutant des conteneurs Linux.To complete this tutorial, you need a local Docker development environment running Linux containers. Docker fournit des packages qui le configurent sur un système Mac, Windows ou Linux.Docker provides packages that configure Docker on a Mac, Windows, or Linux system.

Azure Cloud Shell n’inclut pas les composants Docker requis pour effectuer chaque étape de ces didacticiels.Azure Cloud Shell does not include the Docker components required to complete every step in these tutorials. Par conséquent, nous recommandons d’utiliser un environnement de développement Docker complet.Therefore, we recommend using a full Docker development environment.

Obtenir le code d’applicationGet application code

L’exemple d’application utilisé dans ce didacticiel est une application de votes de base.The sample application used in this tutorial is a basic voting app. L’application est constituée d’un composant web frontal et d’une instance Redis principale.The application consists of a front-end web component and a back-end Redis instance. Le composant web est empaqueté dans une image conteneur personnalisée.The web component is packaged into a custom container image. L’instance Redis utilise une image non modifiée de Docker Hub.The Redis instance uses an unmodified image from Docker Hub.

Utilisez git pour cloner l’exemple d’application dans votre environnement de développement :Use git to clone the sample application to your development environment:

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

Passez au répertoire cloné.Change into the cloned directory.

cd azure-voting-app-redis

Dans le répertoire se trouvent le code source de l’application, un fichier Docker Compose précréé et un fichier manifeste Kubernetes.Inside the directory is the application source code, a pre-created Docker compose file, and a Kubernetes manifest file. Ces fichiers sont utilisés tout au long de ce didacticiel.These files are used throughout the tutorial set.

Créer des images de conteneurCreate container images

Vous pouvez utiliser Docker Compose pour automatiser la création d’images conteneur et le déploiement d’applications multiconteneurs.Docker Compose can be used to automate building container images and the deployment of multi-container applications.

Utilisez l’exemple de fichier docker-compose.yaml pour créer l’image conteneur, téléchargez l’image Redis, puis démarrez l’application :Use the sample docker-compose.yaml file to create the container image, download the Redis image, and start the application:

docker-compose up -d

Une fois terminé, utilisez la commande docker images pour afficher les images créées.When completed, use the docker images command to see the created images. Trois images ont été téléchargées ou créées.Three images have been downloaded or created. L’image azure-vote-front contient l’application de serveur frontal et utilise l’image nginx-flask comme base.The azure-vote-front image contains the front-end application and uses the nginx-flask image as a base. L’image redis est utilisée pour démarrer une instance Redis.The redis image is used to start a Redis instance.

$ docker images

REPOSITORY                   TAG        IMAGE ID            CREATED             SIZE
azure-vote-front             latest     9cc914e25834        40 seconds ago      694MB
redis                        latest     a1b99da73d05        7 days ago          106MB
tiangolo/uwsgi-nginx-flask   flask      788ca94b2313        9 months ago        694MB

Exécutez la commande docker ps pour voir les conteneurs en cours d’exécution :Run the docker ps command to see the running containers:

$ docker ps

CONTAINER ID        IMAGE             COMMAND                  CREATED             STATUS              PORTS                           NAMES
82411933e8f9        azure-vote-front  "/usr/bin/supervisord"   57 seconds ago      Up 30 seconds       443/tcp, 0.0.0.0:8080->80/tcp   azure-vote-front
b68fed4b66b6        redis             "docker-entrypoint..."   57 seconds ago      Up 30 seconds       0.0.0.0:6379->6379/tcp          azure-vote-back

Tester l’application localementTest application locally

Pour voir l’application en cours d’exécution, entrez http://localhost:8080 dans un navigateur web local.To see the running application, enter http://localhost:8080 in a local web browser. L’exemple d’application est chargée, comme indiqué dans l’exemple suivant :The sample application loads, as shown in the following example:

Image du cluster Kubernetes sur Azure

Supprimer des ressourcesClean up resources

Maintenant que la fonctionnalité de l’application a été validée, les conteneurs en cours d’exécution peuvent être arrêtés et supprimés.Now that the application's functionality has been validated, the running containers can be stopped and removed. Ne supprimez pas les images de conteneur. Dans le didacticiel suivant, l’image azure-vote-front est chargée dans une instance Azure Container Registry.Do not delete the container images - in the next tutorial, the azure-vote-front image is uploaded to an Azure Container Registry instance.

Arrêtez et supprimez les instances et ressources de conteneur avec la commande docker-compose down :Stop and remove the container instances and resources with the docker-compose down command:

docker-compose down

Lorsque l’application locale a été supprimée, vous disposez d’une image Docker qui contient l’application Azure Vote, azure-vote-front, à utiliser avec le tutoriel suivant.When the local application has been removed, you have a Docker image that contains the Azure Vote application, azure-vote-front, for use with the next tutorial.

Étapes suivantesNext steps

Dans ce didacticiel, une application a été testée et les images de conteneur créées pour l’application.In this tutorial, an application was tested and container images created for the application. Vous avez appris à effectuer les actions suivantes :You learned how to:

  • Cloner un exemple de source de l’application à partir de GitHubClone a sample application source from GitHub
  • Créer une image conteneur à partir de l’exemple de source de l’applicationCreate a container image from the sample application source
  • Test l’application à plusieurs conteneurs dans un environnement Docker localTest the multi-container application in a local Docker environment

Passez au didacticiel suivant pour savoir comment stocker des images de conteneur dans Azure Container Registry.Advance to the next tutorial to learn how to store container images in Azure Container Registry.