تمكين تكرار التخزين متعدد المناطق في Azure Container Storage Preview

يمكنك تحسين توفر التطبيق ذي الحالة باستخدام تجمعات التخزين متعددة المناطق وأقراص التخزين المكررة للمنطقة (ZRS) عند استخدام Azure Container Storage في مجموعة Azure Kubernetes Service (AKS) متعددة المناطق. لإنشاء نظام مجموعة AKS يستخدم مناطق التوفر، راجع استخدام مناطق التوفر في Azure Kubernetes Service.

المتطلبات الأساسية

  • تتطلب هذه المقالة الإصدار 2.0.64 أو إصدارًا أحدث من واجهة سطر الأوامر من Azure. راجع كيفية تثبيت Azure CLI. إذا كنت تستخدم Azure Cloud Shell، فإن أحدث إصدار مثبت بالفعل. إذا كنت تخطط لتشغيل الأوامر محليا بدلا من Azure Cloud Shell، فتأكد من تشغيلها بامتيازات إدارية.
  • ستحتاج إلى نظام مجموعة AKS مع تجمع عقدة من ثلاثة أجهزة ظاهرية على الأقل (VMs) لعقد نظام المجموعة، كل منها مع ما لا يقل عن أربع وحدات معالجة مركزية ظاهرية (vCPUs).
  • تفترض هذه المقالة أنك قمت بالفعل بتثبيت Azure Container Storage على نظام مجموعة AKS.
  • ستحتاج إلى عميل سطر أوامر Kubernetes، kubectl. يتم تثبيته بالفعل إذا كنت تستخدم Azure Cloud Shell، أو يمكنك تثبيته محليا عن طريق تشغيل az aks install-cli الأمر .

إنشاء تجمع تخزين متعدد المناطق

في تعريف تجمع التخزين الخاص بك، يمكنك تحديد المناطق التي تريد توزيع سعة التخزين عبرها. سيتم توزيع إجمالي سعة تجمع التخزين بالتساوي عبر عدد المناطق المحددة. على سبيل المثال، إذا تم تحديد منطقتين، تحصل كل منطقة على نصف سعة تجمع التخزين؛ إذا تم تحديد ثلاث مناطق، تحصل كل منطقة على ثلث السعة الإجمالية. سيتم توفير التخزين المقابل في كل منطقة من المناطق. هذا مفيد عند تشغيل أحمال العمل التي توفر النسخ المتماثل على مستوى التطبيق مثل Cassandra.

إذا لم تكن هناك عقد متوفرة في منطقة محددة، فسيتم توفير السعة بمجرد توفر عقدة في تلك المنطقة. يمكن إنشاء وحدات التخزين الثابتة (PVs) فقط من سعة تجمع التخزين من منطقة واحدة.

القيم الصالحة ل zones هي:

  • [""]
  • ["1"]
  • ["2"]
  • ["3"]
  • ["1", "2"]
  • ["1", "3"]
  • ["2", "3"]
  • ["1", "2", "3"]

اتبع هذه الخطوات لإنشاء تجمع تخزين متعدد المناطق يستخدم أقراص Azure. بالنسبة إلى zones، اختر قيمة صالحة.

  1. استخدم محرر النص المفضل لديك لإنشاء ملف بيان YAML مثل code acstor-multizone-storagepool.yaml.

  2. الصق التعليمات البرمجية التالية واحفظ الملف. يمكن أن تكون قيمة اسم تجمع التخزين ما تريد. للتخزين، حدد مقدار سعة التخزين للتجمع في Gi أو Ti.

    apiVersion: containerstorage.azure.com/v1beta1
    kind: StoragePool
    metadata:
      name: azuredisk
      namespace: acstor
    spec:
      zones: ["1", "2", "3"]
      poolType:
        azureDisk: {}
      resources:
        requests:
          storage: 1Ti
    
  3. تطبيق ملف بيان YAML لإنشاء تجمع تخزين متعدد المناطق.

    kubectl apply -f acstor-multizone-storagepool.yaml 
    

استخدام أقراص التخزين المتكررة في المنطقة (ZRS)

إذا كان حمل العمل يتطلب تكرار التخزين، يمكنك الاستفادة من الأقراص التي تستخدم التخزين المتكرر في المنطقة، والذي ينسخ بياناتك بشكل متزامن عبر ثلاث مناطق توفر Azure في المنطقة الأساسية.

يمكنك تحديد القرص skuName إما أو StandardSSD_ZRS Premium_ZRS في تعريف تجمع التخزين الخاص بك، كما في المثال التالي.

apiVersion: containerstorage.azure.com/v1beta1
kind: StoragePool
metadata:
  name: azuredisk
  namespace: acstor
spec:
  poolType:
    azureDisk:
      skuName: Premium_ZRS
  resources:
    requests:
      storage: 1Ti

(راجع أيضًا )