Déployer une application
Cet article explique comment déployer une application en conteneur sur votre cluster Kubernetes.
Prérequis
Pour commencer, configurez votre machine unique Kubernetes ou un cluster Kubernetes complet .
Déployer un exemple d’application Linux
Étape 1 : mettre à jour le fichier manifeste
Cet article utilise un exemple d’application qui est une application de vote simple composée d’un front-end et d’un back-end, qui est basé sur l’image azure-vote-front de Microsoft. L’image conteneur de cette application est hébergée sur Azure Container Registry (ACR). Pour connaître le manifeste de déploiement, consultez linux-sample.yaml dans le package de référentiel GitHub. Dans YAML, nous avons spécifié une nodeSelector
balise en tant que Linux.
Étape 2 : déployer l’application
Pour déployer votre application, utilisez la commande kubectl apply. Cette commande analyse le fichier manifeste et crée les objets Kubernetes définis. Spécifiez le fichier manifeste YAML, comme indiqué dans l’exemple suivant :
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
Étape 3 : vérifier les pods
Attendez quelques minutes que les pods soient en cours d’exécution :
kubectl get pods -o wide
Étape 4 : vérifier les services
Pour surveiller la progression, utilisez la commande kubectl get services avec le --watch
paramètre :
kubectl get services
Initialement, le EXTERNAL-IP
pour le azure-vote-front
service s’affiche sous la forme pending
. Lorsque l’adresse EXTERNAL-IP
passe d’une pending
adresse IP publique réelle, vous pouvez utiliser l’adresse IP affectée au service.
Important
Sur les clusters d’ordinateurs uniques, si vous avez déployé votre cluster Kubernetes sans spécifier de -ServiceIPRangeSize
, vous n’aurez pas d’adresses IP allouées pour vos services de charge de travail et vous n’aurez pas d’adresse IP externe. Dans ce cas, recherchez l’adresse IP de votre machine virtuelle Linux (Get-AksEdgeNodeAddr
) :
Get-AksEdgeNodeAddr -NodeType Linux
Vous pouvez maintenant ajouter le port externe à l’adresse IP de la machine virtuelle (par exemple, 192.168.1.12 :30432).
Étape 5 : tester votre application
Pour voir l’application en action, ouvrez un navigateur web en utilisant l’adresse IP externe de votre service :
Si l’application ne se charge pas, cela peut être dû à un problème d’autorisation avec votre registre d’images. Pour visualiser l’état de vos conteneurs, utilisez la commande kubectl get pods
. Si les images conteneur ne peuvent pas être récupérées, consultez s’authentifier avec Azure Container Registry à partir de Azure Kubernetes Service.
Étape 6 : supprimer l’application
Pour propre, supprimez toutes les ressources à l’aide de la commande suivante :
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
Déployer un exemple d’application Windows sur votre cluster
Cet exemple exécute un exemple d’application ASP.NET basé sur l’exemple d’image de Microsoft. Consultez win-sample.yaml. YAML spécifie la nodeSelector
balise windows.
Étape 1 : déployer l’application en spécifiant le nom de votre manifeste YAML
Vérifiez que vous êtes dans le répertoire de YAML dans une fenêtre PowerShell, puis exécutez la commande suivante :
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
Étape 2 : vérifier que l’exemple de pod est en cours d’exécution
Cela peut prendre un certain temps pour que le pod atteigne le status en cours d’exécution, en fonction de votre connexion Internet. L’image ASP.NET est grande :
kubectl get pods -o wide
Étape 3 : vérifier que l’exemple de service est en cours d’exécution
kubectl get services
Étant donné que cet exemple est déployé en tant que service de type NodePort, vous pouvez récupérer l’adresse IP du nœud Kubernetes sur lequel l’application s’exécute, puis ajouter le port du NodePort. Obtenez l’adresse IP du nœud Kubernetes à l’aide de la commande suivante Get-AksEdgeNodeAddr
:
Get-AksEdgeNodeAddr -NodeType Windows
Étape 4 : vérifier votre exemple Windows en cours d’exécution
Ouvrez un navigateur web et recherchez le NodePort pour accéder à votre service :
Étape 5 : propre vers le haut
Pour propre, supprimez toutes les ressources à l’aide de la commande suivante :
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
Déploiement de vos propres applications
Les étapes précédentes ont montré comment déployer nos exemples d’applications. Pour déployer votre propre application, procédez comme suit :
Empaqueter votre application dans une image conteneur, puis charger l’image sur Azure Container Registry ou dans un registre de conteneurs de votre choix. Passez en revue ces étapes pour créer une image conteneur de votre application.
AKS Edge Essentials active les clusters de système d’exploitation mixte. Assurez-vous que vos pods sont planifiés sur les nœuds avec le système d’exploitation correspondant. Ajoutez
nodeSelector
à vos fichiers de déploiement. Cette option indique à Kubernetes d’exécuter vos pods sur les nœuds d’un système d’exploitation particulier. Si votre cluster est un système d’exploitation unique, vous pouvez ignorer cette étape ; mais pour les bonnes pratiques, étiquetez chaque fichier de déploiement avec des sélecteurs de nœud :nodeSelector: "kubernetes.io/os": linux
nodeSelector: "kubernetes.io/os": windows