مراقبة عمليات توزيع حمل العمل

هذا المقال جزء من سلسلة. ابدأ بنظرة عامة.

من المهم مراقبة صحة وأداء أحمال عمل Kubernetes لضمان تشغيلها على النحو الأمثل. تحتوي خدمة Azure Kubernetes (AKS) على العديد من الأدوات التي يمكنك استخدامها للتحقق من صحة وأداء عمليات النشر والميزات DaemonSet والخدمات.

الأدوات

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

  • مدخل Microsoft Azure.
  • ميزة نتائج تحليلات الحاوية في Azure Monitor.
  • أداة سطر الأوامر kubectl.
  • بروميثيوس وغرافانا.

مدخل Microsoft Azure

يمكنك استخدام مدخل Microsoft Azure للتحقق من صحة المكونات التالية في أحمال العمل الخاصة بك. لمزيد من المعلومات، راجع الوصول إلى موارد Kubernetes من مدخل Microsoft Azure.

النشر و ReplicaSetStatefulSetو وDaemonSet

تحقق من أن عدد النسخ المتماثلة الموجودة في حالة جاهزة يطابق عدد النسخ المتماثلة المطلوبة. يظهر المدخل ما يلي:

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

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

الخدمات والدخول

تأكد من أن الحالة على ما يرام لجميع الخدمات والدخول.

التخزين

تأكد من أن الحالة مرتبطة بجميع مطالبات الحجم الثابتة ووحدات التخزين الثابتة.

نتائج تحليلات الحاوية

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

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

يمكنك استخدام نتائج تحليلات الحاوية من أجل:

  • تحديد ازدحامات الموارد عن طريق تحديد الحاويات التي تعمل على كل عقدة واستخدام المعالج والذاكرة.

  • تحديد المعالج واستخدام الذاكرة لمجموعات الحاويات وحاوياتها المستضافة في مثيلات الحاوية.

  • اعرض الأداء العام لوحدة التحكم أو الكبسولة من خلال تحديد مكان وجود الحاوية في وحدة تحكم أو حجرة.

  • راجع استخدام الموارد لأحمال العمل التي تعمل على المضيف ولا علاقة لها بالعمليات القياسية التي تدعم pod.

  • فهم سلوك نظام المجموعة تحت الأحمال المتوسطة والثقيلة حتى تتمكن من تحديد احتياجات السعة وتحديد الحد الأقصى للحمولة التي يمكن للمجموعة تحملها.

  • الوصول إلى سجلات الحاوية المباشرة والمقاييس التي ينشئها محرك الحاوية حتى تتمكن من استكشاف المشكلات وإصلاحها في الوقت الفعلي.

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

في مدخل Microsoft Azure، توفر نتائج تحليلات الحاوية العديد من الأدوات للمساعدة في مراقبة وتحليل صحة نظام مجموعة AKS وأدائه.

  • نظام المجموعة: توفر هذه الميزة نظرة عامة على نظام مجموعة AKS، بما في ذلك المقاييس الرئيسية مثل استخدام وحدة المعالجة المركزية والذاكرة، وعدد الجراب والعقدة، وحركة مرور الشبكة. يمكنك الحصول على رؤى حول الصحة العامة واستخدام الموارد للمجموعة.

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

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

  • وحدات التحكم: توفر هذه الميزة رؤية لوحدات تحكم Kubernetes في نظام مجموعة AKS. يعرض معلومات مثل عدد مثيلات وحدة التحكم والحالة الحالية وحالة عمليات وحدة التحكم. يمكنك مراقبة صحة وأداء وحدات التحكم التي تدير عمليات نشر حمل العمل والخدمات والموارد الأخرى.

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

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

لمزيد من المعلومات، راجع الموارد التالية:

أداة سطر الأوامر

للتحقق من حالة أحمال العمل الخاصة بك، يمكنك استخدام أداة سطر الأوامر kubectl للاتصال بلوحة تحكم مجموعة Kubernetes عبر واجهة برمجة تطبيقات Kubernetes.

Pods

لسرد القرون التي تعمل في كافة مساحات الأسماء، قم بتشغيل الأمر التالي:

kubectl get pod -A

في الإخراج من الأمر، يوفر العمود READY معلومات مهمة حول حالة الجاهزية لحاويات الجراب.

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

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

النشر و StatefulSetDaemonSetو وStatefulSet

قم بتشغيل الأمر التالي لاسترداد عمليات التوزيع في كافة مساحات الأسماء:

kubectl get deploy -A

في إخراج kubectl get deploy الأمر، تشير الأرقام الموجودة في العمود READY إلى حالة الجاهزية الحالية للنسخ المتماثلة في التوزيع.

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

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

قم بتشغيل الأمر التالي لاسترداد ميزات StatefulSet في جميع مساحات الأسماء:

kubectl get statefulset -A

قم بتشغيل الأمر التالي لاسترداد ميزات DaemonSet في جميع مساحات الأسماء:

kubectl get ds -A

يمكنك تشغيل kubectl get ds الأمر للتحقق من تشغيل DaemonSet كما هو متوقع. على سبيل المثال، يمكنك تشغيل الأمر التالي للتحقق من نشر عامل نتائج تحليلات الحاوية بنجاح:

kubectl get ds ama-logs --namespace=kube-system

وبالمثل، إذا قمت بتكوين مجموعة AKS الخاصة بك لجمع مقاييس Prometheus في Monitor ل Prometheus المدارة، يمكنك تشغيل الأمر التالي للتحقق من أن DaemonSet يتم نشر بشكل صحيح على تجمعات عقد Linux:

kubectl get ds ama-metrics-node --namespace=kube-system

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

نوصي بإجراء نفس الفحص لميزات ReplicaSet . يمكنك استخدام الأمر التالي لاسترداد ReplicaSet الميزات في كافة مساحات الأسماء:

kubectl get rs -A

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

kubectl وصف: يمكنك استخدام الأمر وصف kubectl للحصول على معلومات مفصلة حول موارد Kubernetes، مثل pods، والنشرات، والخدمات. يمكنك الحصول على نظرة عامة شاملة على المورد المحدد، بما في ذلك حالته الحالية والأحداث والشروط وبيانات التعريف ذات الصلة. يتم استرداد المعلومات من خادم Kubernetes API. هذا الأمر مفيد لاستكشاف الأخطاء وإصلاحها وفهم حالة المورد.

يمكنك تشغيل kubectl describe pod <pod-name> للحصول على معلومات مفصلة حول جراب معين، بما في ذلك حالته الحالية والأحداث والتسميات والحاويات المقترنة به. يظهر الإخراج معلومات مثل حالة الجراب والأحداث ووحدات التخزين والشروط.

سجلات kubectl: يمكنك استخدام الأمر kubectl logs لاسترداد السجلات التي تم إنشاؤها بواسطة حاوية داخل pod. هذا الأمر مفيد لتصحيح الأخطاء واستكشاف الأخطاء وإصلاحها. يمكنك عرض السجلات في الوقت الحقيقي، أو استرداد السجلات التاريخية من حاوية.

لعرض سجلات الحاوية، يمكنك استخدام الأمر kubectl logs <pod-name> -c <container-name>. استبدل <pod-name> باسم pod. استبدل <container-name> باسم الحاوية التي تريد إحضار السجلات منها. إذا كانت هناك حاوية واحدة فقط في الحاوية، فلن تحتاج إلى تحديد اسم الحاوية. يمكنك أيضا استخدام العلامة -f مع kubectl logs لمتابعة السجلات في الوقت الحقيقي. تشبه هذه العلامة tail -f أمر Linux.

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

لاستخدام kubectl events، يمكنك تشغيل الأمر kubectl events متبوعا باسم مورد معين. أو يمكنك استخدام المحددات لتصفية الأحداث استنادا إلى التسميات أو مساحات الأسماء أو معايير أخرى.

على سبيل المثال، لاسترداد الأحداث المتعلقة بجراب معين، يمكنك تشغيل kubectl events --field-selector involvedObject.name=<pod-name> --field-selector involvedObject.kind=Pod. استبدل <pod-name> باسم الحاوية التي تريد التحقق منها. يعرض إخراج kubectl events الأمر معلومات مثل نوع الحدث (عادي أو تحذير) ورسالة الحدث وسبب الحدث والطابع الزمني عند وقوع الحدث. يمكنك استخدام هذه المعلومات للمساعدة في تحديد سبب الفشل أو المشكلة أثناء بدء التشغيل.

إذا كنت تشك في أن موردا معينا مثل التوزيع أو DaemonSetأو ReplicaSet يواجه مشاكل، يمكنك تصفية الأحداث باستخدام المحددات. على سبيل المثال، kubectl events --field-selector involvedObject.name=<deployment-name> --field-selector involvedObject.kind=Deployment يعرض الأحداث المتعلقة بنشر معين. افحص الأحداث حتى تتمكن من جمع تفاصيل مهمة حول الأخطاء المحتملة أو حالات الفشل أو الأحداث الأخرى التي قد تمنع المورد من البدء بشكل صحيح. استخدم هذه البيانات للمساعدة في استكشاف المشكلات التي تؤثر على المورد وحلها.

المراقبة داخل نظام المجموعة باستخدام Prometheus وGrafana

إذا قمت بنشر Prometheus وGrafana في مجموعة AKS الخاصة بك، يمكنك استخدام لوحة معلومات تفاصيل نظام مجموعة K8 للحصول على رؤى. تقدم لوحة المعلومات هذه المعلومات التي تم جمعها من مقاييس مجموعة Prometheus، مثل استخدام وحدة المعالجة المركزية والذاكرة ونشاط الشبكة واستخدام نظام الملفات. كما يعرض إحصائيات مفصلة للجرابات الفردية والحاويات والخدمات النظامية .

لضمان صحة وأداء عمليات النشر والوظائف والقرون والحاويات، يمكنك استخدام الميزات في لوحة المعلومات. حدد Deployments لعرض عدد النسخ المتماثلة لكل عملية نشر وإجمالي عدد النسخ المتماثلة. حدد حاويات لعرض مخطط يعرض الحاويات قيد التشغيل والمعلقة والفشل والنجاح.

مراقبة الخدمة المدارة ل Prometheus وAzure Managed Grafana

يمكنك استخدام لوحات المعلومات التي تم إنشاؤها مسبقا لتصور وتحليل مقاييس Prometheus. للقيام بذلك، يجب عليك إعداد نظام مجموعة AKS لتجميع مقاييس Prometheus في مراقبة الخدمة المدارة ل Prometheus، وتوصيل مساحة عمل Monitor بمساحة عمل Azure Managed Grafana .

قم بتثبيت لوحات المعلومات التي تم إنشاؤها مسبقا للحصول على عرض شامل لأداء مجموعة Kubernetes وصحتها. للحصول على إرشادات التثبيت التفصيلية، راجع Prometheus monitoring mixin ل Kubernetes. يتم توفير لوحات المعلومات في مثيل Azure Managed Grafana المحدد في المجلد Managed Prometheus . تتضمن بعض لوحات المعلومات ما يلي:

  • Kubernetes / موارد الحساب / نظام المجموعة
  • Kubernetes / موارد الحساب / مساحة الاسم (Pods)
  • Kubernetes / حساب الموارد / العقدة (Pods)
  • Kubernetes / موارد الحوسبة / الجراب
  • Kubernetes / موارد الحساب / مساحة الاسم (أحمال العمل)
  • Kubernetes / موارد الحساب / حمل العمل
  • Kubernetes / Kubelet
  • مصدر العقدة / أسلوب الاستخدام / العقدة
  • مصدر العقدة / العقد
  • Kubernetes / حساب الموارد / نظام المجموعة (Windows)
  • Kubernetes / حساب الموارد / مساحة الاسم (Windows)
  • Kubernetes / حساب الموارد / جراب (Windows)
  • Kubernetes / USE Method / Cluster (Windows)
  • Kubernetes / USE Method / Node (Windows)

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

يمكنك استخدام لوحة معلومات Kubernetes / Compute Resources / Node (Pods) لمشاهدة مقاييس عقد عامل Linux. يمكنك تصور استخدام وحدة المعالجة المركزية والحصة النسبية لوحدة المعالجة المركزية واستخدام الذاكرة والحصة النسبية للذاكرة لكل جراب.

توفر لوحة معلومات Kubernetes / Compute Resources / Pod Grafana رؤى حول استهلاك الموارد ومقاييس الأداء لمجموعة محددة ومساحة الاسم والجراب. يمكنك استخدام لوحة المعلومات هذه للحصول على مقاييس تتعلق باستخدام وحدة المعالجة المركزية، وتقييد وحدة المعالجة المركزية، والحصة النسبية لوحدة المعالجة المركزية، واستخدام الذاكرة، وحصة الذاكرة، ومقاييس الشبكات، ومقاييس التخزين. في لوحة المعلومات، حدد مجموعة AKS ومساحة الاسم والجراب داخل مساحة الاسم المختارة للاطلاع على التفاصيل التالية:

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

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

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

  • استخدام الذاكرة: يعرض هذا المخطط استخدام الذاكرة للجراب المحدد. مراقبة نمط استهلاك الذاكرة وتحديد أي مشكلات متعلقة بالذاكرة.

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

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

  • مقاييس التخزين: يوفر هذا القسم معلومات حول المقاييس المتعلقة بالتخزين، مثل عمليات الإدخال/إخراج في الثانية (IOPS) ومعدل النقل. مراقبة هذه المقاييس للمساعدة في قياس أداء وكفاءة تخزين الجراب.

يمكنك استخدام لوحة معلومات Kubernetes / Compute Resources / Pod Grafana للحصول على رؤى حول استخدام الموارد والأداء وسلوك القرون في مجموعة Kubernetes الخاصة بك. استخدم هذه المعلومات لتحسين تخصيص الموارد واستكشاف مشكلات الأداء وإصلاحها واتخاذ قرارات مستنيرة لضمان التشغيل السلس لأحمال العمل المعبأة في حاويات.

المساهمون

تحتفظ Microsoft بهذه المقالة. وهي مكتوبة في الأصل من قبل المساهمين التاليين.

الكاتب الرئيسي:

مساهمون آخرون:

لمشاهدة ملفات تعريف LinkedIn غير العامة، سجل الدخول إلى LinkedIn.

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