Événements
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Dans ce guide de démarrage rapide, utilisez l’extension de cluster Dapr dans un cluster AKS ou Kubernetes activé pour Arc. Vous déployez un hello world
exemple, qui se compose d’une application Python qui génère des messages et d’une application Node.js qui consomme et conserve les messages.
Clonez le Référentiel de démarrages rapides Dapr à l’aide de la commande git clone
.
git clone https://github.com/Azure-Samples/dapr-aks-extension-quickstart.git
Accédez au répertoire dapr-aks-extension-quickstart
.
Ouvrez le portail Azure pour démarrer le flux de création d’Azure Cache pour Redis.
xxxxxx.redis.cache.windows.net
.6380
.Dans le panneau authentification, tapez le nom de l’identité managée que vous avez créée en tant que prérequis dans le champ sous la case à cocher Activer l’authentification Microsoft Entra.
Vérifiez que votre identité managée est ajoutée en tant qu’autorisations de stratégie d’accès au propriétaire des données attribuées par l’utilisateur Redis.
Pour ce scénario, votre cache Redis utilise l’accès réseau public. Veillez à nettoyer les ressources une fois ce guide de démarrage rapide terminé.
Dans redis.yaml
, le composant est configuré pour utiliser l’authentification Entra ID à l’aide de l’identité de charge de travail activée pour le cluster AKS. Aucune clé d’accès n’est requise.
- name: useEntraID
value: "true"
- name: enableTLS
value: true
Dans votre éditeur de code préféré, accédez au répertoire deploy
dans l’exemple et ouvrez redis.yaml
.
Pour redisHost
, remplacez l’espace réservé <REDIS_HOST>:<REDIS_PORT>
valeur par le nom d’hôte du cache Redis et le port SSL que vous avez enregistrés précédemment à partir du portail Azure.
- name: redisHost
value: <your-cache-name>.redis.cache.windows.net:6380
Exécutez le fichier redis.yaml
à l’aide de la commande kubectl apply
.
kubectl apply -f ./deploy/redis.yaml
Vérifiez que votre magasin d’états a été correctement configuré à l’aide de la commande kubectl get components.redis
.
kubectl get components.redis -o yaml
Sortie attendue
component.dapr.io/statestore created
Dans node.yaml
, la spécification de pod a l’étiquette ajoutée pour utiliser l’identité de charge de travail,:
labels:
app: node
azure.workload.identity/use: "true"
Accédez au répertoire deploy
et ouvrez node.yaml
.
Remplacez la valeur <SERVICE_ACCOUNT_NAME>
d’espace réservé pour serviceAccountName
par le nom du compte de service que vous avez créé.
Appliquez le déploiement de l’application Node.js à votre cluster avec la commande kubectl apply
.
kubectl apply -f ./deploy/node.yaml
Les déploiements Kubernetes sont asynchrones. Avant de passer aux étapes suivantes, vérifiez que le déploiement est terminé avec la commande suivante :
kubectl rollout status deploy/nodeapp
Déployez le service à l’aide de la commande kubectl get svc
.
kubectl get svc nodeapp
Notez le EXTERNAL-IP
dans la sortie.
À l’aide de curl
, appelez le service avec votre EXTERNAL-IP
.
curl $EXTERNAL_IP/ports
Exemple de sortie
{"DAPR_HTTP_PORT":"3500","DAPR_GRPC_PORT":"50001"}
Envoyez une commande à l’application.
curl --request POST --data "@sample.json" --header Content-Type:application/json $EXTERNAL_IP/neworder
Confirmez la commande.
curl $EXTERNAL_IP/order
Sortie attendue
{ "orderId": "42" }
Dans python.yaml
, la spécification de pod a l’étiquette ajoutée pour utiliser l’identité de charge de travail,:
labels:
app: node
azure.workload.identity/use: "true"
Accédez au répertoire deploy
et ouvrez python.yaml
.
Remplacez la valeur <SERVICE_ACCOUNT_NAME>
d’espace réservé pour serviceAccountName
par le nom du compte de service que vous avez créé.
Déployez l’application Python sur votre cluster Kubernetes avec la commande kubectl apply
.
kubectl apply -f ./deploy/python.yaml
Les déploiements Kubernetes sont asynchrones. Avant de passer aux étapes suivantes, vérifiez que le déploiement est terminé avec la commande suivante :
kubectl rollout status deploy/pythonapp
Maintenant que les applications Node.js et Python sont déployées, vous pouvez surveiller les messages.
Obtenez les journaux de l’application Node.js à l’aide de la commande kubectl logs
.
kubectl logs --selector=app=node -c node --tail=-1
Sortie attendue
Got a new order! Order ID: 1
Successfully persisted state
Got a new order! Order ID: 2
Successfully persisted state
Got a new order! Order ID: 3
Successfully persisted state
À l’aide de curl
, appelez le point de terminaison de commande de l’application Node.js pour obtenir la dernière commande.
curl $EXTERNAL_IP/order
Vous devez voir la dernière sortie JSON dans la réponse.
Si vous n’envisagez plus d’utiliser les ressources de ce guide de démarrage rapide, vous pouvez supprimer toutes les ressources associées en supprimant le groupe de ressources.
Supprimez le groupe de ressources, le cluster, l’espace de noms, et toutes les ressources associées à l’aide de la commande az group delete.
az group delete --name MyResourceGroup
Commentaires sur Azure Kubernetes Service
Azure Kubernetes Service est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Événements
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantEntrainement
Module
Projet guidé : déployer des applications sur Azure Kubernetes Service - Training
Bienvenue dans cette expérience interactive de validation des compétences. L’exécution de ce module vous aide à vous préparer à l’évaluation Déployer et gérer des conteneurs avec l’évaluation Azure Kubernetes Service.
Certification
Microsoft Certified: Azure Developer Associate - Certifications
Générez des solutions de bout en bout dans Microsoft Azure pour créer des fonctions Azure Functions, implémenter et gérer des applications web, développer des solutions qui utilisent le Stockage Azure, et bien plus encore.