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.

اسٽيٽس پورو ٿيو

مختصر طور: ڪبرنيٽس ڪلستر ۾ ڪجھ خدمتن لاءِ جزوي DNS جي دستيابي (26 منٽ).

وائليني: A، B ۽ C خدمتن لاءِ 15000 واقعا گم ٿي ويا

بنيادي سبب: Kube-proxy صحيح طريقي سان ڪانٽريڪ ٽيبل تان پراڻي انٽري کي ختم ڪرڻ جي قابل نه هئي، تنهنڪري ڪجهه خدمتون اڃا تائين غير موجود پوڊز سان ڳنڍڻ جي ڪوشش ڪري رهيا هئا.

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: ...

محرڪ: ڪبرنيٽس ڪلستر جي اندر گھٽ لوڊ ٿيڻ جي ڪري، CoreDNS-autoscaler جي تعينات ۾ پوڊ جو تعداد ٽن کان ٻن تائين گھٽائي ڇڏيو.

حل: ايپليڪيشن جي ايندڙ تعیناتي نئين نوڊس جي پيدائش جي شروعات ڪئي، CoreDNS-autoscaler ڪلسٽر جي خدمت ڪرڻ لاءِ وڌيڪ پوڊ شامل ڪيا، جن کي ڪانٽريڪ ٽيبل جي ٻيهر لکڻ جو سبب بڻيو.

پتو لڳائڻ: Prometheus مانيٽرنگ سروسز A، B ۽ C لاءِ وڏي تعداد ۾ 5xx غلطيون معلوم ڪيون ۽ آن ڊيوٽي انجنيئرن کي ڪال شروع ڪئي

Kubernetes ۾ DNS سان مسئلا. عوامي پوسٽ مارٽم
Kibana ۾ 5xx غلطيون

عمل

اثر
قسم
ذميوار
مقصد

CoreDNS لاءِ آٽو اسڪيلر کي بند ڪريو
روڪيو
اميت يو.
DEOPS-695

سيٽ اپ ڪيشنگ DNS سرور
گهٽتائي
ميڪس وي.
DEOPS-665

سيٽ اپ ڪنٽرول مانيٽرنگ
روڪيو
اميت يو.
DEOPS-674

سکيا جا سبق

ڇا سٺو ٿيو:

  • نگراني چڱي طرح ڪم ڪيو. جواب تيز ۽ منظم هو
  • اسان نوڊس تي ڪا به حد نه ڪئي

ڇا غلط هو:

  • اڃا تائين اڻڄاتل اصل روٽ سبب، ساڳيو مخصوص بگ مقابلي ۾
  • سڀئي عمل صرف نتيجن کي درست ڪن ٿا، بنيادي سبب نه (بگ)
  • اسان ڄاڻون ٿا ته جلد يا بعد ۾ اسان کي DNS سان مسئلا ٿي سگهن ٿا، پر اسان ڪمن کي ترجيح نه ڏني

جتي اسان خوش قسمت آهيون:

  • ايندڙ تعیناتي CoreDNS-autoscaler پاران شروع ڪئي وئي، جيڪا ڪنٽرڪ ٽيبل کي مٿي ڪري ڇڏيو
  • هن بگ صرف ڪجهه خدمتن کي متاثر ڪيو

ٽائيم لائن (EET)

وقت
اثر

22:13
CoreDNS-autoscaler پوڊن جو تعداد گھٽائي ٽن کان ٻن تائين

22:18
ڊيوٽي تي انجنيئرز مانيٽرنگ سسٽم کان ڪالون وصول ڪرڻ شروع ڪيون

22:21
ڊيوٽي تي موجود انجنيئرن غلطين جا سبب معلوم ڪرڻ شروع ڪيا.

22:39
انجنيئرن ڊيوٽي تي واپس ورڻ شروع ڪيو جديد خدمتن مان هڪ کي پوئين ورزن ڏانهن

22:40
5xx غلطيون ظاهر ٿيڻ بند ٿي ويون، صورتحال مستحڪم ٿي چڪي آهي

  • معلوم ڪرڻ جو وقت: 4 منٽ
  • عمل کان اڳ وقت: 21 منٽ
  • درست ڪرڻ جو وقت: 1 منٽ

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

سي پي يو جي استعمال کي گھٽ ڪرڻ لاءِ، لينڪس ڪنيل ڪانٽريڪ نالي ڪا شيءِ استعمال ڪري ٿو. مختصر ۾، هي هڪ افاديت آهي جنهن ۾ NAT رڪارڊ جي هڪ فهرست شامل آهي جيڪي هڪ خاص ٽيبل ۾ محفوظ ٿيل آهن. جڏهن ايندڙ پيڪٽ ساڳئي پوڊ کان ساڳئي پوڊ تي پهچندو جيئن اڳ ۾، آخري IP پتو ٻيهر نه ڪيو ويندو، پر ڪنٽرڪ ٽيبل تان ورتو ويندو.
Kubernetes ۾ DNS سان مسئلا. عوامي پوسٽ مارٽم
ڪنٽرڪ ڪيئن ڪم ڪندو آهي

نتيجو

ھي ھڪڙو مثال آھي اسان جي پوسٽ مارٽم مان ڪجھ مفيد لنڪس سان. خاص طور تي هن آرٽيڪل ۾، اسان معلومات حصيداري ڪريون ٿا جيڪي ٻين ڪمپنين لاء ڪارائتو ٿي سگهن ٿيون. ان ڪري اسان غلطي ڪرڻ کان نه ٿا ڊڄون ۽ ان ڪري اسان پنهنجو هڪ پوسٽ مارٽم پبلڪ ڪريون ٿا. هتي ڪجهه وڌيڪ دلچسپ عوامي پوسٽ مارٽم آهن:

جو ذريعو: www.habr.com

تبصرو شامل ڪريو