Tutoriel : Préparer une application pour AKS
S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server
Dans ce didacticiel, partie 1 des sept, une application à plusieurs conteneurs est préparée pour une utilisation sur un cluster Kubernetes lorsque vous utilisez Azure Kubernetes Service activé par Azure Arc. Les outils de développement existants tels que Docker Compose sont utilisés pour générer et tester localement une application.
Vous allez apprendre à effectuer les actions suivantes :
- Cloner un exemple de source de l’application à partir de GitHub
- Créer une image conteneur à partir de l’exemple de source de l’application
- Test l’application à plusieurs conteneurs dans un environnement Docker local
Une fois ces étapes effectuées, l’application suivante s’exécute dans votre environnement de développement local :
Dans les didacticiels ultérieurs, l’image conteneur est chargée dans un Azure Container Registry, puis déployée dans un cluster Kubernetes.
Avant de commencer
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
. Pour apprendre les principes de base des conteneurs, consultez Bien démarrer avec Docker.
Pour suivre ce tutoriel, vous avez besoin d’un environnement de développement Docker local exécutant des conteneurs Linux. Docker fournit des packages qui le configurent sur Windows.
Remarque
AKS n’inclut pas les composants Docker requis pour effectuer chaque étape de ces tutoriels. Par conséquent, nous recommandons d’utiliser un environnement de développement Docker complet.
Obtenir le code d’application
L’exemple d’application utilisé dans ce tutoriel est une application de vote de base composée d’un composant web front-end et d’une instance Redis back-end. Le composant web est empaqueté dans une image conteneur personnalisée. L’instance Redis utilise une image non modifiée de Docker Hub.
Utilisez GitHub pour cloner l’exemple d’application dans votre environnement de développement :
git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
Accédez au répertoire cloné :
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. Ces fichiers sont utilisés tout au long de ce didacticiel. Le contenu et la structure du répertoire sont les suivants :
azure-voting-app-redis
│ azure-vote-all-in-one-redis.yaml
│ docker-compose.yaml
│ LICENSE
│ README.md
│
├───azure-vote
│ │ app_init.supervisord.conf
│ │ Dockerfile
│ │ Dockerfile-for-app-service
│ │ sshd_config
│ │
│ └───azure-vote
│ │ config_file.cfg
│ │ main.py
│ │
│ ├───static
│ │ default.css
│ │
│ └───templates
│ index.html
│
└───jenkins-tutorial
config-jenkins.sh
deploy-jenkins-vm.sh
Créer des images de conteneur
Vous pouvez utiliser Docker Compose pour automatiser la génération d’images conteneur et le déploiement d’applications multi-conteneurs.
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 :
docker-compose up -d
Une fois terminé, utilisez la commande docker images pour afficher les images créées. Trois images ont été téléchargées ou créées. L’image azure-vote-front contient l’application front-end et utilise l’image nginx-flask comme base. L’image redis est utilisée pour démarrer une instance Redis.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mcr.microsoft.com/azuredocs/azure-vote-front v1 84b41c268ad9 9 seconds ago 944MB
mcr.microsoft.com/oss/bitnami/redis 6.0.8 3a54a920bb6c 2 days ago 103MB
tiangolo/uwsgi-nginx-flask python3.6 a16ce562e863 6 weeks ago 944MB
Exécutez la commande docker ps pour voir les conteneurs en cours d’exécution :
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d10e5244f237 mcr.microsoft.com/azuredocs/azure-vote-front:v1 "/entrypoint.sh /sta…" 3 minutes ago Up 3 minutes 443/tcp, 0.0.0.0:8080->80/tcp azure-vote-front
21574cb38c1f mcr.microsoft.com/oss/bitnami/redis:6.0.8 "/opt/bitnami/script…" 3 minutes ago Up 3 minutes 0.0.0.0:6379->6379/tcp azure-vote-back
Tester l’application localement
Pour voir l’application en cours d’exécution, entrez http://localhost:8080
dans un navigateur web local. L’exemple d’application est chargée, comme indiqué dans l’exemple suivant :
Nettoyer les ressources
Maintenant que les fonctionnalités de l’application sont validées, les conteneurs en cours d’exécution peuvent être arrêtés et supprimés. Ne supprimez pas les images conteneur : dans le tutoriel suivant, l’image azure-vote-front est chargée dans un Azure Container Registry instance.
Arrêtez et supprimez les instances et ressources de conteneur avec la commande docker-compose down :
docker-compose down
Lorsque vous supprimez l’application locale, vous disposez d’une image Docker qui contient l’application Azure Vote, azure-vote-front, à utiliser avec le tutoriel suivant.
Étapes suivantes
Dans ce didacticiel, une application a été testée et les images de conteneur créées pour l’application. Vous avez appris à :
- Cloner un exemple de source de l’application à partir de GitHub
- Créer une image conteneur à partir de l’exemple de source de l’application
- Test l’application à plusieurs conteneurs dans un environnement Docker local
Passez au didacticiel suivant pour savoir comment stocker des images de conteneur dans Azure Container Registry.