تمكين تكرار المنطقة في سجل حاويات Azure للمرونة وقابلية وصول عالية

بالإضافة إلى النسخ المتماثل الجغرافي، الذي ينسخ بيانات السجل عبر منطقة من مناطق Azure أو أكثر من منطقة لتوفير التوفر وتقليل زمن الانتقال للعمليات الإقليمية، يدعم Azure Container Registry تكرار المنطقة الاختياري. يوفر تكرار المنطقة توفر ومرونة عالية إلى السجل أو النسخ المتماثل المورد (نسخة متماثلة) في منطقة معينة.

توضح هذه المقالة كيفية إعداد سجل حاوية منطقة مُكررة أو نسخة متماثلة باستخدام قالب Azure CLI أو مدخل Microsoft Azure أو Azure Resource Manager.

تكرار المنطقة هي ميزة ضمن مستوى خدمة سجل حاويات مميز. للحصول على معلومات حول مستويات وحدود خدمة السجل، راجع مستويات خدمة Azure Container Registry.

الدعم الإقليمي

  • يتم دعم مناطق توفر ACR في المناطق التالية:

    الأمريكتان أوروبا أفريقيا آسيا الباسيفيك
    جنوب البرازيل
    كندا الوسطى
    وسط الولايات المتحدة
    شرق الولايات المتحدة
    East US 2
    شرق الولايات المتحدة 2 EUAP
    جنوب وسط الولايات المتحدة
    ولاية فرجينيا الأمريكية
    منطقة غرب الولايات المتحدة الأمريكية 2
    غرب الولايات المتحدة 3
    فرنسا الوسطى
    وسط غرب ألمانيا
    شمال أوروبا
    شرق النرويج
    منطقة السويد الوسطى
    شمال سويسرا
    جنوب المملكة المتحدة
    غرب أوروبا
    شمال جنوب أفريقيا
    شرق أستراليا
    وسط الهند
    منطقة شمال الصين 3
    شرق آسيا
    شرق اليابان
    وسط كوريا
    قطر الوسطى
    جنوب شرق آسيا
    شمال الإمارات العربية المتحدة
  • لا يتم حالياً دعم تحويلات المنطقة إلى مناطق التوفر.

  • لتمكين دعم منطقة التوفر في منطقة ما، قم بإنشاء السجل في المنطقة المطلوبة مع تمكين دعم منطقة التوفر، أو إضافة منطقة منسوخة نسخا متماثلا مع تمكين دعم منطقة التوفر.

  • ينشئ سجل يحتوي على طابع ممكن من AZ نسخة مماثلة للمنطقة الرئيسية باستخدام طابع ممكن بواسطة AZ بشكل افتراضي. لا يمكن تعطيل طابع AZ بمجرد تمكينه.

  • تمثل النسخة المماثلة للمنطقة الرئيسية سجل المنطقة الرئيسية. تساعد على عرض خصائص منطقة التوفر وإدارتها ولا يمكن حذفها.

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

  • لا يمكن تعطيل تكرار المنطقة في المنطقة.

  • مهام ACR لا تدعم مناطق التوفر حتى الآن.

حول تكرار المنطقة

استخدم مناطق توفر Azure لإنشاء سجل حاويات Azure مرن وعالي التوفر داخل منطقة Azure. على سبيل المثال، يمكن للمؤسسات إعداد سجل حاويات Azure مكرر للمنطقة مع موارد Azure المدعومة الأخرى لتلبية متطلبات موقع البيانات أو متطلبات التوافق الأخرى، مع توفير توفر عالي داخل المنطقة.

يدعم Azure Container Registry أيضاَ النسخ المتماثل الجغرافي، الذي يُكرر الخدمة عبر مناطق متعددة، ما يتيح التكرار والأماكن لحساب الموارد في مواقع أخرى. إن الجمع بين مناطق التوفر للتكرار داخل المنطقة والنسخ الجغرافي المتماثل عبر مناطق متعددة يعزز موثوقية السجل وأدائه.

مناطق قابلية الوصول هي مواقع فعلية فريدة داخل منطقة Azure. لضمان المرونة، هناك ما لا يقل عن ثلاث مناطق منفصلة في جميع المناطق المُمكّنة. تحتوي كل منطقة على مركز بيانات واحد أو أكثر من مركز مزوداً بالطاقة المستقلة والتبريد والشبكات. عند تكوينها من أجل تكرار المنطقة، يُنسخ التسجيل (أو نسخة متماثلة من السجل في منطقة مختلفة) عبر كافة مناطق التوفر في المنطقة، ما يجعله متوفراً إذا حدثت حالات فشل في مركز البيانات.

إنشاء سجل منطقة المكررة - CLI

لاستخدام Azure CLI لتمكين تكرار المنطقة، تحتاج Azure CLI الإصدار 2.17.0 أو إصدار أحدث أو Azure Cloud Shell. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع ⁧⁩تثبيت Azure CLI⁧⁩.

قم بإنشاء مجموعة موارد

إذا لزم الأمر، شغّل أمر az group create لإنشاء مجموعة موارد للسجل.

az group create --name <resource-group-name> --location <location>

إنشاء سجل مُمكن للمنطقة

شغّل الأمر az acr create لإنشاء سجل منطقة مُكررة في مستوى الخدمة المميز. اختر منطقة تدعم مناطق التوفر لـ Azure Container Registry. في المثال التالي، يتم تمكين تكرار المنطقة في منطقة eastus. راجع تعليمات الأمر az acr create للحصول على مزيد من خيارات السجل.

az acr create \
  --resource-group <resource-group-name> \
  --name <container-registry-name> \
  --location eastus \
  --zone-redundancy enabled \
  --sku Premium

في ناتج الأمر لاحظ الخاصية zoneRedundancy للسجل. عند التمكين، يُصبح السجل هو منطقة مكررة:

{
 [...]
"zoneRedundancy": "Enabled",
}

إنشاء النسخ المتماثل لمنطقة مُكررة

شغّل الأمر az acr replication create لإنشاء نسخة متماثلة لسجل منطقة مكررة في منطقة تدعم مناطق التوفر لـ Azure Container Registry، مثل westus2.

az acr replication create \
  --location westus2 \
  --resource-group <resource-group-name> \
  --registry <container-registry-name> \
  --zone-redundancy enabled

في ناتج الأمر لاحظ الخاصية zoneRedundancy للنسخة المتماثلة. عند التمكين، تُصبح النسخة المتماثلة منطقة مكررة:

{
 [...]
"zoneRedundancy": "Enabled",
}

إنشاء سجل منطقة مكررة - portal

  1. تسجيل الدخول إلى ⁧⁩مدخل Microsoft Azure⁧⁩.

  2. حدد Create a resource>Containers>Container Registry.

  3. في علامة التبويب Basics، حدد أو أنشئ مجموعة موارد، وأدخل اسم سجل فريد.

  4. في Location، حدد منطقة تدعم تكرار المنطقة لـ Azure Container Registry، مثل East US.

  5. في SKU، حدد Premium.

  6. في Availability zones، حدد Enabled.

  7. اختياريا، قم بتكوين المزيد من إعدادات التسجيل، ثم حدد Review + create.

  8. حدد Create لنشر مثيل السجل.

    تمكين تكرار المنطقة في مدخل Microsoft Azure

لإنشاء نسخ متماثل لمنطقة مكرر:

  1. انتقل إلى سجل حاوية مستوى مميز، وحدد Replications.

  2. على الخريطة التي تظهر، حدد سداسي أخضر في منطقة تدعم تكرار المنطقة لـ Azure Container Registry، مثل West US 2. أو حدد + Add.

  3. في نافذة Create replication، أكد Location. في Availability zones، حدد Enabled، ثم حدد Create.

    تمكين النسخ المتماثل لمنطقة مُكررة في مدخل Microsoft Azure

إنشاء سجل منطقة مكررة - قالب

قم بإنشاء مجموعة موارد

إذا لزم الأمر، شغّل الأمر az group create لإنشاء مجموعة موارد للسجل في منطقة تدعم مناطق التوفر لـ Azure Container Registry، مثل eastus. يستخدم القالب هذه المنطقة لتعيين موقع السجل.

az group create --name <resource-group-name> --location eastus

نشر القالب

يمكنك استخدام قالب Azure Resource Manager التالي لإنشاء سج، نسخا جغرافيا. القالب بشكل افتراضي تمكين التكرار المنطقة في التسجيل ونسخة متماثلة إقليمية.

نسخ المحتويات التالية إلى ملف جديد وحفظه باستخدام اسم ملف مثل registryZone.json.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "acrName": {
        "type": "string",
        "defaultValue": "[concat('acr', uniqueString(resourceGroup().id))]",
        "minLength": 5,
        "maxLength": 50,
        "metadata": {
          "description": "Globally unique name of your Azure Container Registry"
        }
      },
      "location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
          "description": "Location for registry home replica."
        }
      },
      "acrSku": {
        "type": "string",
        "defaultValue": "Premium",
        "allowedValues": [
          "Premium"
        ],
        "metadata": {
          "description": "Tier of your Azure Container Registry. Geo-replication and zone redundancy require Premium SKU."
        }
      },
      "acrZoneRedundancy": {
        "type": "string",
        "defaultValue": "Enabled",
        "metadata": {
          "description": "Enable zone redundancy of registry's home replica. Requires registry location to support availability zones."
        }
      },
      "acrReplicaLocation": {
        "type": "string",
        "metadata": {
          "description": "Short name for registry replica location."
        }
      },
      "acrReplicaZoneRedundancy": {
        "type": "string",
        "defaultValue": "Enabled",
        "metadata": {
          "description": "Enable zone redundancy of registry replica. Requires replica location to support availability zones."
        }
      }
    },
    "resources": [
      {
        "comments": "Container registry for storing docker images",
        "type": "Microsoft.ContainerRegistry/registries",
        "apiVersion": "2020-11-01",
        "name": "[parameters('acrName')]",
        "location": "[parameters('location')]",
        "sku": {
          "name": "[parameters('acrSku')]",
          "tier": "[parameters('acrSku')]"
        },
        "tags": {
          "displayName": "Container Registry",
          "container.registry": "[parameters('acrName')]"
        },
        "properties": {
          "adminUserEnabled": "[parameters('acrAdminUserEnabled')]",
          "zoneRedundancy": "[parameters('acrZoneRedundancy')]"
        }
      },
      {
        "type": "Microsoft.ContainerRegistry/registries/replications",
        "apiVersion": "2020-11-01",
        "name": "[concat(parameters('acrName'), '/', parameters('acrReplicaLocation'))]",
        "location": "[parameters('acrReplicaLocation')]",
          "dependsOn": [
          "[resourceId('Microsoft.ContainerRegistry/registries/', parameters('acrName'))]"
        ],
        "properties": {
          "zoneRedundancy": "[parameters('acrReplicaZoneRedundancy')]"
        }
      }
    ],
    "outputs": {
      "acrLoginServer": {
        "value": "[reference(resourceId('Microsoft.ContainerRegistry/registries',parameters('acrName')),'2019-12-01').loginServer]",
        "type": "string"
      }
    }
  }

شغّل أمر az deployment group create التالي لإنشاء السجل باستخدام ملف القالب السابق. حيثما أشير إلى ذلك، قدم ما يلي:

  • اسم سجل فريد، أو نشر القالب بدون معلمات، وسوف يقوم بإنشاء اسم فريد لك
  • موقع للنسخة المتماثلة التي تدعم مناطق التوفر، مثل westus2
az deployment group create \
  --resource-group <resource-group-name> \
  --template-file registryZone.json \
  --parameters acrName=<registry-name> acrReplicaLocation=<replica-location>

في إخراج الأمر لاحظ zoneRedundancy الخاصية التسجيل والنسخة المتماثلة. عند تمكين كل مورد هو المنطقة الزائدة:

{
 [...]
"zoneRedundancy": "Enabled",
}

الخطوات التالية