Oefening: gegevensvolumes gebruiken

Voltooid

Azure-containerinstanties zijn standaard staatloos. Als de container vastloopt of stopt, gaat alle status verloren. Als u een status langer wilt behouden dan de levensduur van de container, moet u een volume van een externe opslag koppelen.

Koppel een Azure-bestandsshare aan een Azure-containerinstantie, zodat u gegevens kunt opslaan en later kunt openen.

Een Azure-bestandsshare maken

Maak een opslagaccount en een bestandsshare. Later kunt u de bestandsshare toegankelijk maken voor een Azure-containerinstantie.

  1. Uw opslagaccount vereist een unieke naam. Voer voor leerdoeleinden de volgende opdracht uit om een unieke naam op te slaan in een Bash-variabele:

    STORAGE_ACCOUNT_NAME=mystorageaccount$RANDOM
    
  2. Voer de volgende az storage account create opdracht uit om uw opslagaccount te maken:

    az storage account create \
      --resource-group learn-deploy-aci-rg \
      --name $STORAGE_ACCOUNT_NAME \
      --sku Standard_LRS \
      --location eastus
    
  3. Voer de volgende opdracht uit om het opslagaccount verbindingsreeks te plaatsen in een omgevingsvariabele met de naamAZURE_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 is een speciale omgevingsvariabele die de Azure CLI begrijpt. Dit export onderdeel maakt deze variabele toegankelijk voor andere CLI-opdrachten die u later uitvoert.

  4. Voer deze opdracht uit om een bestandsshare met de naam aci-share-demo te maken in het opslagaccount:

    az storage share create --name aci-share-demo
    

Opslagreferenties ophalen

Indien u een Azure-bestandsshare als een volume aan Azure-containerinstanties wilt koppelen, heeft u deze drie waarden nodig:

  • Naam van het opslagaccount
  • Naam delen
  • Toegangssleutel voor opslagaccount

U hebt de eerste twee waarden al. De naam van het opslagaccount is opgeslagen in de STORAGE_ACCOUNT_NAME Bash-variabele. In de vorige stap hebt u aci-share-demo opgegeven als de sharenaam. Hier krijgt u de resterende waarde: de toegangssleutel van het opslagaccount.

  1. Voer de volgende opdracht uit om de sleutel van het opslagaccount op te halen:

    STORAGE_KEY=$(az storage account keys list \
      --resource-group learn-deploy-aci-rg \
      --account-name $STORAGE_ACCOUNT_NAME \
      --query "[0].value" \
      --output tsv)
    

    Het resultaat wordt opgeslagen in een Bash-variabele met de naam STORAGE_KEY.

  2. Als optionele stap kunt u de toegangssleutel naar de console afdrukken.

    echo $STORAGE_KEY
    

Implementeer een container en koppel de bestandsshare hieraan

Indien u een Azure-bestandsshare als een volume aan een container wilt koppelen, geeft u de share en het volumekoppelpunt op bij het maken van de container.

  1. Voer deze az container create opdracht uit om een container te maken die aan uw bestandsshare wordt /aci/logs/ gekoppeld:

    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. Voer deze opdracht uit az container show om het openbare IP-adres van uw container op te halen:

    az container show \
      --resource-group learn-deploy-aci-rg \
      --name aci-demo-files \
      --query ipAddress.ip \
      --output tsv
    
  3. Navigeer vanuit een browser naar het IP-adres van uw container. U krijgt deze pagina:

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

  4. Voer tekst in het formulier in en selecteer Verzenden. Deze actie creƫert een bestand dat de tekst bevat die u in de Azure-bestandsshare hebt ingevoerd.

  5. Voer deze az storage file list opdracht uit om de bestanden weer te geven die zijn opgenomen in uw bestandsshare:

    az storage file list -s aci-share-demo -o table
    
  6. Voer az storage file download uit om een bestand naar uw Cloud Shell-sessie te downloaden. Vervang <de bestandsnaam> door een van de bestanden die in de vorige stap zijn weergegeven:

    az storage file download -s aci-share-demo -p <filename>
    
  7. Voer de opdracht cat uit om de inhoud van het bestand af te drukken.

    cat <filename>
    

Onthoud dat uw gegevens blijven bestaan wanneer uw container wordt afgesloten. U kunt uw bestandsshare aan andere containerinstanties koppelen om die gegevens daaraan beschikbaar te stellen.