Kubernetes میں DNS کے ساتھ مسائل۔ عوامی پوسٹ مارٹم

نوٹ ترجمہ: یہ کمپنی کے انجینئرنگ بلاگ سے عوامی پوسٹ مارٹم کا ترجمہ ہے۔ تیاری کرو. یہ Kubernetes کلسٹر میں conntrack کے ساتھ ایک مسئلہ کی وضاحت کرتا ہے، جس کی وجہ سے کچھ پروڈکشن سروسز کا جزوی وقت بند ہو گیا۔

یہ مضمون ان لوگوں کے لیے کارآمد ہو سکتا ہے جو پوسٹ مارٹم کے بارے میں کچھ اور جاننا چاہتے ہیں یا مستقبل میں کچھ ممکنہ DNS مسائل کو روکنا چاہتے ہیں۔

Kubernetes میں DNS کے ساتھ مسائل۔ عوامی پوسٹ مارٹم
یہ DNS نہیں ہے۔
یہ DNS نہیں ہو سکتا
یہ DNS تھا۔

پریپلائی میں پوسٹ مارٹم اور عمل کے بارے میں تھوڑا سا

پوسٹ مارٹم پیداوار میں خرابی یا کسی واقعے کی وضاحت کرتا ہے۔ پوسٹ مارٹم میں واقعات کی ٹائم لائن، صارف کے اثرات، بنیادی وجہ، کیے گئے اقدامات اور سیکھے گئے اسباق شامل ہیں۔

SRE کی تلاش

پیزا کے ساتھ ہفتہ وار میٹنگز میں، تکنیکی ٹیم کے درمیان، ہم مختلف معلومات کا اشتراک کرتے ہیں۔ ایسی ملاقاتوں کے سب سے اہم حصوں میں سے ایک پوسٹ مارٹم ہے، جس میں اکثر سلائیڈز کے ساتھ ایک پریزنٹیشن اور واقعے کا مزید گہرائی سے تجزیہ کیا جاتا ہے۔ اگرچہ ہم پوسٹ مارٹم کے بعد تالیاں نہیں بجاتے ہیں، لیکن ہم "کوئی الزام نہیں" کا کلچر تیار کرنے کی کوشش کرتے ہیں۔بے قصور ثقافت)۔ ہمیں یقین ہے کہ پوسٹ مارٹم لکھنے اور پیش کرنے سے ہمیں (اور دیگر) مستقبل میں ایسے ہی واقعات کو روکنے میں مدد مل سکتی ہے، اسی لیے ہم انہیں شیئر کر رہے ہیں۔

کسی واقعے میں ملوث افراد کو یہ محسوس کرنا چاہیے کہ وہ سزا یا انتقام کے خوف کے بغیر تفصیل سے بات کر سکتے ہیں۔ کوئی الزام نہیں! پوسٹ مارٹم لکھنا کوئی سزا نہیں بلکہ پوری کمپنی کے لیے سیکھنے کا موقع ہے۔

CALMS & DevOps رکھیں: S اشتراک کے لیے ہے۔

Kubernetes میں DNS کے ساتھ مسائل۔ پوسٹ مارٹم

تاریخ: 28.02.2020

مصنفین: Amet U., Andrey S., Igor K., Alexey P.

حالت: ختم

مختصر طور پر: Kubernetes کلسٹر میں کچھ خدمات کے لیے جزوی DNS کی عدم دستیابی (26 منٹ)

اثر و رسوخ: خدمات A, B اور C کے لیے 15000 ایونٹس ضائع ہوئے۔

بنیادی وجہ: 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 نے کلسٹر کو پیش کرنے کے لیے مزید پوڈز شامل کیے، جس نے کنٹراک ٹیبل کو دوبارہ لکھنے پر اکسایا۔

پتہ لگانا: پرومیتھیس مانیٹرنگ نے سروسز A، B اور C کے لیے بڑی تعداد میں 5xx غلطیوں کا پتہ لگایا اور آن ڈیوٹی انجینئرز کو کال شروع کی۔

Kubernetes میں DNS کے ساتھ مسائل۔ عوامی پوسٹ مارٹم
کبانا میں 5xx غلطیاں

سرگرمی

ایکشن
قسم
ذمہ دار
ٹاسک

CoreDNS کے لیے آٹو اسکیلر کو غیر فعال کریں۔
روکا
امیٹ یو۔
DEVOPS-695

کیشنگ DNS سرور ترتیب دیں۔
کمی
میکس وی۔
DEVOPS-665

کانٹراک مانیٹرنگ سیٹ اپ کریں۔
روکا
امیٹ یو۔
DEVOPS-674

سبق سیکھا

کیا اچھا ہوا:

  • نگرانی نے اچھا کام کیا۔ ردعمل تیز اور منظم تھا۔
  • ہم نے نوڈس پر کوئی حد نہیں ماری۔

کیا غلط تھا:

  • ابھی تک نامعلوم حقیقی بنیادی وجہ، کی طرح مخصوص بگ برعکس میں
  • تمام اعمال صرف نتائج کو درست کرتے ہیں، بنیادی وجہ (بگ) کو نہیں
  • ہم جانتے تھے کہ جلد یا بدیر ہمیں DNS کے ساتھ مسائل ہو سکتے ہیں، لیکن ہم نے کاموں کو ترجیح نہیں دی

جہاں ہم خوش قسمت ہیں:

  • اگلی تعیناتی CoreDNS-autoscaler کے ذریعے شروع کی گئی، جس نے conntrack ٹیبل کو اوور رائٹ کر دیا۔
  • اس بگ نے صرف کچھ سروسز کو متاثر کیا۔

ٹائم لائن (EET)

وقت
ایکشن

22:13
CoreDNS-autoscaler نے پھلیوں کی تعداد کو تین سے کم کر کے دو کر دیا۔

22:18
ڈیوٹی پر موجود انجینئرز کو مانیٹرنگ سسٹم سے کالیں آنے لگیں۔

22:21
ڈیوٹی پر موجود انجینئرز نے خرابیوں کی وجہ معلوم کرنا شروع کر دی۔

22:39
ڈیوٹی پر موجود انجینئرز نے تازہ ترین خدمات میں سے ایک کو پچھلے ورژن میں واپس لانا شروع کر دیا۔

22:40
5xx غلطیاں ظاہر ہونا بند ہوگئیں، صورتحال مستحکم ہوگئی

  • پتہ لگانے کا وقت: 4 منٹ
  • کارروائی سے پہلے کا وقت: 21 منٹ
  • درست کرنے کا وقت: 1 منٹ

اضافی معلومات

سی پی یو کے استعمال کو کم سے کم کرنے کے لیے، لینکس کرنل کچھ استعمال کرتا ہے جسے کونٹراک کہتے ہیں۔ مختصراً، یہ ایک ایسی افادیت ہے جس میں NAT ریکارڈز کی فہرست ہوتی ہے جو ایک خاص جدول میں محفوظ ہوتے ہیں۔ جب اگلا پیکٹ اسی پوڈ سے پہلے کی طرح اسی پوڈ پر آئے گا، تو حتمی IP ایڈریس دوبارہ شمار نہیں کیا جائے گا، بلکہ اسے کانٹراک ٹیبل سے لیا جائے گا۔
Kubernetes میں DNS کے ساتھ مسائل۔ عوامی پوسٹ مارٹم
کونٹراک کیسے کام کرتا ہے۔

کے نتائج

یہ کچھ مفید لنکس کے ساتھ ہمارے پوسٹ مارٹم کی ایک مثال تھی۔ خاص طور پر اس مضمون میں، ہم ایسی معلومات کا اشتراک کرتے ہیں جو دوسری کمپنیوں کے لیے مفید ہو سکتی ہے۔ اسی لیے ہم غلطیاں کرنے سے نہیں ڈرتے اور اسی لیے ہم اپنے پوسٹ مارٹم میں سے ایک کو پبلک کرتے ہیں۔ یہاں کچھ اور دلچسپ عوامی پوسٹ مارٹم ہیں:

ماخذ: www.habr.com

نیا تبصرہ شامل کریں