Ćwiczenie — używanie woluminów danych
Domyślnie usługa Azure Container Instances jest bezstanowa. Po awarii lub wyłączeniu kontenera cały jego stan zostanie utracony. Aby zachować stan również wtedy, należy zainstalować wolumin z magazynu zewnętrznego.
W tym ćwiczeniu zainstalujesz udział plików platformy Azure w wystąpieniu kontenera platformy Azure, aby móc przechowywać dane i uzyskiwać do niego dostęp później.
Tworzenie udziału plików platformy Azure
Najpierw należy utworzyć konto magazynu i udział plików. Później możesz udostępnić udział plików wystąpieniu kontenera platformy Azure.
Konto magazynu wymaga unikatowej nazwy. W celach szkoleniowych uruchom następujące polecenie, aby zapisać unikatową nazwę w zmiennej powłoki Bash:
STORAGE_ACCOUNT_NAME=mystorageaccount$RANDOM
Uruchom następujące
az storage account create
polecenie, aby utworzyć konto magazynu:az storage account create \ --resource-group learn-deploy-aci-rg \ --name $STORAGE_ACCOUNT_NAME \ --sku Standard_LRS \ --location eastus
Uruchom następujące polecenie, aby umieścić konto magazynu parametry połączenia w zmiennej środowiskowej o nazwie
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
to specjalna zmienna środowiskowa, którą rozumie interfejs wiersza polecenia platformy Azure. Część sprawia, że ta zmiennaexport
jest dostępna dla innych poleceń interfejsu wiersza polecenia uruchamianych później.Uruchom to polecenie, aby utworzyć udział plików o nazwie aci-share-demo na koncie magazynu:
az storage share create --name aci-share-demo
Uzyskiwanie poświadczeń magazynu
Aby zainstalować udział plików platformy Azure jako wolumin w usłudze Azure Container Instances, będziesz potrzebować trzech poniższych wartości:
- Nazwa konta magazynu
- Nazwa udziału
- Klucz dostępu do konta magazynu
Masz już dwie pierwsze wartości. Nazwa konta magazynu jest przechowywana w zmiennej powłoki Bash STORAGE_ACCOUNT_NAME
. W poprzednim kroku określono nazwę udziału aci-share-demo. W tym miejscu uzyskasz pozostałą wartość: klucz dostępu do konta magazynu.
Uruchom następujące polecenie, aby uzyskać klucz konta magazynu:
STORAGE_KEY=$(az storage account keys list \ --resource-group learn-deploy-aci-rg \ --account-name $STORAGE_ACCOUNT_NAME \ --query "[0].value" \ --output tsv)
Wynik jest przechowywany w zmiennej powłoki Bash o nazwie
STORAGE_KEY
.Jako krok opcjonalny możesz wyświetlić klucz magazynu w konsoli.
echo $STORAGE_KEY
Wdrażanie kontenera i instalowanie udziału plików
Aby zainstalować udział plików platformy Azure jako wolumin w kontenerze, określasz udział i punkt instalacji woluminu podczas tworzenia kontenera.
Uruchom to
az container create
polecenie, aby utworzyć kontener, który instaluje/aci/logs/
się w udziale plików: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/
Uruchom polecenie
az container show
, aby uzyskać publiczny adres IP kontenera:az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --query ipAddress.ip \ --output tsv
W przeglądarce przejdź do adresu IP kontenera. Zostanie wyświetlona ta strona:
Wprowadź tekst w formularzu i wybierz pozycję Prześlij. Ta akcja tworzy plik zawierający tekst wprowadzony w udziale plików platformy Azure.
Uruchom to
az storage file list
polecenie, aby wyświetlić pliki zawarte w udziale plików:az storage file list -s aci-share-demo -o table
Uruchom polecenie
az storage file download
w celu pobrania pliku do sesji usługi Cloud Shell. Zastąp <nazwę pliku> jednym z plików, które zostały wyświetlone w poprzednim kroku:az storage file download -s aci-share-demo -p <filename>
Uruchom polecenie
cat
, aby wyświetlić zawartość pliku.cat <filename>
Pamiętaj, że dane będą utrzymywane w okresie istnienia kontenera. Możesz zainstalować udział plików w innych wystąpieniach kontenera, aby udostępnić im te dane.