الموثوقية في مثيلات حاوية Azure

هام

هذه الميزة في وضع المعاينة حاليًا. يتم توفير المعاينات لك بشرط أن توافق على شروط الاستخدام التكميلية.

توضح هذه المقالة دعم الموثوقية في مثيلات حاوية Azure (ACI) وتغطي كلا من المرونة داخل المنطقة مع مناطق التوفر ومعلومات حول التعافي من الكوارث. للحصول على نظرة عامة أكثر تفصيلا على الموثوقية في Azure، راجع موثوقية Azure.

دعم منطقة القابلية للوصول

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

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

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

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

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

هام

هذه الميزة غير متوفرة حاليًا لمدخل Microsoft Azure.

  • يتم دعم عمليات نشر مجموعة الحاوية النطاقية في معظم المناطق التي يتوفر فيها ACI لمجموعات حاويات Linux وWindows Server 2019. للحصول على التفاصيل، راجع المناطق وتوافر الموارد.
  • إذا كنت تستخدم Azure CLI، فتأكد من تثبيت الإصدار 2.30.0 أو إصدار أحدث.
  • إذا كنت تستخدم PowerShell، فتأكد من تثبيت الإصدار 2.1.1-preview أو إصدار أحدث.
  • إذا كنت تستخدم Java SDK، فتأكد من تثبيت الإصدار 2.9.0 أو إصدار أحدث.
  • يتوفر دعم منطقة التوفر فقط في إصدار 09-01-2021 من واجهة برمجة تطبيقات ACI أو إصدار أحدث.

هام

لا تدعم مجموعات الحاويات التي تحتوي على موارد GPU مناطق التوفر في الوقت الحالي.

إعادة توزيع منطقة التوفر وترحيلها

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

إنشاء مورد مع تمكين منطقة التوفر

لإنشاء مورد Container Instance مع تمكين منطقة التوفر، ستحتاج إلى نشر مجموعة حاويات باستخدام قالب Azure Resource Manager (ARM).

إشعار

يتم تنسيق الأمثلة في هذه المقالة لـ Bash shell. إذا كنت تفضل غلافًا آخر، فاضبط أحرف متابعة السطر وفقًا لذلك.

لنشر حاوية باستخدام ARM:

  1. انسخ والصق JSON التالي في ملف جديد يسمى azuredeploy.json. هذا النموذج النموذجي ينشر مجموعة حاويات مع حاوية واحدة في منطقة الإتاحة 1 في شرق الولايات المتحدة.

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "metadata": {
            "_generator": {
                "name": "bicep",
                "version": "0.4.1.14562",
                "templateHash": "12367894147709986470"
            }
        },
        "parameters": {
            "name": {
                "type": "string",
                "defaultValue": "acilinuxpublicipcontainergroup",
                "metadata": {
                    "description": "Name for the container group"
                }
            },
            "image": {
                "type": "string",
                "defaultValue": "mcr.microsoft.com/azuredocs/aci-helloworld",
                "metadata": {
                    "description": "Container image to deploy. Should be of the form repoName/imagename:tag for images stored in public Docker Hub, or a fully qualified URI for other registries. Images from private registries require additional registry credentials."
                }
            },
            "port": {
                "type": "int",
                "defaultValue": 80,
                "metadata": {
                    "description": "Port to open on the container and the public IP address."
                }
            },
            "cpuCores": {
                "type": "int",
                "defaultValue": 1,
                "metadata": {
                    "description": "The number of CPU cores to allocate to the container."
                }
            },
            "memoryInGb": {
                "type": "int",
                "defaultValue": 2,
                "metadata": {
                    "description": "The amount of memory to allocate to the container in gigabytes."
                }
            },
            "restartPolicy": {
                "type": "string",
                "defaultValue": "Always",
                "allowedValues": [
                    "Always",
                    "Never",
                    "OnFailure"
                ],
                "metadata": {
                    "description": "The behavior of Azure runtime if container has stopped."
                }
            },
            "location": {
                "type": "string",
                "defaultValue": "eastus",
                "metadata": {
                    "description": "Location for all resources."
                }
            }
        },
        "functions": [],
        "resources": [
            {
                "type": "Microsoft.ContainerInstance/containerGroups",
                "apiVersion": "2021-09-01",
                "zones": [
                    "1"
                ],
                "name": "[parameters('name')]",
                "location": "[parameters('location')]",
                "properties": {
                    "containers": [
                        {
                            "name": "[parameters('name')]",
                            "properties": {
                                "image": "[parameters('image')]",
                                "ports": [
                                    {
                                        "port": "[parameters('port')]",
                                        "protocol": "TCP"
                                    }
                                ],
                                "resources": {
                                    "requests": {
                                        "cpu": "[parameters('cpuCores')]",
                                        "memoryInGB": "[parameters('memoryInGb')]"
                                    }
                                }
                            }
                        }
                    ],
                    "osType": "Linux",
                    "restartPolicy": "[parameters('restartPolicy')]",
                    "ipAddress": {
                        "type": "Public",
                        "ports": [
                            {
                                "port": "[parameters('port')]",
                                "protocol": "TCP"
                            }
                        ]
                    }
                }
            }
        ],
        "outputs": {
            "containerIPv4Address": {
                "type": "string",
                "value": "[reference(resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name'))).ipAddress.ip]"
            }
        }
    }
    
  2. إنشاء مجموعة موارد باستخدام الأمر [az group create][availability-zones-group-create]:

    az group create --name myResourceGroup --location eastus
    
  3. انشر القالب باستخدام أمر إنشاء مجموعة النشر az:

    az deployment group create \
      --resource-group myResourceGroup \
      --template-file azuredeploy.json
    
  4. للتحقق من مجموعة الحاوية التي تم نشرها بنجاح في منطقة توفر، اعرض تفاصيل مجموعة الحاوية باستخدام الأمر az container show:

    az containershow --name acilinuxcontainergroup --resource-group myResourceGroup
    

دعم تجاوز الفشل النطاقي

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

ومع ذلك، إذا حدث انقطاع في منطقة التوفر لمجموعة الحاوية، يمكنك توقع وقت تعطل لجميع مثيلات الحاوية داخل تلك المجموعة.

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

التعافي من الكوارث

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

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