أفضل الممارسات لـ Azure Container Registry

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

للحصول على خلفية حول مفاهيم السجل، راجع حول السجلات والمستودعات والصور. انظر أيضًا التوصيات لوضع علامات وإصدار صور حاوية لوضع استراتيجيات لوضع علامة على الصور وإصدارها في السجل الخاص بك.

نشر إغلاق الشبكة

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

يعتبر نشر إغلاق شبكة الاتصال هو أحد الأسباب الأساسية لاستخدام سجل حاوية خاصة. تحتوي صور Docker على بناء طبقات فعال يسمح بعمليات النشر الإضافية. ومع ذلك، تحتاج العقد الجديدة إلى سحب جميع الطبقات المطلوبة لصورة معينة. يمكن أن تضيف هذه البادئة docker pull بسرعة ما يصل إلى غيغابايت متعددة. يقلل وجود سجل خاص قريب من عملية النشر من زمن انتقال الشبكة. بالإضافة إلى ذلك، فإن جميع السحب العامة، بما في ذلك Azure، تنفذ رسوم خروج الشبكة. يؤدي سحب الصور من أحد مراكز البيانات لآخر إلى إضافة رسوم خروج الشبكة، بالإضافة إلى زمن الانتقال.

عمليات النشر متعددة المناطق التي يتم نسخها جغرافيا

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

يتوافر النسخ المتماثل الجغرافي مع سجلات Premium. لمعرفة كيفية استخدام النسخ المتماثل الجغرافي، راجع البرنامج التعليمي من ثلاثة أجزاء، النسخ المتماثل الجغرافي في Azure Container Registry.

زيادة أداء السحب

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

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

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

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

اختر أيضًا مستوى الخدمة من Azure Container Registry الذي يلبي احتياجات الأداء الخاصة بك. يوفر مستوى Premium أكبر نطاق ترددي وأعلى معدل لعمليات القراءة والكتابة المتزامنة عندما تكون لديك عمليات نشر كبيرة الحجم.

مساحات أسماء المستودعات

باستخدام مساحات أسماء المستودعات، يمكنك السماح بمشاركة سجل واحد عبر مجموعات متعددة داخل المؤسسة. يمكن مشاركة السجلات عبر عمليات النشر والفرق. يدعم Azure Container Registry مساحات الأسماء المتداخلة، ما يتيح عزل المجموعة. ومع ذلك، يُدير السجل كافة المستودعات بشكل مستقل، وليس كتسلسل هرمي.

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

  • contoso.azurecr.io/aspnetcore:2.0
  • contoso.azurecr.io/products/widget/web:1
  • contoso.azurecr.io/products/bettermousetrap/refundapi:12.3
  • contoso.azurecr.io/marketing/2017-fall/concertpromotions/campaign:218.42

مجموعة موارد مخصصة

نظرًا إلى أن سجلات الحاويات عبارة عن موارد يتم استخدامها عبر عدة مضيفين للحاويات، يجب أن يتواجد السجل في مجموعة الموارد الخاصة به.

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

المصادقة والتخويل

عند المصادقة مع سجل حاوية Azure، هناك سيناريوهين أساسيين: المصادقة الفردية، ومصادقة الخدمة (أو "بلا عنوان"). يوفر الجدول التالي نظرة عامة مختصرة على هذه السيناريوهات، وطريقة المصادقة الموصى بها لكل منها.

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

لمزيد من المعلومات حول مصادقة Azure Container Registry، راجع المصادقة باستخدام سجل حاوية Azure.

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

إدارة حجم السجل

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

استخدام الأمر Azure CLI az acr show-usageلعرض الاستهلاك الحالي للتخزين والموارد الأخرى في السجل الخاص بك:

az acr show-usage --resource-group myResourceGroup --name myregistry --output table

إخراج العينة:

NAME                        LIMIT         CURRENT VALUE    UNIT
--------------------------  ------------  ---------------  ------
Size                        536870912000  215629144        Bytes
Webhooks                    500           1                Count
Geo-replications            -1            3                Count
IPRules                     100           1                Count
VNetRules                   100           0                Count
PrivateEndpointConnections  10            0                Count

يمكنك أيضًا العثور على استخدام التخزين الحالي في نظرة عامة للسجل في مدخل Azure:

معلومات استخدام السجل في مدخل Azure

ملاحظة

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

حذف بيانات الصور

يدعم Azure Container Registry عدة طرق لحذف بيانات الصور من سجل الحاوية. يمكنك حذف الصور بواسطة العلامة أو تجزئة بيان التطبيق، أو حذف مستودع كامل.

للحصول على تفاصيل حول حذف بيانات الصور من السجل بما في ذلك الصور غير الموسومة (التي تسمى أحيانًا "المتدلية" أو "المعزولة")، راجع حذف صور الحاوية في Azure Container Registry يمكنك أيضًا تعيين نهج استيفاء البيانات غير المميزة.

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

يتوفر Azure Container Registry في عدة مستويات (تسمى أيضًا وحدات الحفظ المخزون) التي توفر قدرات مختلفة. للحصول على تفاصيل حول مستويات الخدمة المتوفرة، راجع مستويات خدمة Azure Container Registry⁩.

للحصول على توصيات لتحسين وضع الأمان لسجلات الحاويات، راجع Azure Security Baseline لدى Azure Container Registry.