..

آزمایشگاه خانگی: از ایده تا عمل

چی شد به این نتیجه رسیدم که یه آزمایشگاه خونگی رو راه بندازم؟

چند وقتی که بیشتر بلاگ نویسی میکنم میتونه دلایل زیادی داشته باشه ولی فکر میکنم به خاطر اینه که این روزا وقت آزاد بیشتری برای نوشتن دارم و دوست دارم از این فرصت به خوبی استفاده کنم.

دلیل دیگه اینه که میبینم homelab چقدر میتونه هم برای خودم ارزشمند باشه هم کاربرایی که اینجا منو به زبان فارسی دنبال میکنن.

اما درمورد عنوان این پست بلاگ داشتم به این فکر میکردم که به صورت دائمی یه HomeLab کوچولو و تر و تمیز رو بیارم بالا که همه چیزش ( به غیر از secret ها ) کاملا opensource باشه و با ایده بلاگ که بهبود یه تلاش دائمی است همخوانی داشته باشه

منظور از اینکه بهبود یه تلاش دائمی است اینه که من هرچند وقت یه بار به گذشته نگاه میکنم به مسیر و به چیزایی که نوشتم یا میدونستم و بعد به چیزایی که امروز دغدغه خودم هستش و درموردشون مینویسم نگاه میکنم اگه جایی برای ثبت این تغییرات وجود نداشت من هیچوقت متوجه نمیشدم چه مسیری رو طی کردم. گاهی وقت ها هم خسته شدم یا کنار گذاشتم نه به مدت کوتاهی شاید حتی چندین سال ولی همیشه اینجا وجود داشت و آماده بود تا بهش برگردم.

درمورد هوم‌لب هم این صادقه یعنی نگاه میکنم میبینم طی این سالیان من همیشه درحال ساختن و خراب کردن این هوم‌لب بودم ولی وقتشه که پایه ها و ستون های این رو بزارم من که هم برای خودم سودمند باشه یعنی جایی که میشه با چند تا کلیک دوباره هوم‌لب رو اورد بالا هم برای دیگرانی که این وبلاگ رو دنبال میکنن. برای مثال پستی که درمورد استفاده از ArgoCD نوشتم میتونه به صورت عملی روی هوم‌لب بیاد بالا و هرکسی با هر سطح دانشی با دنبال کردن پست های هوم لب درنهایت بتونه هوم لب خودش رو داشته باشه.

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

اتومیشن و تمیز کار کردن هم بخش بزرگی از ماجراست یعنی صرفا قرار نیست که یه quick start باشه و قراره دغدغه روزمره و دنیای واقعی ما رو پاسخ بده.

آزمایشگاه خانگی چه ویژگی های قراره داشته باشه؟

  1. روی Raspberry Pi 4 Model B اجرا میشه
  2. به صورت headless و با سیستم عامل Debian
  3. تمامی کانفیگ ها برای سیستم عامل به وسیله ansible اعمال میشه
  4. تمامی منیفست ها برای کلاستر کوبرنتیز به وسیله Helm یا Kustomize
  5. مانیتورینگ monitoring
  6. جمع آوری لاگ log management
  7. ردیابی ریکوئست ها opentracing
  8. دسترسی به کلاستر به وسیله tailscale
  9. سرویس دیسکاوری با hashicorp consul
  10. مدیریت secret های درون کلاستر

و هر مورد دیگه ای که به ذهنم برسه بعدا که میتونه کلاستر رو بهتر و باحال تر و باارزش تر کنه