Oktatóanyag: Azure Files-kötet csatlakoztatása az Azure Container Appsben
Megtudhatja, hogyan írhat állandó tárolóba egy tárolóalkalmazásban egy Azure Files storage-csatlakoztatással. A tárolók csatlakoztatásáról további információt a Tárolók csatlakoztatásának használata az Azure Container Appsben című témakörben talál.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Container Apps-környezet létrehozása
- Azure Storage-fiók létrehozása
- Fájlmegosztás definiálása a tárfiókban
- A környezet csatolása a tárfájl-megosztáshoz
- A tárolómegosztás csatlakoztatása egy különálló tárolóban
- Ellenőrizze a tároló csatlakoztatását a webhely hozzáférési naplójának megtekintésével
Feljegyzés
Az Azure Container Apps SMB- és NFS-protokollok használatával támogatja a fájlmegosztások csatlakoztatását. Ez az oktatóanyag egy Azure Files-megosztás SMB protokoll használatával történő csatlakoztatását mutatja be. Az NFS-megosztások csatlakoztatásával kapcsolatos további információkért lásd : Tárolócsatlakozások használata az Azure Container Appsben.
Előfeltételek
- Telepítse az Azure CLI legújabb verzióját.
A környezet beállítása
Az alábbi parancsok segítenek a változók meghatározásában és annak biztosításában, hogy a Container Apps-bővítmény naprakész legyen.
Jelentkezzen be az Azure CLI-be.
az login
Állítson be környezeti változókat, amelyeket a különböző parancsok követnek.
RESOURCE_GROUP="my-container-apps-group" ENVIRONMENT_NAME="my-storage-environment" LOCATION="canadacentral"
Győződjön meg arról, hogy a Container Apps Azure CLI-bővítmény legújabb verziójával rendelkezik.
az extension add -n containerapp --upgrade
Regisztrálja a
Microsoft.App
névteret.az provider register --namespace Microsoft.App
Regisztrálja a szolgáltatót
Microsoft.OperationalInsights
az Azure Monitor Log Analytics-munkaterületre, ha korábban még nem használta.az provider register --namespace Microsoft.OperationalInsights
Környezet létrehozása
Az alábbi lépések létrehoznak egy erőforráscsoportot és egy Container Apps-környezetet.
Hozzon létre egy erőforráscsoportot.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"
A létrehozás után a parancs egy "Sikeres" üzenetet ad vissza.
Az oktatóanyag végén törölheti az erőforráscsoportot a cikk során létrehozott összes szolgáltatás eltávolításához.
Hozzon létre egy Container Apps-környezetet.
az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --location "$LOCATION" \ --query "properties.provisioningState"
A létrehozás után a parancs egy "Sikeres" üzenetet ad vissza.
A tárolócsatlakozások egy Container Apps-környezethez vannak társítva, és az egyes tárolóalkalmazásokon belül vannak konfigurálva.
Tárfiók beállítása
Ezután hozzon létre egy tárfiókot, és hozzon létre egy fájlmegosztást a tárolóalkalmazáshoz való csatlakoztatáshoz.
Adjon meg egy tárfióknevet.
Ez a parancs véletlenszerű utótagot hoz létre a tárfiók nevére az egyediség biztosítása érdekében.
STORAGE_ACCOUNT_NAME="myacastorageaccount$RANDOM"
Azure Storage-fiók létrehozása.
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
A létrehozás után a parancs egy "Sikeres" üzenetet ad vissza.
Fájlmegosztás nevének megadása.
STORAGE_SHARE_NAME="myfileshare"
Hozza létre az Azure Storage-fájlmegosztást.
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
Kérje le a tárfiókkulcsot.
STORAGE_ACCOUNT_KEY=`az storage account keys list -n $STORAGE_ACCOUNT_NAME --query "[0].value" -o tsv`
A tárfiókkulcs szükséges a tárolóhivatkozás létrehozásához a Container Apps-környezetben.
Adja meg a tároló csatlakoztatásának nevét.
STORAGE_MOUNT_NAME="mystoragemount"
Ez az érték a Container Apps-környezetből az Azure Storage-fiókba mutató tárolócsatlakoztatási hivatkozás meghatározásához használt név.
A tároló csatlakoztatásának létrehozása
Most frissítheti a tárolóalkalmazás konfigurációját a tároló csatlakoztatásának támogatásához.
Hozza létre a tárolási hivatkozást a környezetben.
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
Ez a parancs kapcsolatot hoz létre a tárolóalkalmazás-környezet és a paranccsal
az storage share-rm
létrehozott fájlmegosztás között.A tárfiók és a környezet összekapcsolása után létrehozhat egy tárolóalkalmazást, amely a tároló csatlakoztatását használja.
Adja meg a tárolóalkalmazás nevét.
CONTAINER_APP_NAME="my-container-app"
Hozza létre a tárolóalkalmazást.
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
Ez a parancs megjeleníti az új tárolóalkalmazás URL-címét.
Másolja ki az URL-címet, és illessze be a webböngészőbe a webhelyre való navigáláshoz.
Az oldal betöltése után megjelenik az "Üdvözli az nginx!" üzenet. Nyissa meg ezt a böngészőlapot. A tároló csatlakoztatásának ellenőrzési lépései során visszatér a webhelyre.
Most, hogy meggyőződött arról, hogy a tárolóalkalmazás konfigurálva van, frissítheti az alkalmazást egy tároló csatlakoztatási definíciójával.
Exportálja a tárolóalkalmazás konfigurációját.
az containerapp show \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --output yaml > app.yaml
Feljegyzés
Bár ez az alkalmazás nem rendelkezik titkos kódokkal, sok alkalmazás rendelkezik titkos kódokkal. Alapértelmezés szerint egy alkalmazás konfigurációjának exportálásakor a titkos kódok értékei nem szerepelnek a létrehozott YAML-ben.
Ha nem kell módosítania a titkos kódok értékeit, eltávolíthatja a
secrets
szakaszt, és a titkos kódok változatlanok maradnak. Másik lehetőségként, ha módosítania kell egy titkos kód értékét, az alkalmazás frissítése előtt mindenképpen adja meg aname
value
fájlban lévő összes titkos kulcsot. Ha kihagy egy titkos kulcsot asecrets
szakaszból, az törli a titkos kódot.Nyissa meg az app.yaml fájlt egy kódszerkesztőben.
Cserélje le a
volumes: null
template
szakaszban lévő definíciót avolumes:
tárkötetre hivatkozó definícióra. A sablonszakasznak a következőképpen kell kinéznie: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
Az új
template.volumes
szakasz a következő tulajdonságokat tartalmazza.Tulajdonság Leírás name
Ez az érték megfelel a parancs meghívásával létrehozott kötetnek az containerapp env storage set
.storageName
Ez az érték határozza meg a környezet tárolói által a tárkötet eléréséhez használt nevet. storageType
Ez az érték határozza meg a környezethez definiált tárolókötet típusát. Ebben az esetben a rendszer egy Azure Files-csatlakoztatást deklarál. A
volumes
szakasz az alkalmazás szintjén határozza meg a köteteket, amelyekre az alkalmazástároló vagy az oldalkocsi-tároló hivatkozhat egyvolumeMounts
tárolóhoz társított szakaszon keresztül.Adjon hozzá egy szakaszt
volumeMounts
anginx
szakaszban lévő tárolóhozcontainers
.containers: - image: nginx name: my-container-app volumeMounts: - volumeName: my-azure-file-volume mountPath: /var/log/nginx
Az új
volumeMounts
szakasz a következő tulajdonságokat tartalmazza:Tulajdonság Leírás volumeName
Ennek az értéknek meg kell egyeznie a volumes
definícióban meghatározott névvel.mountPath
Ez az érték határozza meg a tároló elérési útját, ahol a tároló csatlakoztatva van. Frissítse a tárolóalkalmazást az új tárolócsatlakoztatási konfigurációval.
az containerapp update \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --yaml app.yaml \ --output table
A tároló csatlakoztatásának ellenőrzése
A tároló csatlakoztatásának létrehozása után a tárolóból kezelheti az Azure Storage fájljait. A következő parancsokkal megfigyelheti a munkahelyi tároló csatlakoztatását.
Nyisson meg egy interaktív rendszerhéjat a tárolóalkalmazásban a parancsok futtatásához a futó tárolóban.
az containerapp exec \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP
Ez a parancs eltarthat egy ideig a távoli rendszerhéj megnyitásához. Miután a rendszerhéj elkészült, fájlrendszerparancsokkal kezelheti a tároló csatlakoztatását.
Váltson az nginx /var/log/nginx mappára.
cd /var/log/nginx
Térjen vissza a böngészőbe, és keresse meg a webhelyet, és frissítse a lapot néhányszor.
A webhelyre irányuló kérések naplóstreambejegyzések sorozatát hozzák létre.
Térjen vissza a terminálhoz, és sorolja fel a mappa értékeit
/var/log/nginx
.ls
Figyelje meg, hogyan jelennek meg a access.log és error.log fájlok ebben a mappában. Ezeket a fájlokat az előző lépésekben létrehozott Azure Storage-megosztás Azure Files-csatlakoztatására írják.
A access.log fájl tartalmának megtekintése.
cat access.log
Lépjen ki a tároló interaktív rendszerhéjából, és térjen vissza a helyi terminál munkamenetéhez.
exit
Most megtekintheti a fájlokat az Azure Portalon, és ellenőrizheti, hogy léteznek-e az Azure Storage-fiókjában. A véletlenszerűen létrehozott tárfiók nevének nyomtatása.
echo $STORAGE_ACCOUNT_NAME
Lépjen az Azure Portalra, és nyissa meg az eljárás során létrehozott tárfiókot.
A Data Storage területen válassza a Fájlmegosztások lehetőséget.
Válassza a myshare lehetőséget a access.log és error.log fájlok megtekintéséhez.
Az erőforrások eltávolítása
Ha nem folytatja az alkalmazás használatát, futtassa az alábbi parancsot az erőforráscsoport és a cikkben létrehozott összes erőforrás törléséhez.
az group delete \
--name $RESOURCE_GROUP