Tutoriel : Créer une application conteneur Azure sur Kubernetes avec Azure Arc (préversion)
Dans ce tutoriel, vous créez une application conteneur sur un cluster Kubernetes avec Azure Arc (préversion) et apprenez à :
- Créer une application de conteneur sur Azure Arc
- Afficher les diagnostics de votre application
Prérequis
Avant de continuer à créer une application conteneur, vous devez d’abord configurer un cluster Kubernetes avec Azure Arc pour exécuter Azure Container Apps.
Ajouter des extensions Azure CLI
Lancez l’environnement Bash dans Azure Cloud Shell.
Ensuite, ajoutez les extensions Azure CLI requises.
Avertissement
La commande suivante installe une extension Container Apps personnalisée qui ne peut pas être utilisée avec le service cloud public. Vous devez désinstaller l’extension si vous revenez au cloud public Azure.
az extension add --upgrade --yes --name customlocation
az extension add --name containerapp --upgrade --yes
Créer un groupe de ressources
Créez un groupe de ressources pour les services créés dans ce tutoriel.
GROUP_NAME="my-container-apps-resource-group"
az group create --name $GROUP_NAME --location eastus
Obtenir des informations d’emplacement personnalisées
Obtenez le groupe d’emplacements, le nom et l’ID suivants auprès de votre administrateur de cluster. Pour plus d’informations, consultez Créer un emplacement personnalisé.
CUSTOM_LOCATION_GROUP="<RESOURCE_GROUP_CONTAINING_CUSTOM_LOCATION>"
CUSTOM_LOCATION_NAME="<NAME_OF_CUSTOM_LOCATION>"
Obtenez l’ID d’emplacement personnalisé.
CUSTOM_LOCATION_ID=$(az customlocation show \
--resource-group $CUSTOM_LOCATION_GROUP \
--name $CUSTOM_LOCATION_NAME \
--query id \
--output tsv)
Récupérer l’ID d’environnement connecté
Maintenant que vous disposez de l’ID d’emplacement personnalisé, vous pouvez interroger l’environnement connecté.
Un environnement connecté est largement identique à un environnement Container Apps standard, mais le cluster Kubernetes avec Arc sous-jacent contrôle les restrictions réseau.
CONTAINER_APP_NAME="my-container-app"
CONNECTED_ENVIRONMENT_ID=$(az containerapp connected-env list --custom-location $CUSTOM_LOCATION_ID -o tsv --query '[].id')
Créer une application
L’exemple suivant crée une application Node.js.
az containerapp create \
--resource-group $GROUP_NAME \
--name $CONTAINER_APP_NAME \
--environment $CONNECTED_ENVIRONMENT_ID \
--environment-type connected \
--image mcr.microsoft.com/k8se/quickstart:latest \
--target-port 80 \
--ingress external
az containerapp browse --resource-group $GROUP_NAME --name $CONTAINER_APP_NAME
Récupérer des journaux de diagnostic à l’aide de Log Analytics
Remarque
Une configuration Log Analytics est requise lorsque vous installez l’extension Container Apps pour afficher les informations de diagnostic. Si vous avez installé l’extension sans Log Analytics, ignorez cette étape.
Accédez à l’espace de travail Log Analytics configuré avec votre extension App service, puis cliquez sur Journaux dans le volet de navigation gauche.
Exécutez l’exemple de requête suivant pour afficher les journaux des dernières 72 heures.
En cas d’erreur lors de l’exécution d’une requête, réessayez après 10 à 15 minutes. Il peut y avoir un délai avant que Log Analytics ne commence à recevoir des journaux d’activité de votre application.
let StartTime = ago(72h);
let EndTime = now();
ContainerAppConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where ContainerAppName_s =~ "my-container-app"
Les journaux d’application pour toutes les applications hébergées dans votre cluster Kubernetes sont enregistrés dans l’espace de travail Log Analytics de la table de journaux personnalisée nommée ContainerAppConsoleLogs_CL
.
- Log_s contient des journaux d’application pour une extension Container Apps donnée
- AppName_s contient le nom de l’application conteneur. Outre les journaux que vous écrivez via le code de votre application, la colonne Log_s contient des journaux sur le démarrage et l’arrêt du conteneur.
Pour en savoir plus sur les requêtes de journal, consultez Bien démarrer avec Kusto.