Cvičení – používání svazků s daty

Dokončeno

Ve výchozím nastavení je služba Azure Container Instances bezstavová. Pokud u kontejneru dojde k chybě nebo se kontejner zastaví, veškerý jeho stav se ztratí. Pokud chcete zachovat stav i po skončení doby života kontejneru, je nutné připojit svazek z externího úložiště.

Připojte sdílenou složku Azure k instanci kontejneru Azure, abyste k ní mohli ukládat data a přistupovat k ní později.

Vytvoření sdílené složky Azure

Vytvořte účet úložiště a sdílenou složku. Později můžete sdílenou složku zpřístupnit instanci kontejneru Azure.

  1. Účet úložiště musí mít jedinečný název. Pro účely výuky spusťte následující příkaz, který uloží jedinečný název do proměnné Bash:

    STORAGE_ACCOUNT_NAME=mystorageaccount$RANDOM
    
  2. Spuštěním následujícího az storage account create příkazu vytvořte účet úložiště:

    az storage account create \
      --resource-group learn-deploy-aci-rg \
      --name $STORAGE_ACCOUNT_NAME \
      --sku Standard_LRS \
      --location eastus
    
  3. Spuštěním následujícího příkazu umístěte účet úložiště připojovací řetězec do proměnné prostředí s názvemAZURE_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 je speciální proměnná prostředí, kterou Azure CLI rozumí. Tato export proměnná bude přístupná pro další příkazy rozhraní příkazového řádku, které spustíte později.

  4. Spuštěním tohoto příkazu vytvořte sdílenou složku s názvem aci-share-demo v účtu úložiště:

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

Získání přihlašovacích údajů úložiště

K připojení sdílené složky Azure jako svazku ve službě Azure Container Instances potřebujete tyto tři hodnoty:

  • Název účtu úložiště
  • Název sdílené složky
  • Přístupový klíč účtu úložiště

Už máte první dvě hodnoty. Název účtu úložiště je uložený v proměnné prostředí Bash STORAGE_ACCOUNT_NAME. Jako název sdílené složky jste v předchozím kroku zadali aci-share-demo. Tady získáte zbývající hodnotu: přístupový klíč účtu úložiště.

  1. Spuštěním následujícího příkazu získejte klíč účtu úložiště:

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

    Výsledek je uložený v proměnné prostředí Bash s názvem STORAGE_KEY.

  2. Volitelně můžete vytisknout klíč úložiště do konzoly.

    echo $STORAGE_KEY
    

Nasazení kontejneru a připojení sdílené složky

Pokud chcete připojit sdílenou složku Azure ke kontejneru jako svazek, zadejte při vytváření kontejneru přípojný bod sdílené složky a svazku.

  1. Spuštěním tohoto az container create příkazu vytvořte kontejner, který se připojí /aci/logs/ ke sdílené složce:

    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. Spuštěním az container show získejte veřejnou IP adresu kontejneru:

    az container show \
      --resource-group learn-deploy-aci-rg \
      --name aci-demo-files \
      --query ipAddress.ip \
      --output tsv
    
  3. V prohlížeči přejděte na IP adresu kontejneru. Zobrazí se tato stránka:

    Snímek obrazovky znázorňující ukázkovou sdílenou složku Azure Container Instances spuštěnou v prohlížeči

  4. Zadejte do formuláře nějaký text a vyberte Odeslat. Tato akce vytvoří soubor obsahující text, který jste zadali do sdílené složky Azure.

  5. Spuštěním tohoto az storage file list příkazu zobrazte soubory obsažené ve sdílené složce:

    az storage file list -s aci-share-demo -o table
    
  6. Spuštěním příkazu az storage file download stáhněte soubor do relace služby Cloud Shell. Nahraďte <název souboru> jedním ze souborů, které se zobrazily v předchozím kroku:

    az storage file download -s aci-share-demo -p <filename>
    
  7. Spuštěním příkazu cat vytiskněte obsah souboru.

    cat <filename>
    

Mějte na paměti, že po ukončení kontejneru se daná data zachovají. Sdílenou složku můžete připojit k jiným instancím kontejneru a daná data jim tak zpřístupnit.