Share via


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

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.

  1. Jelentkezzen be az Azure CLI-be.

    az login
    
  2. Á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"
    
  3. 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
    
  4. Regisztrálja a Microsoft.App névteret.

    az provider register --namespace Microsoft.App
    
  5. 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.

  1. 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.

  2. 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.

  1. 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"
    
  2. 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.

  3. Fájlmegosztás nevének megadása.

    STORAGE_SHARE_NAME="myfileshare"
    
  4. 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
    
  5. 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.

  6. 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.

  1. 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.

  2. Adja meg a tárolóalkalmazás nevét.

    CONTAINER_APP_NAME="my-container-app"
    
  3. 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.

  4. 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.

  5. 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 a namevalue fájlban lévő összes titkos kulcsot. Ha kihagy egy titkos kulcsot a secrets szakaszból, az törli a titkos kódot.

  6. Nyissa meg az app.yaml fájlt egy kódszerkesztőben.

  7. Cserélje le a volumes: nulltemplate szakaszban lévő definíciót a volumes: 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 egy volumeMounts tárolóhoz társított szakaszon keresztül.

  8. Adjon hozzá egy szakaszt volumeMounts a nginx szakaszban lévő tárolóhoz containers .

    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.
  9. 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.

  1. 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.

  2. Váltson az nginx /var/log/nginx mappára.

    cd /var/log/nginx
    
  3. 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.

  4. Térjen vissza a terminálhoz, és sorolja fel a mappa értékeit /var/log/nginx .

    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.

  5. A access.log fájl tartalmának megtekintése.

    cat access.log
    
  6. Lépjen ki a tároló interaktív rendszerhéjából, és térjen vissza a helyi terminál munkamenetéhez.

    exit
    
  7. 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
    
  8. Lépjen az Azure Portalra, és nyissa meg az eljárás során létrehozott tárfiókot.

  9. A Data Storage területen válassza a Fájlmegosztások lehetőséget.

  10. 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

Következő lépések