مشاركة عبر


قم بتشغيل مهمة ACR على تجمع وكيل مخصص

قم بإعداد تجمع VM المُدار من Azure (مجموعة الوكيل) لتمكين تشغيل مهام Azure Container Registry في بيئة حوسبة مخصصة. بعد تكوين مجموعة أو أكثر من مجموعات التخزين في السجل؛ يمكنك اختيار مجموعة لتشغيل مهمة بدلاً من بيئة الحوسبة الافتراضية للخدمة.

يوفر تجمع الوكلاء:

  • Virtual network support - قم بتعيين تجمع وكيل لـ Azure VNet، ما يوفر الوصول إلى الموارد في VNet مثل سجل الحاوية أو مخزن المفاتيح أو التخزين.
  • Scale as needed - قم بزيادة عدد المثيلات في مجموعة الوكلاء للمهام التي تتطلب حساباً مكثفاً، أو القياس إلى الصفر. تستند الفواتير على تخصيص المجمع. للحصول على التفاصيل؛ راجع التسعير.
  • Flexible options - اختر من بين pool tiers وخيارات النطاق لتلبية احتياجات حمولات العمل الخاصة بالمهمة.
  • إدارة Azure - يتم تصحيح تجمعات المهام وصيانتها بواسطة Azure، ما يوفر تخصيصاً محجوزاً دون الحاجة إلى صيانة الأجهزة الظاهرية الفردية.

تتوفر هذه الميزة في مستوى خدمة تسجيل الحاويات المميزة. للحصول على معلومات حول طبقات خدمة التسجيل وحدودها؛ راجع وحدات SKU لسجل حاوية Azure.

هام

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

قيود المعاينة

  • تدعم تجمعات وكلاء المهام حالياً عقد Linux. عقد Windows غير مدعومة حالياً.
  • تتوفر مجموعات وكلاء المهام في المعاينة في المناطق التالية: غرب الولايات المتحدة 2 وجنوب وسط الولايات المتحدة وشرق الولايات المتحدة 2 وشرق الولايات المتحدة ووسط الولايات المتحدة وغرب أوروبا وشمال أوروبا وكندا الوسطى وشرق آسيا وسويسرا الشمالية و USGov أريزونا و USGov تكساس و USGov فيرجينيا.
  • لكل سجل، الحصة الإجمالية الافتراضية لوحدة المعالجة المركزية الافتراضية (الأساسية) هي 16 لجميع مجموعات الوكلاء القياسية وهي صفر لمجموعات الوكلاء المعزولة. افتح support request لتخصيص إضافي.

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

  • لاستخدام خطوات Azure CLI في هذه المقالة؛ مطلوب إصدار Azure CLI 2.3.1 أو إصدار أحدث. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI. أو شغّله في Azure Cloud Shell.
  • إذا لم يكن لديك سجل حاوية بالفعل؛ فأنشئ واحداً (المستوى المميز مطلوب) في منطقة المعاينة.

طبقات البركة

توفر طبقات تجمع الوكلاء الموارد التالية لكل مثيل في التجمع.

المستوي نوع وحده المعالجه المركزيه تخزين (GB)
S1 قياسي 2 3
S2 قياسي 4 8
S3 قياسي 8 16
I6 معزولة 64 216

إنشاء وإدارة مجموعة وكلاء المهام

تعيين التسجيل الافتراضي (اختياري)

لتبسيط أوامر Azure CLI التالية؛ قم بتعيين السجل الافتراضي عن طريق تشغيل الأمر az config :

az config set defaults.acr=<registryName>

تفترض الأمثلة التالية أنك قمت بتعيين السجل الافتراضي. إذا لم يكن الأمر كذلك؛ فمرر معلمة --registry <registryName> parameter in each az acr.

إنشاء تجمع الوكلاء

قم بإنشاء تجمع وكيل باستخدام الأمر az acr agentpool create. يقوم المثال التالي بإنشاء تجمع فئة S2 (4 وحدة معالجة مركزية / مثيل). بشكل افتراضي؛ يحتوي التجمع على مثيل واحد.

az acr agentpool create \
    --registry MyRegistry \
    --name myagentpool \
    --tier S2

ملاحظة

يستغرق إنشاء تجمع الوكلاء وعمليات إدارة التجمع الأخرى عدة دقائق حتى يكتمل.

تجمع مقياس

قم بزيادة حجم التجمع لأعلى أو لأسفل باستخدام الأمر az acr agentpool update. المثال التالي يقيس التجمع إلى مثيلين. يمكنك التحجيم إلى 0 حالة.

az acr agentpool update \
    --registry MyRegistry \
    --name myagentpool \
    --count 2

إنشاء تجمع في شبكة افتراضية

إضافة قواعد جدار الحماية

تتطلب تجمعات وكلاء المهام الوصول إلى خدمات Azure التالية. يجب إضافة قواعد جدار الحماية التالية إلى أي مجموعات أمان شبكة موجودة أو مسارات معرّفة من قِبل المُستخدِم.

الاتجاه البروتوكول المصدر منفذ المصدر الوجهة ميناء الوجهة مستخدم الملاحظات
صادر TCP الشبكة الظاهرية أي AzureKeyVault 443 افتراضي
صادر TCP الشبكة الظاهرية أي التخزين 443 افتراضي
صادر TCP الشبكة الظاهرية أي EventHub 443 افتراضي
صادر TCP الشبكة الظاهرية أي دليل AzureActive 443 افتراضي
صادر TCP الشبكة الظاهرية أي AzureMonitor 443,12000 افتراضي المنفذ 12000 هو منفذ فريد يستخدم للتشخيص

ملاحظة

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

يمكن للعملاء الذين يسندون عمليات النشر الخاصة بهم باستخدام MCR الرجوع إلى قواعد جدار الحماية MCR/MAR.

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

إذا اعتبرت قواعد جدار الحماية/NSG القياسية (مجموعة أمان الشبكة) متساهلة للغاية، وكان هناك حاجة إلى مزيد من التحكم الدقيق للاتصالات الصادرة، ففكر في النهج التالي:

  • تمكين نقاط نهاية الخدمة على الشبكة الفرعية لتجمع العامل. وهذا يمنح تجمع العامل حق الوصول إلى تبعيات الخدمة الخاصة به مع الحفاظ على وضع شبكة آمن.
  • من المهم ملاحظة أن قواعد جدار الحماية/NSG الصادرة لا تزال ضرورية. تسهل هذه القواعد قدرة الشبكة الظاهرية على تبديل IP المصدر من عام إلى خاص، وهو خطوة إضافية تتجاوز تمكين نقاط نهاية الخدمة.

يتم توثيق مزيد من المعلومات حول نقاط نهاية الخدمة هنا.

كحد أدنى، ستكون نقاط نهاية الخدمة التالية مطلوبة

  • Microsoft.AzureActiveDirectory
  • Microsoft.ContainerRegistry (فقط إذا كان السجل لا يستخدم ارتباطا خاصا)
  • Microsoft.EventHub
  • Microsoft.KeyVault
  • Microsoft.Storage (أو مناطق التخزين المقابلة مع أخذ النسخ المتماثل الجغرافي في الاعتبار)

ملاحظة

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

أيضا، من المهم ملاحظة أن جميع مهام ACR تحتوي على صور مخزنة مؤقتا مسبقا لبعض حالات الاستخدام الأكثر شيوعا. ستقوم المهام بتخزين إصدار واحد مؤقتا فقط في كل مرة، ما يعني أنه إذا تم استخدام مرجع الصورة الكامل الذي تم وضع علامة عليه، فسيحاول عامل البناء سحب الصورة. على سبيل المثال، حالة الاستخدام الشائعة هي cmd: mcr.microsoft.com/acr/acr-cli:<tag>. ومع ذلك، يتم تحديث الإصدار المخزن مؤقتا مسبقا بشكل متكرر، مما يعني أن الإصدار الفعلي على الجهاز سيكون أعلى على الأرجح. في هذه الحالة، يجب أن يكون تكوين الشبكة مسارا لنسبة استخدام الشبكة الصادرة إلى مضيف التسجيل الهدف الذي سيكون في المثال أعلاه mcr.microsoft.com. وتنطبق نفس القواعد على أي سجل عام خارجي آخر (docker.io quay.io ghcr.io وما إلى ذلك).

استخدام DNS المخصص

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

هام

يجب ألا يتعارض نطاق IP المستخدم بواسطة نقطة نهاية DNS المخصصة مع النطاق الافتراضي ل docker 172.17.0.0/16

إنشاء تجمع في VNet

يُنشئ المثال التالي مجموعة وكلاء في الشبكة الفرعية mysubnet للشبكة myvnet:

# Get the subnet ID
subnetId=$(az network vnet subnet show \
        --resource-group myresourcegroup \
        --vnet-name myvnet \
        --name mysubnetname \
        --query id --output tsv)

az acr agentpool create \
    --registry MyRegistry \
    --name myagentpool \
    --tier S2 \
    --subnet-id $subnetId

قم بتشغيل المهمة في تجمع الوكيل

توضح الأمثلة التالية كيفية تحديد تجمع وكيل عند وضع مهمة في قائمة انتظار.

ملاحظة

لاستخدام تجمع وكيل في مهمة ACR؛ تأكد من أن التجمع يحتوي على مثيل واحد على الأقل.

مهمة سريعة

ضع مهمة سريعة في قائمة انتظار في تجمع الوكلاء باستخدام الأمر az acr build وتمرير المعلمة --agent-pool :

az acr build \
    --registry MyRegistry \
    --agent-pool myagentpool \
    --image myimage:mytag \
    --file Dockerfile \
    https://github.com/Azure-Samples/acr-build-helloworld-node.git#main

تم تشغيل المهمة تلقائياً

على سبيل المثال، قم بإنشاء مهمة مجدولة في تجمع الوكلاء باستخدام مهمة az acr create، وتمرير المعلمة --agent-pool.

az acr task create \
    --registry MyRegistry \
    --name mytask \
    --agent-pool myagentpool \
    --image myimage:mytag \
    --schedule "0 21 * * *" \
    --file Dockerfile \
    --context https://github.com/Azure-Samples/acr-build-helloworld-node.git#main \
    --commit-trigger-enabled false

للتحقق من إعداد المهمة؛ قم بتشغيل مهمة az acr run:

az acr task run \
    --registry MyRegistry \
    --name mytask

حالة تجمع الاستعلام

للعثور على عدد عمليات التشغيل المجدولة حالياً في تجمع الوكلاء؛ قم بتشغيل عرض وكيل az acr.

az acr agentpool show \
    --registry MyRegistry \
    --name myagentpool \
    --queue-count

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

لمزيدٍ من الأمثلة على عمليات إنشاء صور الحاوية وصيانتها في السحاب؛ راجع سلسلة البرامج التعليمية لمهام ACR.