تشير مراقبة Kubernetes إلى عملية جمع وتحليل البيانات المتعلقة بخصائص الصحة والأداء والتكلفة للتطبيقات المعبأة في حاويات التي تعمل داخل مجموعة Kubernetes.
نظام Kubernetes، المعروف أيضًا باسم K8s أو kube، هو نظام أساسي لتنسيق الحاويات لجدولة وأتمتة نشر التطبيقات المعبأة في حاويات وإدارتها وتوسيع نطاقها. تم تصميم النظام في الأصل بواسطة Google، وتتم صيانته الآن بواسطة Cloud Native Computing Foundation (CNCF).
تسمح مراقبة مجموعات Kubernetes للمسؤولين والمستخدمين بتتبُّع أمور مثل مدة التشغيل واستخدام موارد نظام المجموعة والتفاعل بين مكونات المجموعة. تساعد المراقبة على تحديد المشكلات بسرعة مثل الموارد غير الكافية وحالات الفشل والحجيرات غير القادرة على البدء والعُقد التي لا يمكنها الانضمام إلى المجموعة.
تطبيقات Kubernetes التي تُقدَّم كخدمات مصغرة قائمة على السحابة الأصلية تحتوي على عدد أكبر بكثير من المكونات التي تتواصل مع بعضها. ومع توزيعها عبر عدة نسخ وحتى مواقع، تضيف الهياكل الحديثة تعقيدات جديدة للمهام اليومية في المراقبة والتنبيه واستكشاف الأخطاء وإصلاحها.
أيضًا، الطبيعة المؤقتة للحاويات يمكن أن تعوق جهود استكشاف الأخطاء. عادةً ما تعيش الحاويات طالما أن العملية التي تعمل داخلها موجودة، وتختفي عندما تموت تلك العملية. هذه واحدة من أكثر الأجزاء تحديًا في استكشاف الأخطاء في الحاويات. عندما تموت الحاويات أو تتم إعادة جدولتها إلى عُقد بديلة، قد لا تكون التفاصيل التي تحتاجها لاستجابة الحوادث موجودة بعد الآن.
على الرغم من أن Kubernetes يحتوي على مشغِّلي مجموعات مدمجين لمراقبة المجموعات وإرسال تنبيهات بناءً على الحجيرات قيد التشغيل، إلا أن الأدوات مفتوحة المصدر وحلول المراقبة الخارجية تساعد على توفير رؤية كاملة لبيئة K8s.
تعرف على كيف يمكن للأتمتة الذكية جعل عمليات عملك ميزة تنافسية.
توفِّر مراقبة Kubernetes المناسبة مجموعة من المزايا، بدءًا من الحفاظ على استقرار واستجابة أداء التطبيق ووصولًا إلى تعزيز الأمان والامتثال.
من خلال تتبُّع وتحليل المقاييس مثل استهلاك وحدة المعالجة المركزية واستخدام الذاكرة وحركة المرور على الشبكة وأوقات الاستجابة، من الممكن تحديد مجالات عدم الكفاءة وتحسين تخصيص الموارد وضبط البنية الأساسية لنظام Kubernetes لتحقيق الأداء الأمثل.
ويمكن أن يؤدي ذلك إلى تحسين استجابة التطبيق وتوفير تجربة أفضل للمستخدمين.
من خلال مراقبة مقاييس استخدام الموارد، مثل استخدام وحدة المعالجة المركزية واستهلاك الذاكرة وحركة مرور الشبكة، من الممكن تحديد عُقد Kubernetes غير المستغلة أو المستغلة بشكل مفرط، وتحسين تخصيص الموارد واتخاذ قرارات مستنيرة بشأن توسيع نطاق البنية التحتية.
ويساعد هذا على ضمان حصول التطبيقات على الموارد اللازمة للأداء على النحو الأمثل، وله ميزة إضافية تتمثل في تقليل التكاليف.
تساعد التنبيهات والإشعارات على تحديد السبب الأساسي لمشكلات Kubernetes ومعالجتها بشكل استباقي قبل أن تؤدي إلى حدوث أعطال أو توقُّف عن العمل.
والنتيجة هي تحسين استقرار النظام وتقليل تأثير المشكلات المحتملة في التطبيقات والمستخدمين.
تساعدك سجلات المراقبة والأحداث والمقاييس على تحديد المشكلات وتشخيصها بسرعة، مثل أعطال الحجيرات أو قيود الموارد أو مشكلات الشبكات أو أخطاء التطبيق.
ومن خلال تسريع عملية تصحيح الأخطاء، يتم تقليل وقت فترات التعطل وتظل التطبيقات متاحة.
من خلال تحليل البيانات التاريخية ومراقبة التوجهات في استخدام الموارد، من الممكن التنبؤ بشكل أفضل باحتياجات الموارد المستقبلية وتحديد متى تكون هناك حاجة إلى المزيد من موارد Kubernetes والتخطيط لتوسيع المجموعات وفقًا لذلك.
في نهاية المطاف، لن تؤدي متطلبات أعباء العمل المتزايدة إلى حدوث نقص في الموارد.
إن مراقبة سجلات Kubernetes وحركة مرور الشبكة وأنماط الوصول تُسهم في تسهيل تحديد الأنشطة غير الطبيعية والانتهاكات المحتملة ومحاولات الوصول غير المصرَّح بها.
بالإضافة إلى ذلك، فإن ضمان وجود ضوابط وسياسات أمنية مناسبة ومراقبتها بنشاط يساعد في الحفاظ على الامتثال للمعايير واللوائح.
تتطلب الرؤية الكاملة لمجموعة Kubernetes جمع بيانات القياس عن بُعد عن الحاويات التي يتم إنشاؤها وتدميرها باستمرار وتقوم باستدعاء بعضها، بالإضافة إلى جمع بيانات القياس عن بُعد عن مجموعة Kubernetes نفسها.
بالنسبة إلى مراقبة المجموعات، هناك العديد من المقاييس على مستوى المجموعة التي يجب اتباعها، والتي تساعد على تحديد الحالة العامة لمجموعة Kubernetes.
وظائف العقدة: إن مراقبة إذا ما كانت جميع عُقد المجموعة تعمل بشكل صحيح أم لا وبأي سعة تساعد على تحديد موارد السحابة المطلوبة لتشغيل المجموعة.
مراقبة توفر العقدة: تساعد مراقبة عدد عُقد المجموعة المتاحة على تحديد موارد السحابة التي يتم الدفع مقابلها (في حالة استخدام موفر سحابي مثل Microsoft Azure) وكيفية استخدام المجموعة.
استخدام موارد العقدة: تساعد مراقبة كيفية استخدام المجموعة ككل للموارد (الذاكرة ووحدة المعالجة المركزية والنطاق الترددي واستخدام القرص) على اتخاذ قرارات مستنيرة حول إذا ما كانت ستتم زيادة أو تقليل حجم أو عدد العُقد في المجموعة.
عدد الحجيرات النشطة: تُظهر مراقبة الحجيرات النشطة ما إذا كان عدد العُقد المتاحة كافيًا، وفي حالة فشل العقدة، إذا ما كان بإمكانها التعامل مع عبء عمل الحجيرات بالكامل أم لا.
تُعَد المراقبة على مستوى الحجيرات ضرورية لضمان عمل الحجيرات الفردية داخل مجموعة Kubernetes بشكل صحيح. يتضمن ذلك النظر في ثلاثة أنواع من المقاييس: مقاييس Kubernetes ومقاييس الحاويات ومقاييس التطبيقات.
1. مقاييس Kubernetes
تساعد مراقبة مقاييس Kubernetes على التأكد من أن جميع الحجيرات في عملية نشر Kubernetes نشطة وتعمل جيدًا.
عدد مثيلات الحجيرات: إذا كان العدد الحالي للحجيرات النشطة منخفضًا مقارنةً بالعدد المتوقع، فقد تكون موارد المجموعة قد نفدت.
حالة الحجيرات: إن فهم إذا ما كانت الحجيرات النشطة تعمل، ومعرفة عدد الحجيرات المعلقة، والفاشلة، أو التي تم إنهاؤها يوفر رؤية حول توفرها واستقرارها.
إعادة تشغيل الحجيرات: تشير مراقبة عدد مرّات إعادة تشغيل الحجيرة إلى استقرار التطبيق داخلها. ومع تكرار عمليات إعادة التشغيل، قد تكون هناك مشكلة أساسية مثل الأعطال أو قيود الموارد.
استخدام وحدة المعالجة المركزية: تساعد مراقبة استهلاك وحدة المعالجة المركزية للحجيرة على تحديد العوائق المحتملة للأداء وضمان توفر موارد المعالجة الكافية للحاويات.
استخدام الذاكرة: تساعد مراقبة استهلاك الذاكرة للجراب على اكتشاف تسرُّب الذاكرة أو الاستخدام المفرط لها والذي قد يؤثر في استقرار التطبيق.
استخدام الشبكة: توفر مراقبة وحدات البايت المرسلة/المستلمة للحجيرة رؤى حول أنماط الاتصال الخاصة بها وتساعد على تحديد أي مشكلات في الشبكات.
تتضمن مقاييس Kubernetes أيضًا فحوصات السلامة وبيانات الشبكة وكيفية سير النشر الجارية (أي عدد المثيلات التي تم تغييرها من إصدار قديم إلى إصدار جديد).
2. مقاييس الحاويات
تساعد مراقبة مقاييس حاوية الحجيرات على تحديد مدى اقترابك من حدود الموارد التي حددتها. وتُتيح لك هذه المقاييس أيضًا اكتشاف الحجيرات العالقة في CrashLoopBackoff.
استخدام/تقليل سرعة وحدة المعالجة المركزية: تساعد مراقبة كيفية استهلاك الحاويات قيد التشغيل لوحدة المعالجة المركزية على تحديد الحاويات التي تستهلك موارد بشكل مكثف أو التي تسبب عوائق، ما قد يؤثر في الأداء العام للمجموعة. ومراقبة مقاييس التحكم في سرعة وحدة المعالجة المركزية تسلِّط الضوء على إذا ما كانت الحاويات تتعرض للحد من استخدام وحدة المعالجة المركزية بسبب قيود الموارد أو سوء التكوين.
استخدام الذاكرة: تؤدي مراقبة كيفية استهلاك الحاويات النشطة للذاكرة إلى جذب الانتباه إلى مشكلات مثل تسرُّب الذاكرة أو الاستخدام المفرط للذاكرة أو التخصيص غير الكافي لها، ما قد يؤثر في استقرار الحاوية والأداء العام للنظام.
حركة مرور/أخطاء الشبكة: تساعد مراقبة حركة مرور الشبكة للحاويات، بالإضافة إلى الأخطاء مثل فقدان الحزمة أو فشل الاتصال، على تقييم أنماط الاتصال والاستخدام المفرط للشبكة أو الارتفاعات غير المتوقعة في حركة المرور.
3. مقاييس التطبيقات
تساعد مراقبة مقاييس التطبيقات على قياس أداء وتوافر التطبيقات التي تعمل داخل حجيرات Kubernetes. عادةً يتم تطوير هذه المقاييس بواسطة تطبيق Kubernetes نفسه، وتتعلق بالقواعد التشغيلية التي يعالجها، مثل زمن الاستجابة، والقدرة على التفاعل، ومعدلات الأخطاء، وأوقات الاستجابة.
فيما يلي بعض أفضل الممارسات التي يجب مراعاتها لمراقبة بيئات Kubernetes بنجاح.
استخدم Kubernetes DaemonSets: تُتيح لك مجموعات البرامج الخفية (DaemonSets) نشر وكيل يراقب كل عقدة في بيئة Kubernetes الخاصة بك وجميع الموارد الموجودة على تلك العقدة عبر مجموعة Kubernetes بأكملها. تساعد البرامج الخفية (Daemons) على ضمان ظهور الأجهزة المضيفة واستعدادها لتوفير المقاييس.
استخدام التصنيفات بذكاء: إن إنشاء نظام تصنيف منطقي ومتسق ومترابط يسهِّل على فِرَق عمليات التطوير التعرُّف على المكونات المختلفة ويساعد على تحقيق أقصى استفادة من مراقبة Kubernetes.
استخدام اكتشاف الخدمات: يُتيح اكتشاف الخدمات في Google Kubernetes Engine (GKE) مراقبة تطبيقاتك باستمرار حتى لو لم تكن تعلم موقع تشغيلها. فهو يتكيف تلقائيًا مع جمع المقاييس لتتبُّع الحاويات المتحركة، ما يوفر فهمًا أكثر شمولًا لصحة المجموعة.
إعداد التنبيهات والإشعارات: قم بإعداد التنبيهات والإشعارات للمقاييس المهمة، مثل استخدام وحدة المعالجة المركزية أو الذاكرة، واحصل على إشعارات عندما تصل هذه المقاييس إلى حدود معينة. تساعد أدوات المراقبة المزوّدة بتنبيهات ذكية على تقليل إرهاق التنبيهات من خلال إرسال تنبيهات للأحداث أو التغييرات ذات الأهمية فقط.
مراقبة عناصر مستوى التحكم: تساعد المراقبة المنتظمة لعناصر مستوى التحكم في Kubernetes، مثل خادم واجهة برمجة التطبيقات وkube-dns وkubelet ووكيل kube وغيرها ومدير وحدة التحكم، على ضمان تشغيل خدمات المجموعة بسلاسة.
مراقبة تجربة المستخدم: على الرغم من أن تجربة المستخدم لا تُقاس بشكل أصيل في منصة Kubernetes، إلا أن مراقبتها قد تنبِّهك أحيانًا إلى مشكلات قبل اكتشافها داخل المجموعة.
استخدام الأدوات المدمجة ومفتوحة المصدر: بغض النظر عن حالات الاستخدام الخاصة بك، استفِد من أدوات مراقبة Kubernetes المدمجة، مثل Kubernetes Dashboard وcAdvisor (مستشار الحاويات) وKube-state-metrics، بالإضافة إلى الأدوات مفتوحة المصدر الشائعة، بما في ذلك Prometheus وGrafana وJaeger وElastic Stack (المعروف سابقًا باسم ELK Stack). بالإضافة إلى النشر واستكشاف الأخطاء وإصلاحها والمراقبة، توفِّر هذه الأدوات وظائف إضافية مثل العروض المصورة للبيانات وجمع وتخزين مقاييس السلاسل الزمنية من مصادر مختلفة.
استخدام حل مراقبة K8s قائم على البرامج كخدمة: لتبسيط إدارة Kubernetes وتطوير البنية التحتية والتكاليف، بالإضافة إلى تلقي تحديثات منتظمة، استخدم نظام مراقبة قائمًا على البرامج كخدمة مع أتمتة مدمجة بدلًا من نظام محلي.
تجاوز الحلول التقليدية لإدارة أداء التطبيقات (APM) من خلال إضفاء الطابع الديمقراطي على قابلية الملاحظة بحيث يمكن لأي شخص في فِرَق عمليات التطوير وهندسة موثوقية المواقع وهندسة المنصات وعمليات تقنية المعلومات والتطوير سهولة الحصول على البيانات التي يريدونها في السياق الذي يحتاجون إليه.
عندما تستهلك التطبيقات ما تحتاج إليه فقط لأداء وظائفها، يمكنك تحسين الكفاءة التشغيلية وزيادة الاستخدام وتقليل تكاليف الطاقة وانبعاثات الكربون المرتبطة بها.
استخدم القياس الشامل عن بُعد لإدارة البِنى التي تركِّز على الحاويات والخدمات المصغرة مع ميزات متقدمة لمراقبة التنبيهات واستكشاف الأخطاء ذات الصلة بها وإصلاحها وتحديدها وتصميم لوحات معلومات مخصصة.
احصل على فهم أفضل لماهية نظام Kubernetes، وسبب أهميته، وكيفية عمله وسبب ازدياد شعبيته كمنصة تنسيق للحاويات.
تعرَّف على أهمية الحاويات في الحوسبة السحابية ومزاياها الأساسية والنظام البنائي الناشئ للتقنيات ذات الصلة، بما في ذلك Docker وKubernetes وIstio وKnative.
قم بتنزيل هذا التقرير لمعرفة أفضل الممارسات والاعتبارات لاختيار حل تحسين السحابة من أعضاء PeerSpot الذين يستخدمون Turbonomic.