تقسيم نسبة استخدام الشبكة في Azure Container Apps

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

يعد تقسيم نسبة استخدام الشبكة مفيدا لاختبار التحديثات لتطبيق الحاوية. يمكنك استخدام تقسيم نسبة استخدام الشبكة للمرحلة تدريجيا في مراجعة جديدة في عمليات النشر الزرقاء والأخضر أو في اختبار A/B.

يعتمد تقسيم نسبة استخدام الشبكة على وزن (النسبة المئوية) لنسبة استخدام الشبكة التي يتم توجيهها إلى كل مراجعة. يجب أن يساوي الوزن المشترك لجميع قواعد تقسيم نسبة استخدام الشبكة 100٪. يمكنك تحديد المراجعة حسب اسم المراجعة أو تسمية المراجعة.

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

تكوين تقسيم نسبة استخدام الشبكة

تكوين تقسيم نسبة استخدام الشبكة بين المراجعات باستخدام az containerapp ingress traffic set الأمر . يمكنك تحديد المراجعات حسب الاسم مع المعلمة --revision-weight أو عن طريق تسمية المراجعة مع المعلمة --label-weight .

يعين الأمر التالي وزن نسبة استخدام الشبكة لكل مراجعة إلى 50٪:

az containerapp ingress traffic set \
    --name <APP_NAME> \
    --resource-group <RESOURCE_GROUP> \
    --revision-weight <REVISION_1>=50 <REVISION_2>=50

تأكد من استبدال قيم العنصر النائب محاطة <> بقيمك الخاصة.

يعين هذا الأمر وزن نسبة استخدام الشبكة للمراجعة <LABEL_1> إلى 80٪ LABEL_2 المراجعة <> إلى 20٪:

az containerapp ingress traffic set \
    --name <APP_NAME> \
    --resource-group <RESOURCE_GROUP> \
    --label-weight <LABEL_1>=80 <LABEL_2>=20

  1. انتقل إلى تطبيق الحاوية في مدخل Microsoft Azure.
  2. حدد إدارة المراجعة من القائمة اليمنى.
  3. إذا كان وضع المراجعة مفردا، فقم بتعيين الوضع إلى متعدد.
    1. حدد اختيار وضع المراجعة.
    2. حدد Multiple: عدة مراجعات نشطة في وقت واحد.
    3. حدد تطبيق.
    4. انتظر حتى يتم تحديث وضع المراجعة إلى متعدد. Screenshot of the revision management revision mode setting.
  4. حدد إظهار المراجعات غير النشطة.
  5. إذا لم يكن لديك مراجعات متعددة، يمكنك إنشاء مراجعة جديدة.
    1. حدد إنشاء مراجعة جديدة.
    2. يمكنك استخدام الإعدادات الافتراضية أو تخصيص المراجعة.
    3. أدخل Name/Suffix للمراجعة.
    4. حدد إنشاء. Screenshot of Create and deploy new revision.
    5. انتظر حتى يتم نشر المراجعة.
  6. حدد نشط للمراجعات التي تريد توجيه نسبة استخدام الشبكة إليها.
  7. أدخل النسبة المئوية لنسبة استخدام الشبكة التي تريد توجيهها إلى كل مراجعة في عمود نسبة استخدام الشبكة . يجب أن تساوي النسبة المئوية المجمعة لجميع نسبة استخدام الشبكة 100٪.
  8. حدد حفظ. Screenshot of traffic splitting in Revision management.

تمكين تقسيم نسبة استخدام الشبكة عن طريق إضافة الخصائص configuration.ingress.traffic إلى ingress قسم من قالب تطبيق الحاوية. يمكنك تحديد المراجعات حسب الاسم مع الخاصية revisionName أو عن طريق تسمية المراجعة مع الخاصية label .

يعين المثال التالي 100٪ من نسبة استخدام الشبكة إلى أحدث مراجعة منشورة:

{
  ...
  "configuration": {
    "ingress": {
      "external": true,
      "targetPort": 80,
      "allowInsecure": false,
      "traffic": [
        {
          "latestRevision": true,
          "weight": 100
        }
      ]
    },
  },

يوضح المثال التالي تقسيم نسبة استخدام الشبكة بين مراجعتين بالاسم:

{
  ...
  "configuration": {
    "ingress": {
      "external": true,
      "targetPort": 80,
      "allowInsecure": false,
      "traffic": [
          {
              "revisionName": "my-example-app--5g3ty20",
              "weight": 50
          },
          {
              "revisionName": "my-example-app--qcfkbsv",
              "weight": 50
            }
        ],
    },
  },

يوضح المثال التالي تقسيم نسبة استخدام الشبكة بين مراجعتين حسب التسمية:

{
  ...
  "configuration": {
    "ingress": {
      "external": true,
      "targetPort": 80,
      "allowInsecure": false,
      "traffic": [
          {
              "weight": 50,
              "label": "v-2"
          },
          {
              "weight": 50,
              "label": "v-1"
          }
        ],
    },
  },

حالات الاستخدام

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

التكرار السريع

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

يوجه قالب المثال التالي جميع نسبة استخدام الشبكة إلى أحدث مراجعة منشورة:

"ingress": { 
  "traffic": [
    {
      "latestRevision": true,
      "weight": 100
    }
  ]
}

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

"ingress": { 
  "traffic": [
    {
      "latestRevision": false, // optional
      "revisionName": "myapp--knowngoodrevision",
      "weight": 100
    }
  ]
}

تحديث المراجعة الحالية

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

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

ينقل القالب التالي 20٪ من نسبة استخدام الشبكة إلى المراجعة المحدثة:

"ingress": {
  "traffic": [
    {
      "revisionName": "myapp--knowngoodrevision",
      "weight": 80
    },
    {
      "revisionName": "myapp--newerrevision",
      "weight": 20
    }
  ]
}

الخدمات المصغرة المرحلية

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

يطبق قالب المثال التالي التسميات على مراجعات مختلفة.

"ingress": { 
  "traffic": [
    {
      "revisionName": "myapp--knowngoodrevision",
      "weight": 100
    },
    {
      "revisionName": "myapp--98fdgt",
      "weight": 0,
      "label": "staging"
    }
  ]
}

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