Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Apprenez à écrire dans un stockage permanent dans une application conteneur à l’aide d’un montage de stockage Azure Files. Pour plus d’informations sur les montages de stockage, consultez Utiliser des montages de stockage dans Azure Container Apps.
Dans ce tutoriel, vous allez apprendre à :
- Créer un environnement Container Apps
- Créer un compte de stockage Azure
- Définir un partage de fichiers dans le compte de stockage
- Lier l’environnement au partage de fichiers de stockage
- Monter le partage de stockage dans un conteneur individuel
- Vérifier le montage du système de stockage en vérifiant le journal des accès au site web
Remarque
Azure Container Apps prend en charge le montage de partages de fichiers à l’aide de protocoles SMB et NFS. Ce tutoriel montre le montage d’un partage Azure Files à l’aide du protocole SMB. Pour en savoir plus sur le montage de partages NFS, consultez Utiliser des montages de stockage dans Azure Container Apps.
Conditions préalables
- Installez la dernière version d’Azure CLI.
Configurer l’environnement
Les commandes suivantes définissent des variables d’environnement et vérifient que votre extension Container Apps est à jour.
Se connecter à Azure CLI.
az loginConfigurez les variables d’environnement utilisées dans différentes commandes à suivre.
RESOURCE_GROUP="my-container-apps-group" ENVIRONMENT_NAME="my-storage-environment" LOCATION="canadacentral"Vérifiez que vous disposez de la dernière version de l’extension Azure CLI Container Apps.
az extension add -n containerapp --upgradeEnregistrez l’espace de noms
Microsoft.App.az provider register --namespace Microsoft.AppEnregistrez le fournisseur
Microsoft.OperationalInsightspour l’espace de travail Log Analytics Azure Monitor s'il n'a pas encore été utilisé.az provider register --namespace Microsoft.OperationalInsights
Créer un environnement
Les étapes suivantes créent un groupe de ressources et un environnement Container Apps.
Créez un groupe de ressources.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"Après sa création, la commande retourne un message « Opération réussie ».
À la fin de ce tutoriel, vous pouvez supprimer le groupe de ressources pour supprimer tous les services créés pendant cet article.
Créez un environnement Container Apps.
az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --location "$LOCATION" \ --query "properties.provisioningState"Après sa création, la commande retourne un message « Opération réussie ».
Les montages de stockage sont associés à un environnement Container Apps et configurés dans des applications conteneur individuelles.
Installer un compte de stockage
Ensuite, créez un compte de stockage et établissez un partage de fichiers à monter sur l’application conteneur.
Définissez un nom de compte de stockage.
Cette commande génère un suffixe aléatoire au nom du compte de stockage pour garantir l’unicité.
STORAGE_ACCOUNT_NAME="myacastorageaccount$RANDOM"Créez un compte de stockage Azure.
az storage account create \ --resource-group $RESOURCE_GROUP \ --name $STORAGE_ACCOUNT_NAME \ --location "$LOCATION" \ --kind StorageV2 \ --sku Standard_LRS \ --enable-large-file-share \ --query provisioningStateAprès sa création, la commande retourne un message « Opération réussie ».
Définissez un nom de partage de fichiers.
STORAGE_SHARE_NAME="myfileshare"Créez un partage de fichiers pour le service Azure Storage.
az storage share-rm create \ --resource-group $RESOURCE_GROUP \ --storage-account $STORAGE_ACCOUNT_NAME \ --name $STORAGE_SHARE_NAME \ --quota 1024 \ --enabled-protocols SMB \ --output tableObtenez la clé du compte de stockage.
STORAGE_ACCOUNT_KEY=`az storage account keys list -n $STORAGE_ACCOUNT_NAME --query "[0].value" -o tsv`La clé de compte de stockage est requise pour créer le lien de stockage dans votre environnement Container Apps. Container Apps ne prend pas en charge l’accès basé sur l’identité aux partages de fichiers Azure.
Définissez le nom du montage de stockage.
STORAGE_MOUNT_NAME="mystoragemount"Cette valeur est le nom utilisé pour définir le lien de montage de stockage de votre environnement Container Apps vers votre compte stockage Azure.
Créer le montage de stockage
Vous pouvez maintenant mettre à jour la configuration de l’application conteneur pour prendre en charge le montage du stockage.
Créez le lien de stockage dans l’environnement.
az containerapp env storage set \ --access-mode ReadWrite \ --azure-file-account-name $STORAGE_ACCOUNT_NAME \ --azure-file-account-key $STORAGE_ACCOUNT_KEY \ --azure-file-share-name $STORAGE_SHARE_NAME \ --storage-name $STORAGE_MOUNT_NAME \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --output tableCette commande crée un lien entre l’environnement d’application conteneur et le partage de fichiers créé avec la
az storage share-rmcommande.Maintenant que le compte de stockage et l’environnement sont liés, vous pouvez créer une application conteneur qui utilise le montage de stockage.
Définissez le nom de l’application conteneur.
CONTAINER_APP_NAME="my-container-app"Créez l’application conteneur.
az containerapp create \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT_NAME \ --image nginx \ --min-replicas 1 \ --max-replicas 1 \ --target-port 80 \ --ingress external \ --query properties.configuration.ingress.fqdnCette commande affiche l’URL de votre nouvelle application conteneur.
Copiez l’URL et collez-la dans votre navigateur web pour accéder au site web.
Une fois la page chargée, le message « Bienvenue dans nginx ! » s’affiche. Maintenez cet onglet de navigateur ouvert. Vous reviendrez sur le site Internet pendant les étapes de vérification du montage de stockage.
Maintenant que vous avez confirmé que l’application conteneur est configurée, vous pouvez mettre à jour l’application avec une définition de montage de stockage.
Exportez la configuration de l’application conteneur.
az containerapp show \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --output yaml > app.yamlRemarque
Bien que cette application n’ait pas de secrets, de nombreuses applications font des secrets de fonctionnalités. Par défaut, lorsque vous exportez la configuration d’une application, les valeurs des secrets ne sont pas incluses dans le YAML généré.
Si vous n’avez pas besoin de modifier les valeurs de secret, vous pouvez supprimer la
secretssection et vos secrets restent inchangés. Si vous devez modifier la valeur d’un secret, veillez à fournirnameetvaluepour tous les secrets dans le fichier avant de tenter de mettre à jour l’application. Omettre un secret de la sectionsecretssupprime le secret.Ouvrez app.yaml dans un éditeur de code.
Remplacez la
volumes: nulldéfinition dans latemplatesection par unevolumes:définition référençant le volume de stockage. La section de modèle doit ressembler à ce qui suit :template: containers: - image: nginx imageType: ContainerImage name: my-container-app resources: cpu: 0.5 ephemeralStorage: 2Gi memory: 1Gi volumeMounts: - volumeName: my-azure-file-volume mountPath: /var/log/nginx initContainers: null revisionSuffix: '' scale: cooldownPeriod: 300 maxReplicas: 1 minReplicas: 1 pollingInterval: 30 rules: null serviceBinds: null terminationGracePeriodSeconds: null volumes: - name: my-azure-file-volume storageName: mystoragemount storageType: AzureFileLa nouvelle
template.volumessection inclut les propriétés suivantes.Propriété Descriptif nameCette valeur correspond au volume créé en appelant la az containerapp env storage setcommande.storageNameCette valeur définit le nom utilisé par les conteneurs dans l’environnement pour accéder au volume de stockage. storageTypeCette valeur détermine le type de volume de stockage défini pour l’environnement. Dans ce cas, un montage Azure Files est déclaré. La section
volumesdéfinit les volumes au niveau de l’application que votre conteneur d’applications ou les conteneurs side-car peuvent référencer via une sectionvolumeMountsassociée à un conteneur.Ajoutez une
volumeMountssection aunginxconteneur dans lacontainerssection.containers: - image: nginx name: my-container-app volumeMounts: - volumeName: my-azure-file-volume mountPath: /var/log/nginxLa nouvelle
volumeMountssection inclut les propriétés suivantes :Propriété Descriptif volumeNameCette valeur doit correspondre au nom défini dans la volumesdéfinition.mountPathCette valeur définit le chemin d’accès dans votre conteneur où le stockage est monté. Mettez à jour l’application conteneur avec la nouvelle configuration de montage de stockage.
az containerapp update \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --yaml app.yaml \ --output table
Vérifier le montage de stockage
Maintenant que le montage de stockage est établi, vous pouvez manipuler des fichiers dans Stockage Azure à partir de votre conteneur. Utilisez les commandes suivantes pour observer le montage de stockage au travail.
Ouvrez un interpréteur de commandes interactif à l’intérieur de l’application conteneur pour exécuter des commandes à l’intérieur du conteneur en cours d’exécution.
az containerapp exec \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUPCette commande peut prendre un moment pour ouvrir l’interpréteur de commandes distant. Une fois l’interpréteur de commandes prêt, vous pouvez interagir avec le montage de stockage via les commandes du système de fichiers. Pour plus d’informations, consultez Se connecter à une console de conteneur dans Azure Container Apps.
Accédez au dossier nginx /var/log/nginx .
cd /var/log/nginxRevenez au navigateur et accédez au site web et actualisez la page quelques fois.
Les requêtes adressées au site web créent une série d’entrées de flux de journal.
Revenez à votre terminal et listez les valeurs du
/var/log/nginxdossier.lsNotez comment les fichiers access.log et error.log apparaissent dans ce dossier. Ces fichiers sont écrits dans le montage Azure Files dans votre partage de stockage Azure créé aux étapes précédentes.
Affichez le contenu du fichier access.log .
cat access.logQuittez l’interpréteur de commandes interactif du conteneur pour revenir à votre session de terminal locale.
exitÀ présent, vous pouvez afficher les fichiers dans le portail Azure pour vérifier qu’ils existent dans votre compte stockage Azure. Imprimez le nom de votre compte de stockage généré de manière aléatoire.
echo $STORAGE_ACCOUNT_NAMEAccédez au portail Azure et ouvrez le compte de stockage créé dans cette procédure.
Sous Stockage de données , sélectionnez Partages de fichiers.
Sélectionnez myshare pour afficher les fichiers access.log et error.log .
Nettoyer les ressources
Si vous ne souhaitez pas continuer à utiliser cette application, exécutez la commande suivante pour supprimer le groupe de ressources ainsi que toutes les ressources créées dans cet article.
az group delete \
--name $RESOURCE_GROUP