Exercice : Utiliser des volumes de données
Par défaut, les conteneurs Azure Container Instances sont sans état. Si le conteneur se bloque ou s’arrête, son état est entièrement perdu. Pour conserver l’état au-delà de la durée de vie du conteneur, vous devez monter un volume à partir d’un magasin externe.
Montez un partage de fichiers Azure sur une instance de conteneur Azure pour pouvoir y stocker des données et y accéder ultérieurement.
Crée un partage de fichiers Azure
Créez un compte de stockage et un partage de fichiers. Plus tard, vous pourrez rendre le partage de fichiers accessible à une instance de conteneur Azure.
Votre compte de stockage nécessite un nom unique. Pour apprendre comment faire, exécutez la commande suivante pour stocker un nom unique dans une variable Bash :
STORAGE_ACCOUNT_NAME=mystorageaccount$RANDOM
Exécutez la commande
az storage account create
suivante pour créer votre compte de stockage :az storage account create \ --resource-group learn-deploy-aci-rg \ --name $STORAGE_ACCOUNT_NAME \ --sku Standard_LRS \ --location eastus
Exécutez la commande suivante pour placer la chaîne de connexion du compte de stockage dans une variable d’environnement nommée
AZURE_STORAGE_CONNECTION_STRING
:export AZURE_STORAGE_CONNECTION_STRING=$(az storage account show-connection-string \ --resource-group learn-deploy-aci-rg \ --name $STORAGE_ACCOUNT_NAME \ --output tsv)
AZURE_STORAGE_CONNECTION_STRING
est une variable d’environnement spéciale qui est interprétée par l’interface Azure CLI. La partieexport
rend cette variable accessible à d’autres commandes CLI que vous allez exécuter ultérieurement.Exécutez cette commande pour créer un partage de fichiers nommé aci-share-demo dans le compte de stockage :
az storage share create --name aci-share-demo
Obtenir les informations d’identification du stockage
Pour monter un partage de fichiers Azure comme volume dans Azure Container Instances, vous avez besoin de ces trois valeurs :
- Nom du compte de stockage
- Nom de partage
- Clé d’accès au compte de stockage
Vous avez déjà les deux premières valeurs. Le nom de compte de stockage est stocké dans la variable STORAGE_ACCOUNT_NAME
Bash. Vous avez spécifié aci-share-demo comme nom de partage à l’étape précédente. Ici, vous obtenez la valeur restante : la clé d’accès au compte de stockage.
Exécutez la commande suivante pour obtenir la clé du compte de stockage :
STORAGE_KEY=$(az storage account keys list \ --resource-group learn-deploy-aci-rg \ --account-name $STORAGE_ACCOUNT_NAME \ --query "[0].value" \ --output tsv)
Le résultat est stocké dans une variable Bash nommée
STORAGE_KEY
.Si vous le souhaitez, vous pouvez afficher la clé du compte de stockage sur la console.
echo $STORAGE_KEY
Déployer un conteneur et monter le partage de fichiers
Pour monter un partage de fichiers Azure comme volume dans un conteneur, vous spécifiez le point de montage du partage et du volume quand vous créez le conteneur.
Exécutez cette commande
az container create
pour créer un conteneur qui monte/aci/logs/
sur votre partage de fichiers :az container create \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --image mcr.microsoft.com/azuredocs/aci-hellofiles \ --location eastus \ --ports 80 \ --ip-address Public \ --azure-file-volume-account-name $STORAGE_ACCOUNT_NAME \ --azure-file-volume-account-key $STORAGE_KEY \ --azure-file-volume-share-name aci-share-demo \ --azure-file-volume-mount-path /aci/logs/
Exécutez
az container show
pour obtenir l’adresse IP publique de votre conteneur :az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --query ipAddress.ip \ --output tsv
Dans un navigateur, accédez à l’adresse IP de votre conteneur. Vous obtenez cette page :
Entrez du texte dans le formulaire et cliquez sur Envoyer. Cette action crée un fichier qui contient le texte que vous avez entré dans le partage de fichiers Azure.
Exécutez cette commande
az storage file list
pour afficher les fichiers qui sont contenus dans votre partage de fichiers :az storage file list -s aci-share-demo -o table
Exécutez
az storage file download
pour télécharger un fichier dans votre session Cloud Shell. Remplacez <filename> par un des fichiers qui s’est affiché à l’étape précédente :az storage file download -s aci-share-demo -p <filename>
Exécutez la commande
cat
pour afficher le contenu du fichier.cat <filename>
Rappelez-vous que vos données sont conservées quand votre conteneur s’arrête. Vous pouvez monter votre partage de fichiers sur d’autres instances de conteneur pour mettre ces données à leur disposition.