Oefening: gegevensvolumes gebruiken
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.
In deze oefening koppelt u een Azure-bestandsshare aan een Azure-containerinstantie, zodat u gegevens kunt opslaan en later kunt openen.
Een Azure-bestandsshare maken
Eerst maakt u een opslagaccount en een bestandsshare. Later kunt u de bestandsshare toegankelijk maken voor een Azure-containerinstantie.
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
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
Voer de volgende opdracht uit om het opslagaccount verbindingsreeks te plaatsen in een omgevingsvariabele met de naam
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
is een speciale omgevingsvariabele die de Azure CLI begrijpt. Ditexport
onderdeel maakt deze variabele toegankelijk voor andere CLI-opdrachten die u later uitvoert.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.
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
.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.
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/
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
Navigeer vanuit een browser naar het IP-adres van uw container. U krijgt deze pagina:
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.
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
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>
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.