همهچیز خوب به نظر میاومد؛ Podها Running بودن، Deployها بدون خطا انجام میشدن و لاگها هم چیز خاصی نشون نمیدادن.
ولی هر از گاهی، مخصوصاً موقع Deploy یا Autoscaling، یه عده از کاربرا 502 میگرفتن
اول فکر کردیم مشکل از اپه. بعد رفتیم سراغ Resourceها، Replicaها و Kubernetes.
آخرش رسیدیم به یه مقصر غیرمنتظره: DNS.
Kubernetes پادهای جدید میساخت، پادهای قدیمی حذف میشدن، ولی Nginx هنوز بعضی از IPهای قدیمی رو توی حافظهاش نگه میداشت و درخواستها رو میفرستاد به پادهایی که دیگه وجود نداشتن.
و نتیجه؟
❌ 502 Bad Gateway
این داستان یه بار دیگه بهم یادآوری کرد که همه مشکلات Production از CPU، Memory یا خود اپلیکیشن نیستن.
بعضی وقتا یه فرض کوچیک، مثل نحوه Resolve شدن DNS، میتونه چند ساعت از وقتت رو بگیره.
و راستش... هر بار یه مشکل عجیب توی Production میبینم، اولین چیزی که از خودم میپرسم اینه:
نکنه باز کارِ DNS باشه؟
#DevOps #Kubernetes #Nginx #SRE #DNS #CloudNative
@byteforge_chan
