ویرگول
ورودثبت نام
Ali Baghery
Ali Baghery
خواندن ۱ دقیقه·۶ ماه پیش

ترفند دیباگ حرفه ای در کوبرنتیز

سلام بچه ها بعد یه مدت اومدم براتون روش دیباگ حرفه ای که فقط سنیورها ازش مطلع هستند رو باهاتون به اشتراک بزارم

دواپس کارها و برنامه نویس ها حتما زمان هایی براشون پیش اومده که برنامه شون درست کار نمی کنه و میخوان به کانتینرشون وصل بشن و اونو دیباگ کنند و مشکل رو پیدا کنند

خب راحت ترین کار اینه که بیایم کامند زیر رو بزنیم وصل بشیم به کانتینر و BASH اون

kubectl exec -it podname -c containername -- bash

خب چقدر ساده به به :) اما چند تا مشکل اگه ما از distroless‌ها استفاده کرده باشیم یا اینکه کانتینر ما Non root باشه و یا اینکه نخوایم ریسک نصب برنامه روی یک کانتینر درحال اجرا رو به جون بخریم چی؟

خود کوبرنتیز میاد کامند kubectl debug رو معرفی میکنه. این ابزار میاد یک کانتینر از ایمیج دیباگ شما کنار کانتینر مدنظر میسازه که بهش ephermal Container‌میگن و منابع رو باهاش شیر میکنه مثلا شما میخواین فرآیند های سیستمی رو نگاه کنید با ابزار مثلا top که نیاز داره به دسترسی روت میان دستور زیر رو میزنید

kubectl debug -it --container=debug-container --image=busybox --target=<pod> <Container>

بعدش هم شما با دسترسی روت که به کانتینر دارین دستور top‌رو میزنید و پروسس ها رو مشاهده میکنید و ادامه دیباگ خودتون رو انجام میدین.

البته این ابزار یه ویژگی باحال دیگه هم داره که میتونید باهاش میتونید از پاد خودتون کپی کنید تغییرات توش بدین دسترسی هاش رو تغییر بدین و خیلی کارهای باحال دیگه

kubectl debug pod/myapp-pod -it --copy-to=myapp-debug --container=myapp-container --image=busybox

البته مراقب منابع کلاسترتون هم باشین


devopskubernetes
شاید از این پست‌ها خوشتان بیاید