Latihan - Gunakan volume data
Secara default, Azure Container Instances tidak mempunyai status. Jika kontainer rusak atau berhenti, semua statusnya hilang. Untuk mempertahankan status melebihi masa pakai kontainer, Anda harus memasang volume dari penyimpanan eksternal.
Pasang berbagi file Azure ke instans kontainer Azure sehingga Anda dapat menyimpan data dan mengaksesnya nanti.
Membuat Azure file share
Buat akun penyimpanan dan berbagi file. Nantinya, Anda dapat membuat berbagi file dapat diakses oleh instans kontainer Azure.
Akun penyimpanan Anda memerlukan nama yang unik. Untuk tujuan pembelajaran, jalankan perintah berikut untuk menyimpan nama unik dalam variabel Bash:
STORAGE_ACCOUNT_NAME=mystorageaccount$RANDOM
Jalankan perintah berikut
az storage account create
untuk membuat akun penyimpanan Anda:az storage account create \ --resource-group learn-deploy-aci-rg \ --name $STORAGE_ACCOUNT_NAME \ --sku Standard_LRS \ --location eastus
Jalankan perintah berikut untuk menempatkan akun penyimpanan string koneksi ke dalam variabel lingkungan bernama
AZURE_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
adalah variabel lingkungan khusus yang dipahami Azure CLI. Bagianexport
ini membuat variabel ini dapat diakses oleh perintah CLI lain yang Anda jalankan nanti.Jalankan perintah ini untuk membuat berbagi file bernama aci-share-demo di akun penyimpanan:
az storage share create --name aci-share-demo
Mendaparkan kredensial penyimpanan
Untuk memasang berbagi file Azure sebagai volume dalam Azure Container Instances, Anda memerlukan tiga nilai ini:
- Nama akun penyimpanan
- Nama berbagi
- Kunci akses akun penyimpanan
Anda sudah memiliki dua nilai pertama. Nama akun penyimpanan disimpan dalam variabel STORAGE_ACCOUNT_NAME
Bash. Anda menetapkan aci-share-demo sebagai nama berbagi di langkah sebelumnya. Di sini, Anda mendapatkan nilai yang tersisa: kunci akses akun penyimpanan.
Jalankan perintah berikut untuk mendapatkan kunci akun penyimpanan:
STORAGE_KEY=$(az storage account keys list \ --resource-group learn-deploy-aci-rg \ --account-name $STORAGE_ACCOUNT_NAME \ --query "[0].value" \ --output tsv)
Hasilnya disimpan dalam variabel Bash bernama
STORAGE_KEY
.Sebagai langkah opsional, cetak kunci penyimpanan ke konsol.
echo $STORAGE_KEY
Menggunakan kontainer dan memasang berbagi file
Untuk memasang Azure file share sebagai volume di kontainer, Anda menentukan titik pemasangan berbagi dan volume saat Anda membuat kontainer.
Jalankan perintah ini
az container create
untuk membuat kontainer yang dipasang/aci/logs/
ke berbagi file Anda: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/
Jalankan
az container show
untuk mendapatkan alamat IP publik kontainer Anda:az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --query ipAddress.ip \ --output tsv
Dari browser, navigasikan ke alamat IP kontainer Anda. Anda mendapatkan halaman ini:
Masukkan beberapa teks ke dalam formulir dan pilih Kirim. Tindakan ini membuat file yang berisi teks yang Anda masukkan di Azure file share.
Jalankan perintah ini
az storage file list
untuk menampilkan file yang terkandung dalam berbagi file Anda:az storage file list -s aci-share-demo -o table
Jalankan
az storage file download
untuk mengunduh file ke sesi Azure Cloud Shell Anda. Ganti <nama> file dengan salah satu file yang muncul di langkah sebelumnya:az storage file download -s aci-share-demo -p <filename>
Jalankan perintah
cat
untuk mencetak konten file.cat <filename>
Ingat bahwa data Anda tetap ada saat kontainer Anda keluar. Anda dapat memasang berbagi file Anda ke instans kontainer lain untuk menyediakan data tersebut untuk mereka.