تحقق من الاتصال بسجل الحاوية
هذا المقال جزء من سلسلة. ابدأ بنظرة عامة.
لنشر التطبيقات الحاوية بنجاح في نظام مجموعة Azure Kubernetes Service (AKS)، من الضروري التحقق من الاتصال بين نظام المجموعة وسجل الحاوية. تضمن هذه الخطوة أن العقد العاملة لديك لديها الأذونات اللازمة لسحب صور الحاوية المطلوبة من السجل.
تحديد الأعراض
عندما يقوم kubelet الذي يعمل على عقدة عامل بإنشاء حاويات ل pod، قد ينتهي الأمر بحاوية واحدة أو أكثر في حالة الانتظار بسبب ImagePullBackOff
الخطأ. ImagePullBackoff هي رسالة خطأ شائعة في Kubernetes تشير إلى فشل سحب صورة الحاوية المطلوبة من سجل عام أو خاص. يمكن أن تتسبب عوامل مختلفة في هذا الخطأ، بما في ذلك مشاكل اتصال الشبكة أو اسم صورة أو علامة غير صحيحة أو أذونات غير كافية أو بيانات اعتماد مفقودة.
BackOff
يشير جزء الحالة إلى أن Kubernetes يحاول باستمرار سحب الصورة مع تأخير متزايد بين كل محاولة لاحقة. يزداد التأخير تدريجيا حتى يصل إلى حد محدد مسبقا، والذي يتم تعيينه عادة إلى 300 ثانية (5 دقائق) في Kubernetes.
من المهم التحقق مرة ثانية من اسم السجل والصورة للتأكد من دقتها. بالإضافة إلى ذلك، تأكد من أن نظام مجموعة AKS الخاص بك لديه الأذونات اللازمة لسحب الصور من سجل الحاوية المناسب.
تعيينات الأدوار
عند إرفاق سجل حاوية بمجموعة AKS موجودة، يتم تعيين دور AcrPull تلقائيا عبر السجل إلى هوية Microsoft Entra المدارة المقترنة بتجمعات الوكلاء في مجموعة AKS الخاصة بك. لمزيد من المعلومات، راجع المصادقة باستخدام سجل الحاوية من AKS.
قم بتشغيل الأمر التالي لاسترداد الهوية المدارة kubelet لمجموعة Kubernetes وتعيينات الأدوار الحالية الخاصة بها:
# Get the kubelet managed identity.
ASSIGNEE=$(az aks show -g $RESOURCE_GROUP -n $NAME --query identityProfile.kubeletidentity.clientId -o tsv)
az role assignment list --assignee $ASSIGNEE --all -o table
قم بتشغيل الأمر التالي لتعيين AcrPull
الدور إلى الهوية المدارة kubelet:
AZURE_CONTAINER_REGISTRY_ID=$(az acr show --name <container-registry-name> --query id --output tsv)
az role assignment create --assignee $ASSIGNEE --scope $AZURE_CONTAINER_REGISTRY_ID --role acrpull
استكشاف مشكلات سجل الحاوية وإصلاحها
توفر الأقسام التالية إرشادات يمكنك الرجوع إليها إذا واجهت مشاكل في الشبكات أو تسجيل الدخول أو الأداء مع سجل حاوية Azure.
استكشاف مشكلات الشبكات وإصلاحها
إذا واجهت مشكلات تتعلق بالوصول إلى سجل حاوية Azure في شبكة ظاهرية أو خلف جدار حماية أو خادم وكيل، ففكر في الحلول التالية:
- تكوين الوصول إلى جدار حماية العميل.
- تكوين الوصول العام إلى السجل.
- تكوين الوصول إلى الشبكة الظاهرية.
- تكوين الوصول للخدمات.
استكشاف مشكلات تسجيل الدخول وإصلاحها
إذا واجهت مشكلات المصادقة والتخويل عند تسجيل الدخول إلى سجل حاوية Azure، ففكر في الحلول التالية:
- تحقق من تكوين Docker في بيئتك.
- حدد اسم التسجيل الصحيح.
- تحقق من بيانات الاعتماد للوصول إلى السجل.
- تكوين الوصول العام إلى السجل.
- استكشاف مشكلات تسجيل الدخول إلى السجل وإصلاحها.
- تحقق من عدم انتهاء صلاحية بيانات الاعتماد.
استكشاف مشكلات الأداء وإصلاحها
إذا واجهت مشكلات في الأداء مع سجل حاوية Azure، ففكر في الحلول التالية:
- تمكين ذاكرة التخزين المؤقت للبيانات الاصطناعية.
- تحقق من سرعة اتصال الشبكة.
- افحص أجهزة العميل التي قد تؤثر على ضغط طبقة الصورة أو سرعة الاستخراج.
- راجع الحدود المكونة في طبقة خدمة التسجيل أو البيئة.
- تكوين السجل المنسوخ جغرافيا للحصول على الأداء الأمثل مع النسخ المتماثلة في المناطق القريبة.
- تحسين تكوين DNS للسحب من نسخة متماثلة لسجل بعيد جغرافيا.
يمكن أن تساعدك هذه الأدلة على ضمان استرداد الصور السلس لمجموعة AKS الخاصة بك وضمان التشغيل السلس لأحمال العمل الخاصة بك.
دمج سجل حاويات تابع لجهة خارجية
عند استخدام سجل حاوية تابع لجهة خارجية، تحتاج إلى إنشاء بيانات الاعتماد المناسبة ImagePullSecret
للسجل حتى يتمكن نظام مجموعة AKS من الوصول بأمان إلى صور الحاوية. لمزيد من المعلومات، راجع إنشاء سر سحب صورة. تأكد من إعداد الأذونات وبيانات الاعتماد الصحيحة حتى تتمكن من التحقق من الاتصال بسجل الحاوية وتمكين نظام مجموعة AKS لسحب صور الحاوية المطلوبة بنجاح أثناء عمليات النشر. تساعد أفضل الممارسات هذه على ضمان التنفيذ السلس والموثوق لأحمال العمل المعبأة في حاويات في Kubernetes.
المساهمون
تحتفظ Microsoft بهذه المقالة. وهي مكتوبة في الأصل من قبل المساهمين التاليين.
الكتاب الرئيسيون:
- باولو سالفاتوري | مهندس العملاء الرئيسي
- فرانسيس سيمي الناصرة | أخصائي تقني أول
لمشاهدة ملفات تعريف LinkedIn غير العامة، سجل الدخول إلى LinkedIn.