إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يقدم هذا البرنامج التعليمي Azure Container Storage ويوضح كيفية نشر وإدارة التخزين الأصلي للحاوية للتطبيقات التي تعمل على خدمة Azure Kubernetes (AKS). إذا كنت لا تريد نشر Azure Container Storage الآن، يمكنك تخطي هذا البرنامج التعليمي والمتابعة مباشرة إلى نشر تطبيق في AKS. لن تحتاج إلى Azure Container Storage لتطبيق واجهة المتجر الأساسي في هذه السلسلة التعليمية.
هام
توضح هذه المقالة كيفية تثبيت Azure Container Storage (الإصدار 1.x.x)، والذي يتطلب الآن بشكل صريح معلمة --container-storage-version 1 تثبيت إصدار للتثبيت. Azure Container Storage (الإصدار 2.x.x) متاح الآن.
يبسط Azure Container Storage إدارة التطبيقات ذات الحالة في Kubernetes من خلال تقديم تخزين أصلي للحاويات مصمم لمجموعة متنوعة من أحمال العمل، بما في ذلك قواعد البيانات ومنصات التحليلات والتطبيقات عالية الأداء.
بنهاية هذا البرنامج التعليمي، سوف:
- فهم كيفية دعم Azure Container Storage لأحمال العمل المتنوعة في Kubernetes.
- استكشف خيارات خلفية تخزين متعددة لتخصيص التخزين وفقا لاحتياجات التطبيق الخاص بك.
- انشر Azure Container Storage (الإصدار 1.x.x) على نظام مجموعة AKS الخاص بك وقم بإنشاء وحدة تخزين سريعة الزوال عامة.
قبل البدء
في البرامج التعليمية السابقة، قمت بإنشاء صورة حاوية، وتحميلها إلى مثيل ACR، وإنشاء نظام مجموعة AKS. ابدأ البرنامج التعليمي 1 - إعداد التطبيق AKS للمتابعة.
- يتطلب هذا البرنامج التعليمي استخدام الإصدار 2.35.0 من Azure CLI أو أحدث. المدخل وPowerShell غير مدعومين حاليا ل Azure Container Storage. تحقق من الإصدار الخاص بك باستخدام
az --version. للتثبيت أو الترقية، يُرجى الرجوع إلى تثبيت Azure CLI. إذا كنت تستخدم بيئة Bash في Azure Cloud Shell، فإن أحدث إصدار مثبت بالفعل. - يجب أن يكون لديك نظام مجموعة AKS قائم على Linux مع ما لا يقل عن 3 عقد مع وحدات SKU المحسنة للأجهزة الظاهرية التخزين أو وحدات SKU المسرعة للجهاز الظاهري. راجع البرنامج التعليمي 3 - إنشاء نظام مجموعة AKS.
- ستحتاج إلى عميل سطر أوامر Kubernetes،
kubectl. يتم تثبيته بالفعل إذا كنت تستخدم Azure Cloud Shell، أو يمكنك تثبيته محليا عن طريق تشغيلaz aks install-cliالأمر .
تثبيت ملحق Kubernetes
أضف أو قم بالترقية إلى أحدث إصدار من k8s-extension عن طريق تشغيل الأمر التالي.
az extension add --upgrade --name k8s-extension
الاتصال بالمجموعة والتحقق من حالة العقدة
إذا لم تكن متصلا بالفعل بالمجموعة الخاصة بك من البرنامج التعليمي السابق، فقم بتشغيل الأوامر التالية. إذا كنت متصلا بالفعل، يمكنك تخطي هذا القسم.
قم بتشغيل الأمر التالي للاتصال بالمجموعة.
az aks get-credentials --resource-group myResourceGroup --name myAKSClusterتحقق من الاتصال بالمجموعة باستخدام
kubectl getالأمر . يعمل هذا الأمر على استرجاع قائمة نظام المجموعة العنقودية.kubectl get nodesيوضح مثال الإخراج التالي العقد في نظام المجموعة الخاص بك. تأكد من أن حالة جميع العقد تظهر Ready:
NAME STATUS ROLES AGE VERSION aks-nodepool1-34832848-vmss000000 Ready agent 80m v1.30.9 aks-nodepool1-34832848-vmss000001 Ready agent 80m v1.30.9 aks-nodepool1-34832848-vmss000002 Ready agent 80m v1.30.9
اختيار خيار تخزين دعم
يستخدم Azure Container Storage (الإصدار 1.x.x) تجمعات التخزين لتوفير وحدات التخزين الثابتة والعامة وإدارتها. يوفر مجموعة متنوعة من خيارات التخزين الخلفية لتجمعات التخزين الخاصة بك، كل منها مناسب لأحمال عمل محددة. يعد تحديد نوع التخزين الصحيح أمرا بالغ الأهمية لتحسين أداء حمل العمل والمتانة وكفاءة التكلفة. في هذا البرنامج التعليمي، سنستخدم القرص المؤقت مع NVMe المحلي كمخزن احتياطي لإنشاء وحدة تخزين عامة سريعة الزوال. ومع ذلك، سنستكشف أيضا خيارات التخزين المدعومة الأخرى التي تسمح لك بإنشاء وحدات تخزين ثابتة.
قرص سريع الزوال
يستخدم القرص المؤقت موارد التخزين المحلية على عقد AKS (إما NVMe المحلي أو SSD المؤقت). يوفر زمن انتقال منخفضا دون مللي ثانية و IOPS مرتفعا، ولكن لا يوجد استمرار للبيانات إذا تم إعادة تشغيل الجهاز الظاهري. يعد القرص المؤقت هو الأنسب لتطبيقات مثل Cassandra التي تعطي الأولوية للسرعة على الاستمرار، وهي مثالية لأحمال العمل مع النسخ المتماثل على مستوى التطبيق الخاص بها.
يمكنك استخدام القرص المؤقت لإنشاء وحدات تخزين عامة سريعة الزوال أو وحدات تخزين ثابتة، على الرغم من فقدان البيانات في حالة إعادة تشغيل الجهاز الظاهري.
أقراص Azure
مثالي لقواعد البيانات مثل PostgreSQL وMongoDB، توفر أقراص Azure المتانة وقابلية التوسع وخيارات الأداء متعددة المستويات، بما في ذلك Premium SSD و Ultra SSD.
تسمح أقراص Azure بالتزويد التلقائي لوحدات التخزين وتتضمن التكرار المضمن والتوافر العالي.
Azure Elastic SAN (معاينة)
تم تصميم Azure Elastic SAN لتلبية احتياجات التخزين المشتركة وقواعد البيانات ذات الأغراض العامة التي تتطلب قابلية التوسع وقابلية الوصول العالية، وهي مناسبة تماما لأحمال العمل مثل البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD أو معالجة البيانات على نطاق واسع.
تمكين Azure Container Storage (الإصدار 1.x.x) وإنشاء تجمع تخزين
قم بتشغيل الأمر التالي لتثبيت Azure Container Storage على نظام المجموعة وإنشاء تجمع تخزين NVMe محلي.
az aks update -n myAKSCluster -g myResourceGroup --enable-azure-container-storage ephemeralDisk --container-storage-version 1 --storage-pool-option NVMe
يجب أن يستغرق النشر أقل من 15 دقيقة.
التحقق من حالة تجمع التخزين
عند اكتمال النشر، سيتم تمكين مكونات نوع تجمع التخزين الذي اخترته، وسيكون لديك تجمع تخزين افتراضي.
للحصول على قائمة تجمعات التخزين المتوفرة، قم بتشغيل الأمر التالي:
kubectl get sp -n acstor
للتحقق من حالة تجمع تخزين، قم بتشغيل الأمر التالي:
kubectl describe sp <storage-pool-name> -n acstor
Message إذا لم يذكر StoragePool is ready، فإن تجمع التخزين الخاص بك لا يزال ينشئ أو واجه مشكلة.
عرض فئات التخزين المتوفرة
عندما يكون تجمع التخزين جاهزا للاستخدام، يجب تحديد فئة تخزين لتحديد كيفية إنشاء التخزين ديناميكيا عند إنشاء وحدات التخزين ونشرها.
قم بتشغيل kubectl get sc لعرض فئات التخزين المتوفرة. يجب أن تشاهد فئة تخزين تسمى acstor-<storage-pool-name>. استخدم فئة التخزين هذه في القسم التالي لنشر جراب.
نشر جراب مع وحدة تخزين سريعة الزوال عامة
إنشاء جراب باستخدام Fio (اختبار الإدخال/الإخراج المرن) لقياس الأداء ومحاكاة حمل العمل، الذي يستخدم وحدة تخزين سريعة الزوال عامة.
استخدم محرر النص المفضل لديك لإنشاء ملف بيان YAML مثل
code acstor-pod.yaml.الصق التعليمات البرمجية التالية واحفظ الملف.
kind: Pod apiVersion: v1 metadata: name: fiopod spec: nodeSelector: acstor.azure.com/io-engine: acstor containers: - name: fio image: nixery.dev/shell/fio args: - sleep - "1000000" volumeMounts: - mountPath: "/volume" name: ephemeralvolume volumes: - name: ephemeralvolume ephemeral: volumeClaimTemplate: metadata: labels: type: my-ephemeral-volume spec: accessModes: [ "ReadWriteOnce" ] storageClassName: acstor-ephemeraldisk-nvme # replace with the name of your storage class if different resources: requests: storage: 1Giإذا قمت بتغيير حجم تخزين وحدة التخزين، فتأكد من أن الحجم أقل من السعة المتوفرة للقرص المؤقت لعقدة واحدة. قم بتشغيل
kubectl get diskpool -n acstorللتحقق من السعة المتوفرة.تطبيق ملف بيان YAML لنشر الجراب.
kubectl apply -f acstor-pod.yamlيجب أن ترى مخرجات مماثلة لما يلي:
pod/fiopod createdتحقق من أن الحاوية قيد التشغيل وأن مطالبة وحدة التخزين المؤقتة قد تم ربطها بنجاح بالجراب:
kubectl describe pod fiopod kubectl describe pvc fiopod-ephemeralvolume
لقد قمت الآن بنشر جراب يستخدم NVMe المحلي كمخزن له، ويمكنك استخدامه لأحمال عمل Kubernetes الخاصة بك.
تحقق من السعة المتوفرة للأقراص سريعة الزوال قبل توفير وحدات تخزين إضافية:
kubectl describe node <node-name>
لمعرفة المزيد حول Azure Container Storage (الإصدار 1.x.x)، بما في ذلك كيفية إنشاء وحدات تخزين ثابتة، راجع ما هو Azure Container Storage؟
تنظيف الموارد
لن تحتاج إلى Azure Container Storage لبقية هذه السلسلة التعليمية، لذلك نوصي بحذفه الآن لتجنب تكبد رسوم Azure غير الضرورية.
حذف الجراب.
kubectl delete pod fiopodحذف تجمع التخزين.
kubectl delete sp -n acstor <storage-pool-name>حذف مثيل الملحق.
az aks update -n myAKSCluster -g myResourceGroup --disable-azure-container-storage all
الخطوة التالية
في هذا البرنامج التعليمي، قمت بنشر Azure Container Storage (الإصدار 1.x.x) على نظام مجموعة AKS. لقد تعرفت على كيفية:
- قم بتمكين Azure Container Storage (الإصدار 1.x.x) على نظام مجموعة AKS.
- اختر نوع تخزين احتياطيا وأنشئ تجمع تخزين.
- نشر جراب مع وحدة تخزين سريعة الزوال عامة.
في البرنامج التعليمي التالي، ستتعلم كيفية نشر تطبيق إلى نظام المجموعة الخاص بك.
نشر تطبيق في AKS