Bagikan melalui


Tutorial: Membuat pemasangan volume Azure Files di Azure Container Apps

Pelajari cara menulis ke penyimpanan permanen di aplikasi kontainer menggunakan pemasangan penyimpanan Azure Files. Untuk informasi selengkapnya tentang pemasangan penyimpanan, lihat Menggunakan pemasangan penyimpanan di Azure Container Apps.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Membuat lingkungan Aplikasi Kontainer
  • Buat akun Azure Storage
  • Menentukan berbagi file di akun penyimpanan
  • Menautkan lingkungan ke berbagi file penyimpanan
  • Memasang berbagi penyimpanan dalam kontainer individual
  • Verifikasi pemasangan penyimpanan dengan melihat log akses situs web

Catatan

Azure Container Apps mendukung pemasangan berbagi file menggunakan protokol SMB dan NFS. Tutorial ini menunjukkan pemasangan berbagi Azure Files menggunakan protokol SMB. Untuk mempelajari selengkapnya tentang memasang berbagi NFS, lihat Menggunakan pemasangan penyimpanan di Azure Container Apps.

Prasyarat

Menyiapkan lingkungan

Perintah berikut membantu Anda menentukan variabel dan memastikan ekstensi Container Apps Anda sudah diperbarui.

  1. Masuk ke Azure CLI.

    az login
    
  2. Siapkan variabel lingkungan yang digunakan dalam berbagai perintah untuk diikuti.

    RESOURCE_GROUP="my-container-apps-group"
    ENVIRONMENT_NAME="my-storage-environment"
    LOCATION="canadacentral"
    
  3. Pastikan Anda memiliki versi terbaru ekstensi Container Apps Azure CLI.

    az extension add -n containerapp --upgrade
    
  4. Daftarkan Microsoft.App namespace layanan.

    az provider register --namespace Microsoft.App
    
  5. Daftarkan Microsoft.OperationalInsights penyedia untuk ruang kerja Analitik Log Azure Monitor jika Anda belum menggunakannya sebelumnya.

    az provider register --namespace Microsoft.OperationalInsights
    

Membuat lingkungan

Langkah-langkah berikut membuat grup sumber daya dan lingkungan Container Apps.

  1. Buat grup sumber daya.

    az group create \
      --name $RESOURCE_GROUP \
      --location $LOCATION \
      --query "properties.provisioningState"
    

    Setelah dibuat, perintah mengembalikan pesan "Berhasil".

    Di akhir tutorial ini, Anda dapat menghapus grup sumber daya untuk menghapus semua layanan yang dibuat selama artikel ini.

  2. Buat lingkungan Aplikasi Kontainer.

    az containerapp env create \
      --name $ENVIRONMENT_NAME \
      --resource-group $RESOURCE_GROUP \
      --location "$LOCATION" \
      --query "properties.provisioningState"
    

    Setelah dibuat, perintah mengembalikan pesan "Berhasil".

    Pemasangan penyimpanan dikaitkan dengan lingkungan Container Apps dan dikonfigurasi dalam aplikasi kontainer individual.

Menyiapkan akun penyimpanan

Selanjutnya, buat akun penyimpanan dan buat berbagi file untuk dipasang ke aplikasi kontainer.

  1. Tentukan nama akun penyimpanan.

    Perintah ini menghasilkan akhiran acak ke nama akun penyimpanan untuk memastikan keunikan.

    STORAGE_ACCOUNT_NAME="myacastorageaccount$RANDOM"
    
  2. Membuat akun 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
    

    Setelah dibuat, perintah mengembalikan pesan "Berhasil".

  3. Tentukan nama berbagi file.

    STORAGE_SHARE_NAME="myfileshare"
    
  4. Buat berbagi file 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
    
  5. Dapatkan kunci akun penyimpanan.

    STORAGE_ACCOUNT_KEY=`az storage account keys list -n $STORAGE_ACCOUNT_NAME --query "[0].value" -o tsv`
    

    Kunci akun penyimpanan diperlukan untuk membuat tautan penyimpanan di lingkungan Container Apps Anda.

  6. Tentukan nama pemasangan penyimpanan.

    STORAGE_MOUNT_NAME="mystoragemount"
    

    Nilai ini adalah nama yang digunakan untuk menentukan tautan pemasangan penyimpanan dari lingkungan Container Apps Anda ke akun Azure Storage Anda.

Membuat pemasangan penyimpanan

Sekarang Anda dapat memperbarui konfigurasi aplikasi kontainer untuk mendukung pemasangan penyimpanan.

  1. Buat tautan penyimpanan di lingkungan.

    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
    

    Perintah ini membuat tautan antara lingkungan aplikasi kontainer dan berbagi file yang az storage share-rm dibuat dengan perintah .

    Sekarang setelah akun penyimpanan dan lingkungan ditautkan, Anda dapat membuat aplikasi kontainer yang menggunakan pemasangan penyimpanan.

  2. Tentukan nama aplikasi kontainer.

    CONTAINER_APP_NAME="my-container-app"
    
  3. Buat aplikasi kontainer.

    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
    

    Perintah ini menampilkan URL aplikasi kontainer baru Anda.

  4. Salin URL dan tempelkan ke browser web Anda untuk menavigasi ke situs web.

    Setelah halaman dimuat, Anda akan melihat pesan "Selamat Datang di nginx!". Tetap buka tab browser ini. Anda akan kembali ke situs web selama langkah-langkah verifikasi pemasangan penyimpanan.

    Setelah mengonfirmasi bahwa aplikasi kontainer dikonfigurasi, Anda dapat memperbarui aplikasi ke dengan definisi pemasangan penyimpanan.

  5. Ekspor konfigurasi aplikasi kontainer.

    az containerapp show \
      --name $CONTAINER_APP_NAME \
      --resource-group $RESOURCE_GROUP \
      --output yaml > app.yaml
    

    Catatan

    Meskipun aplikasi ini tidak memiliki rahasia, banyak aplikasi melakukan rahasia fitur. Secara default, saat Anda mengekspor konfigurasi aplikasi, nilai untuk rahasia tidak disertakan dalam YAML yang dihasilkan.

    Jika Anda tidak perlu mengubah nilai rahasia, maka Anda dapat menghapus bagian secrets dan rahasia Anda tetap tidak diubah. Atau, jika Anda perlu mengubah nilai rahasia, pastikan untuk menyediakan name dan value untuk semua rahasia dalam file sebelum mencoba memperbarui aplikasi. Menghilangkan rahasia dari bagian secrets akan menghapus rahasia.

  6. Buka app.yaml di editor kode.

  7. volumes: null Ganti definisi di bagian template dengan definisi yang volumes: mereferensikan volume penyimpanan. Bagian templat akan terlihat seperti berikut ini:

    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
    

    Bagian baru template.volumes menyertakan properti berikut.

    Properti Deskripsi
    name Nilai ini cocok dengan volume yang dibuat dengan memanggil az containerapp env storage set perintah .
    storageName Nilai ini menentukan nama yang digunakan oleh kontainer di lingkungan untuk mengakses volume penyimpanan.
    storageType Nilai ini menentukan jenis volume penyimpanan yang ditentukan untuk lingkungan. Dalam hal ini, pemasangan Azure Files dinyatakan.

    Bagian menentukan volumes volume di tingkat aplikasi yang dapat dirujuk oleh kontainer aplikasi atau kontainer sespan Anda melalui bagian yang volumeMounts terkait dengan kontainer.

  8. volumeMounts Tambahkan bagian ke nginx kontainer di bagian containers .

    containers:
      - image: nginx
        name: my-container-app
        volumeMounts:
        - volumeName: my-azure-file-volume
          mountPath: /var/log/nginx
    

    Bagian baru volumeMounts mencakup properti berikut:

    Properti Deskripsi
    volumeName Nilai ini harus cocok dengan nama yang volumes ditentukan dalam definisi.
    mountPath Nilai ini menentukan jalur dalam kontainer Anda tempat penyimpanan dipasang.
  9. Perbarui aplikasi kontainer dengan konfigurasi pemasangan penyimpanan baru.

    az containerapp update \
      --name $CONTAINER_APP_NAME \
      --resource-group $RESOURCE_GROUP \
      --yaml app.yaml \
      --output table
    

Memverifikasi pemasangan penyimpanan

Setelah pemasangan penyimpanan dibuat, Anda dapat memanipulasi file di Azure Storage dari kontainer Anda. Gunakan perintah berikut untuk mengamati pemasangan penyimpanan di tempat kerja.

  1. Buka shell interaktif di dalam aplikasi kontainer untuk menjalankan perintah di dalam kontainer yang sedang berjalan.

    az containerapp exec \
      --name $CONTAINER_APP_NAME \
      --resource-group $RESOURCE_GROUP
    

    Perintah ini mungkin membutuhkan waktu sejenak untuk membuka shell jarak jauh. Setelah shell siap, Anda dapat berinteraksi dengan pemasangan penyimpanan melalui perintah sistem file.

  2. Ubah menjadi folder nginx /var/log/nginx .

    cd /var/log/nginx
    
  3. Kembali ke browser dan navigasi ke situs web dan refresh halaman beberapa kali.

    Permintaan yang dibuat ke situs web membuat serangkaian entri aliran log.

  4. Kembali ke terminal Anda dan cantumkan /var/log/nginx nilai folder.

    Perhatikan bagaimana file access.log dan error.log muncul di folder ini. File-file ini ditulis ke pemasangan Azure Files di berbagi Azure Storage Anda yang dibuat di langkah-langkah sebelumnya.

  5. Lihat konten file access.log .

    cat access.log
    
  6. Keluar dari shell interaktif kontainer untuk kembali ke sesi terminal lokal Anda.

    exit
    
  7. Sekarang, Anda dapat melihat file di portal Azure untuk memverifikasi bahwa file tersebut ada di akun Azure Storage Anda. Cetak nama akun penyimpanan yang dihasilkan secara acak.

    echo $STORAGE_ACCOUNT_NAME
    
  8. Navigasi ke portal Azure dan buka akun penyimpanan yang dibuat dalam prosedur ini.

  9. Di bawah Penyimpanan Data pilih Berbagi file.

  10. Pilih myshare untuk melihat file access.log dan error.log .

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan aplikasi ini, jalankan perintah berikut untuk menghapus grup sumber daya bersama dengan semua sumber daya yang dibuat dalam artikel ini.

az group delete \
  --name $RESOURCE_GROUP

Langkah berikutnya