مشاكل مع DNS في Kubernetes. التشريح العام

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

قد تكون هذه المقالة مفيدة لأولئك الذين يريدون معرفة المزيد عن عمليات التشريح بعد الوفاة أو منع بعض مشكلات DNS المحتملة في المستقبل.

مشاكل مع DNS في Kubernetes. التشريح العام
هذه ليست DNS
لا يمكن أن يكون DNS
لقد كان DNS

القليل عن عمليات التشريح والعمليات في Preply

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

تسعى SRE

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

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

حافظ على الهدوء وDevOps: S مخصص للمشاركة

مشاكل مع DNS في Kubernetes. بعد الوفاة

تاريخ: 28.02.2020

المؤلفون: أميت يو، أندري إس، إيجور ك، أليكسي بي.

حالة: انتهى

باختصار: عدم توفر DNS الجزئي (26 دقيقة) لبعض الخدمات في مجموعة Kubernetes

تأثير: تم فقدان 15000 حدث للخدمات A وB وC

السبب الجذري: لم يتمكن Kube-proxy من إزالة الإدخال القديم بشكل صحيح من جدول conntrack، لذلك كانت بعض الخدمات لا تزال تحاول الاتصال بالبودات غير الموجودة

E0228 20:13:53.795782       1 proxier.go:610] Failed to delete kube-system/kube-dns:dns endpoint connections, error: error deleting conntrack entries for UDP peer {100.64.0.10, 100.110.33.231}, error: conntrack command returned: ...

مشغل: بسبب الحمل المنخفض داخل مجموعة Kubernetes، قام CoreDNS-autoscaler بتقليل عدد القرون في النشر من ثلاثة إلى اثنين

الحل: بدأ النشر التالي للتطبيق في إنشاء عقد جديدة، وأضاف CoreDNS-autoscaler المزيد من القرون لخدمة المجموعة، مما أدى إلى إعادة كتابة جدول conntrack

كشف: اكتشفت مراقبة Prometheus عددًا كبيرًا من الأخطاء 5xx للخدمات A وB وC وبدأت في الاتصال بالمهندسين المناوبين

مشاكل مع DNS في Kubernetes. التشريح العام
أخطاء 5xx في كيبانا

نشاط

عمل
نوع
مسؤول
مهمة

تعطيل المقياس التلقائي لـ CoreDNS
منع
أميت يو.
ديفوبس-695

قم بإعداد خادم DNS للتخزين المؤقت
ينقص
ماكس ف.
ديفوبس-665

قم بإعداد مراقبة conntrack
منع
أميت يو.
ديفوبس-674

الدروس المستفادة

ما الذى اصبح بحالة جيده:

  • عملت المراقبة بشكل جيد. وكانت الاستجابة سريعة ومنظمة
  • لم نصل إلى أي حدود على العقد

ما هو الخطأ:

  • لا يزال السبب الجذري الحقيقي غير معروف، على غرار علة محددة في كونتراكت
  • جميع الإجراءات تصحح العواقب فقط، وليس السبب الجذري (الخطأ)
  • كنا نعلم أنه عاجلاً أم آجلاً قد نواجه مشكلات مع DNS، لكننا لم نحدد أولويات المهام

حيث حالفنا الحظ:

  • تم تشغيل النشر التالي بواسطة CoreDNS-autoscaler، الذي قام بالكتابة فوق جدول conntrack
  • أثر هذا الخطأ على بعض الخدمات فقط

الجدول الزمني (EET)

وقت
عمل

22:13
قام CoreDNS-autoscaler بتقليل عدد القرون من ثلاثة إلى اثنين

22:18
بدأ المهندسون المناوبون في تلقي المكالمات من نظام المراقبة

22:21
بدأ المهندسون المناوبون في معرفة سبب الأخطاء.

22:39
بدأ المهندسون المناوبون في إرجاع إحدى أحدث الخدمات إلى الإصدار السابق

22:40
توقفت أخطاء 5xx عن الظهور، واستقر الوضع

  • وقت الكشف: 4 دقيقة
  • الوقت قبل الإجراء: 21 دقيقة
  • الوقت لإصلاح: 1 دقيقة

معلومات إضافية

لتقليل استخدام وحدة المعالجة المركزية، تستخدم نواة Linux شيئًا يسمى conntrack. باختصار، هذه أداة مساعدة تحتوي على قائمة بسجلات NAT المخزنة في جدول خاص. عندما تصل الحزمة التالية من نفس الحافظة إلى نفس الحافظة كما كانت من قبل، لن تتم إعادة حساب عنوان IP النهائي، ولكن سيتم أخذه من جدول conntrack.
مشاكل مع DNS في Kubernetes. التشريح العام
كيف يعمل كونتراك

نتائج

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

المصدر: www.habr.com

إضافة تعليق