Kurz: Vytvoření připojení svazku Azure Files v Azure Container Apps
Naučte se zapisovat do trvalého úložiště v aplikaci kontejneru pomocí připojení služby Azure Files Storage. Další informace o připojeních úložiště najdete v tématu Použití připojení úložiště v Azure Container Apps.
V tomto kurzu se naučíte:
- Vytvoření prostředí Container Apps
- Vytvoření účtu služby Azure Storage
- Definování sdílené složky v účtu úložiště
- Propojení prostředí se sdílenou složkou úložiště
- Připojení sdílené složky úložiště v jednotlivém kontejneru
- Ověření připojení úložiště zobrazením protokolu přístupu k webu
Poznámka:
Azure Container Apps podporuje připojení sdílených složek pomocí protokolů SMB a NFS. Tento kurz ukazuje připojení sdílené složky Azure Files pomocí protokolu SMB. Další informace o připojení sdílených složek NFS najdete v tématu Použití připojení úložiště v Azure Container Apps.
Požadavky
- Nainstalujte nejnovější verzi Azure CLI.
Nastavení prostředí
Následující příkazy vám pomůžou definovat proměnné a zajistit, aby vaše rozšíření Container Apps bylo aktuální.
Přihlaste se k Azure CLI.
az login
Nastavte proměnné prostředí používané v různých příkazech, které se mají sledovat.
RESOURCE_GROUP="my-container-apps-group" ENVIRONMENT_NAME="my-storage-environment" LOCATION="canadacentral"
Ujistěte se, že máte nejnovější verzi rozšíření Azure CLI pro Container Apps.
az extension add -n containerapp --upgrade
Zaregistrujte
Microsoft.App
obor názvů.az provider register --namespace Microsoft.App
Pokud jste ho ještě nepoužili
Microsoft.OperationalInsights
, zaregistrujte poskytovatele pro pracovní prostor služby Azure Monitor Log Analytics.az provider register --namespace Microsoft.OperationalInsights
Vytvořit prostředí
Následující postup vytvoří skupinu prostředků a prostředí Container Apps.
Vytvořte skupinu prostředků.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"
Po vytvoření příkaz vrátí zprávu "Úspěch".
Na konci tohoto kurzu můžete odstranit skupinu prostředků a odebrat tak všechny služby vytvořené během tohoto článku.
Vytvořte prostředí Container Apps.
az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --location "$LOCATION" \ --query "properties.provisioningState"
Po vytvoření příkaz vrátí zprávu "Úspěch".
Připojení úložiště jsou přidružená k prostředí Container Apps a konfigurují se v jednotlivých kontejnerových aplikacích.
Nastavení účtu úložiště
Dále vytvořte účet úložiště a vytvořte sdílenou složku pro připojení k aplikaci kontejneru.
Definujte název účtu úložiště.
Tento příkaz vygeneruje náhodnou příponu názvu účtu úložiště, aby se zajistila jedinečnost.
STORAGE_ACCOUNT_NAME="myacastorageaccount$RANDOM"
Vytvořit účet služby Azure Storage
az storage account create \ --resource-group $RESOURCE_GROUP \ --name $STORAGE_ACCOUNT_NAME \ --location "$LOCATION" \ --kind StorageV2 \ --sku Standard_LRS \ --enable-large-file-share \ --query provisioningState
Po vytvoření příkaz vrátí zprávu "Úspěch".
Definujte název sdílené složky.
STORAGE_SHARE_NAME="myfileshare"
Vytvořte sdílenou složku Azure Storage.
az storage share-rm create \ --resource-group $RESOURCE_GROUP \ --storage-account $STORAGE_ACCOUNT_NAME \ --name $STORAGE_SHARE_NAME \ --quota 1024 \ --enabled-protocols SMB \ --output table
Získejte klíč účtu úložiště.
STORAGE_ACCOUNT_KEY=`az storage account keys list -n $STORAGE_ACCOUNT_NAME --query "[0].value" -o tsv`
Klíč účtu úložiště se vyžaduje k vytvoření propojení úložiště v prostředí Container Apps.
Definujte název připojení úložiště.
STORAGE_MOUNT_NAME="mystoragemount"
Tato hodnota je název, který slouží k definování připojení úložiště z prostředí Container Apps k vašemu účtu Azure Storage.
Vytvoření připojení úložiště
Teď můžete aktualizovat konfiguraci aplikace kontejneru tak, aby podporovala připojení úložiště.
Vytvořte propojení úložiště v prostředí.
az containerapp env storage set \ --access-mode ReadWrite \ --azure-file-account-name $STORAGE_ACCOUNT_NAME \ --azure-file-account-key $STORAGE_ACCOUNT_KEY \ --azure-file-share-name $STORAGE_SHARE_NAME \ --storage-name $STORAGE_MOUNT_NAME \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --output table
Tento příkaz vytvoří propojení mezi prostředím aplikace kontejneru a sdílenou složkou vytvořenou pomocí
az storage share-rm
příkazu.Teď, když je účet úložiště a prostředí propojené, můžete vytvořit aplikaci kontejneru, která používá připojení úložiště.
Definujte název aplikace kontejneru.
CONTAINER_APP_NAME="my-container-app"
Vytvořte aplikaci typu kontejner.
az containerapp create \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT_NAME \ --image nginx \ --min-replicas 1 \ --max-replicas 1 \ --target-port 80 \ --ingress external \ --query properties.configuration.ingress.fqdn
Tento příkaz zobrazí adresu URL nové aplikace kontejneru.
Zkopírujte adresu URL a vložte ji do webového prohlížeče a přejděte na web.
Po načtení stránky se zobrazí zpráva Vítá vás nginx!. Nechte tuto kartu prohlížeče otevřenou. Během postupu ověření připojení úložiště se vrátíte na web.
Teď, když jste potvrdili, že je aplikace kontejneru nakonfigurovaná, můžete aplikaci aktualizovat na definici připojení úložiště.
Export konfigurace aplikace kontejneru
az containerapp show \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --output yaml > app.yaml
Poznámka:
I když tato aplikace nemá tajné kódy, mnoho aplikací dělá tajné kódy funkcí. Při exportu konfigurace aplikace se ve výchozím nastavení hodnoty tajných kódů nezahrnou do vygenerovaného YAML.
Pokud nepotřebujete měnit tajné hodnoty, můžete oddíl odebrat
secrets
a tajné kódy zůstanou nezměněné. Případně pokud potřebujete změnit hodnotu tajného kódu, nezapomeňte před pokusem o aktualizaci aplikace zadat jakname
value
tajné kódy, tak pro všechny tajné kódy v souboru. Vynechání tajného kódu z oddílusecrets
odstraní tajný klíč.Otevřete soubor app.yaml v editoru kódu.
Nahraďte definici
volumes: null
v oddílutemplate
definicívolumes:
odkazující na svazek úložiště. Oddíl šablony by měl vypadat takto:template: volumes: - name: my-azure-file-volume storageName: mystoragemount storageType: AzureFile containers: - image: nginx name: my-container-app volumeMounts: - volumeName: my-azure-file-volume mountPath: /var/log/nginx resources: cpu: 0.5 ephemeralStorage: 3Gi memory: 1Gi initContainers: null revisionSuffix: '' scale: maxReplicas: 1 minReplicas: 1 rules: null
template.volumes
Nový oddíl obsahuje následující vlastnosti.Vlastnost Popis name
Tato hodnota odpovídá svazku vytvořenému voláním az containerapp env storage set
příkazu.storageName
Tato hodnota definuje název používaný kontejnery v prostředí pro přístup ke svazku úložiště. storageType
Tato hodnota určuje typ svazku úložiště definovaného pro prostředí. V tomto případě se deklaruje připojení ke službě Azure Files. Oddíl
volumes
definuje svazky na úrovni aplikace, na které kontejner aplikace nebo kontejnery sajdkáře můžou odkazovat prostřednictvím oddíluvolumeMounts
přidruženého ke kontejneru.volumeMounts
Přidejte oddíl do kontejnerunginx
v oddílucontainers
.containers: - image: nginx name: my-container-app volumeMounts: - volumeName: my-azure-file-volume mountPath: /var/log/nginx
volumeMounts
Nový oddíl obsahuje následující vlastnosti:Vlastnost Popis volumeName
Tato hodnota musí odpovídat názvu definovanému v definici volumes
.mountPath
Tato hodnota definuje cestu v kontejneru, kde je úložiště připojené. Aktualizujte aplikaci kontejneru pomocí nové konfigurace připojení úložiště.
az containerapp update \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --yaml app.yaml \ --output table
Ověření připojení úložiště
Teď, když je připojení k úložišti vytvořené, můžete manipulovat se soubory ve službě Azure Storage z kontejneru. Pomocí následujících příkazů můžete sledovat připojení úložiště v práci.
Otevřete interaktivní prostředí v aplikaci kontejneru a spusťte příkazy uvnitř spuštěného kontejneru.
az containerapp exec \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP
Otevření vzdáleného prostředí může chvíli trvat. Jakmile je prostředí připravené, můžete s připojením k úložišti pracovat pomocí příkazů systému souborů.
Přejděte do složky nginx /var/log/nginx .
cd /var/log/nginx
Vraťte se do prohlížeče a několikrát přejděte na web a aktualizujte stránku.
Požadavky provedené na webu vytvoří řadu položek streamu protokolu.
Vraťte se do terminálu a uveďte hodnoty
/var/log/nginx
složky.ls
Všimněte si, jak se v této složce zobrazují soubory access.log a error.log . Tyto soubory se zapíšou do připojené složky Azure Files ve sdílené složce Azure Storage vytvořené v předchozích krocích.
Zobrazte obsah souboru access.log .
cat access.log
Ukončete interaktivní prostředí kontejneru a vraťte se do relace místního terminálu.
exit
Teď můžete soubory zobrazit na webu Azure Portal a ověřit, že existují ve vašem účtu Azure Storage. Vytiskněte název náhodně vygenerovaného účtu úložiště.
echo $STORAGE_ACCOUNT_NAME
Přejděte na web Azure Portal a otevřete účet úložiště vytvořený v tomto postupu.
V části Úložiště dat vyberte Sdílené složky.
Výběrem mého sdílení zobrazíte soubory access.log a error.log .
Vyčištění prostředků
Pokud nebudete tuto aplikaci dál používat, spuštěním následujícího příkazu odstraňte skupinu prostředků spolu se všemi prostředky vytvořenými v tomto článku.
az group delete \
--name $RESOURCE_GROUP