البرنامج التعليمي: إنشاء تحميل وحدة تخزين Azure Files في Azure Container Apps
تعلم الكتابة إلى التخزين الدائم في تطبيق حاوية باستخدام تحميل تخزين Azure Files. لمزيد من المعلومات حول عمليات تحميل التخزين، راجع استخدام عمليات تحميل التخزين في Azure Container Apps.
في هذا البرنامج التعليمي، تتعلم كيفية:
- إنشاء بيئة تطبيقات الحاوية
- إنشاء حساب تخزين Azure
- تعريف مشاركة ملف في حساب التخزين
- ربط البيئة بمشاركة ملف التخزين
- تحميل مشاركة التخزين في حاوية فردية
- تحقق من تحميل التخزين عن طريق عرض سجل الوصول إلى موقع الويب
إشعار
تدعم Azure Container Apps تحميل مشاركات الملفات باستخدام بروتوكولات SMB وNFS. يوضح هذا البرنامج التعليمي تحميل مشاركة Azure Files باستخدام بروتوكول SMB. لمعرفة المزيد حول تحميل مشاركات NFS، راجع استخدام عمليات تحميل التخزين في Azure Container Apps.
المتطلبات الأساسية
- قم بتثبيت أحدث إصدار من Azure CLI.
إعداد البيئة
تساعدك الأوامر التالية على تحديد المتغيرات والتأكد من أن ملحق Container Apps محدث.
تسجيل الدخول إلى Azure CLI.
إعداد متغيرات البيئة المستخدمة في أوامر مختلفة لمتابعة.
تأكد من أن لديك أحدث إصدار من ملحق Container Apps Azure CLI.
Microsoft.App
تسجيل مساحة الاسم.Microsoft.OperationalInsights
سجل الموفر لمساحة عمل Azure Monitor Log Analytics إذا لم تكن قد استخدمتها من قبل.az provider register --namespace Microsoft.OperationalInsights
إنشاء بيئة
تنشئ الخطوات التالية مجموعة موارد وبيئة Container Apps.
قم بإنشاء مجموعة موارد.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"
بمجرد الإنشاء، يقوم الأمر بإرجاع رسالة "Succeeded".
في نهاية هذا البرنامج التعليمي، يمكنك حذف مجموعة الموارد لإزالة جميع الخدمات التي تم إنشاؤها أثناء هذه المقالة.
إنشاء بيئة Container Apps.
az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --location "$LOCATION" \ --query "properties.provisioningState"
بمجرد الإنشاء، يقوم الأمر بإرجاع رسالة "Succeeded".
ترتبط عمليات تحميل التخزين ببيئة Container Apps ويتم تكوينها داخل تطبيقات الحاوية الفردية.
إعداد حساب تخزين
بعد ذلك، قم بإنشاء حساب تخزين وإنشاء مشاركة ملف لتحميلها إلى تطبيق الحاوية.
تعريف اسم حساب تخزين.
ينشئ هذا الأمر لاحقة عشوائية لاسم حساب التخزين لضمان التفرد.
إنشاء حساب 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
بمجرد الإنشاء، يقوم الأمر بإرجاع رسالة "Succeeded".
تعريف اسم مشاركة ملف.
إنشاء مشاركة ملف Azure Storage.
احصل على مفتاح حساب التخزين.
STORAGE_ACCOUNT_KEY=`az storage account keys list -n $STORAGE_ACCOUNT_NAME --query "[0].value" -o tsv`
مفتاح حساب التخزين مطلوب لإنشاء ارتباط التخزين في بيئة تطبيقات الحاوية.
تعريف اسم تحميل التخزين.
هذه القيمة هي الاسم المستخدم لتعريف ارتباط تحميل التخزين من بيئة تطبيقات الحاوية إلى حساب Azure Storage الخاص بك.
إنشاء تحميل التخزين
الآن يمكنك تحديث تكوين تطبيق الحاوية لدعم تحميل التخزين.
إنشاء ارتباط التخزين في البيئة.
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
ينشئ هذا الأمر ارتباطا بين بيئة تطبيق الحاوية ومشاركة الملف التي تم إنشاؤها
az storage share-rm
باستخدام الأمر .الآن بعد أن تم ربط حساب التخزين والبيئة، يمكنك إنشاء تطبيق حاوية يستخدم تحميل التخزين.
حدد اسم تطبيق الحاوية.
إنشاء تطبيق الحاوية.
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
يعرض هذا الأمر عنوان URL لتطبيق الحاوية الجديد.
انسخ عنوان URL والصقه في مستعرض الويب للانتقال إلى موقع الويب.
بمجرد تحميل الصفحة، سترى رسالة "مرحبا بك في nginx!". حافظ على علامة تبويب المستعرض هذه مفتوحة. ستعود إلى موقع الويب أثناء خطوات التحقق من تحميل التخزين.
الآن بعد أن تأكدت من تكوين تطبيق الحاوية، يمكنك تحديث التطبيق إلى باستخدام تعريف تحميل التخزين.
تصدير تكوين تطبيق الحاوية.
az containerapp show \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --output yaml > app.yaml
إشعار
في حين أن هذا التطبيق لا يحتوي على أسرار، فإن العديد من التطبيقات تقوم بأسرار الميزات. بشكل افتراضي، عند تصدير تكوين التطبيق، لا يتم تضمين قيم الأسرار في YAML الذي تم إنشاؤه.
إذا لم تكن بحاجة إلى تغيير القيم السرية، فيمكنك إزالة
secrets
القسم وتظل أسرارك دون تغيير. بدلا من ذلك، إذا كنت بحاجة إلى تغيير قيمة البيانات السرية، فتأكد من توفير كلname
من وvalue
لجميع الأسرار في الملف قبل محاولة تحديث التطبيق. حذف سر منsecrets
القسم يؤدي إلى حذف السر.افتح app.yaml في محرر التعليمات البرمجية.
volumes: null
استبدل التعريف فيtemplate
القسم بتعريفvolumes:
يشير إلى وحدة التخزين. يجب أن يبدو قسم القالب كما يلي: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
الخصائص التالية.الخاصية الوصف name
تتطابق هذه القيمة مع وحدة التخزين التي تم إنشاؤها عن طريق استدعاء az containerapp env storage set
الأمر .storageName
تعرف هذه القيمة الاسم المستخدم من قبل الحاويات في البيئة للوصول إلى وحدة التخزين. storageType
تحدد هذه القيمة نوع وحدة التخزين المعرفة للبيئة. في هذه الحالة، يتم الإعلان عن تحميل ملفات Azure. volumes
يحدد القسم وحدات التخزين على مستوى التطبيق التي يمكن أن تشير إليها حاوية التطبيق أو حاويات sidecar عبرvolumeMounts
مقطع مقترن بحاوية.أضف مقطعا
volumeMounts
إلى الحاويةnginx
فيcontainers
القسم .containers: - image: nginx name: my-container-app volumeMounts: - volumeName: my-azure-file-volume mountPath: /var/log/nginx
يتضمن القسم الجديد
volumeMounts
الخصائص التالية:الخاصية الوصف volumeName
يجب أن تتطابق هذه القيمة مع الاسم المحدد في volumes
التعريف.mountPath
تحدد هذه القيمة المسار في الحاوية حيث يتم تحميل التخزين. تحديث تطبيق الحاوية بتكوين تحميل التخزين الجديد.
تحقق من تحميل التخزين
الآن بعد إنشاء تحميل التخزين، يمكنك معالجة الملفات في Azure Storage من الحاوية الخاصة بك. استخدم الأوامر التالية لمراقبة تحميل التخزين في العمل.
افتح shell تفاعليا داخل تطبيق الحاوية لتنفيذ الأوامر داخل الحاوية قيد التشغيل.
قد يستغرق هذا الأمر لحظة لفتح shell البعيد. بمجرد أن تصبح shell جاهزة، يمكنك التفاعل مع تحميل التخزين عبر أوامر نظام الملفات.
غير إلى المجلد nginx /var/log/nginx .
عد إلى المستعرض وانتقل إلى موقع الويب وقم بتحديث الصفحة عدة مرات.
تنشئ الطلبات المقدمة إلى موقع الويب سلسلة من إدخالات دفق السجل.
ارجع إلى المحطة الطرفية الخاصة بك واسرد قيم
/var/log/nginx
المجلد.لاحظ كيفية ظهور ملفات access.log وملفات error.log في هذا المجلد. تتم كتابة هذه الملفات إلى تحميل ملفات Azure في مشاركة تخزين Azure التي تم إنشاؤها في الخطوات السابقة.
عرض محتويات ملف access.log .
اخرج من shell التفاعلي للحاوية للعودة إلى جلسة المحطة الطرفية المحلية.
الآن، يمكنك عرض الملفات في مدخل Microsoft Azure للتحقق من وجودها في حساب Azure Storage الخاص بك. اطبع اسم حساب التخزين الذي تم إنشاؤه عشوائيا.
انتقل إلى مدخل Microsoft Azure وافتح حساب التخزين الذي تم إنشاؤه في هذا الإجراء.
ضمن Data Storage ، حدد File shares.
حدد myshare لعرض ملفات access.log وملفات error.log .
تنظيف الموارد
إذا كنت لن تستمر في استخدام هذا التطبيق، فقم بتشغيل الأمر التالي لحذف مجموعة الموارد مع جميع الموارد التي تم إنشاؤها في هذه المقالة.