Exercice : Utiliser des volumes de données

Effectué

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.

  1. 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
    
  2. 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
    
  3. 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 partie export rend cette variable accessible à d’autres commandes CLI que vous allez exécuter ultérieurement.

  4. 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.

  1. 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.

  2. 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.

  1. 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/
    
  2. 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
    
  3. Dans un navigateur, accédez à l’adresse IP de votre conteneur. Vous obtenez cette page :

    Screenshot of the Azure Container Instances file share demo running in a browser.

  4. 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.

  5. 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
    
  6. 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>
    
  7. 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.