ساخت اولین آزمایشگاه خانگی
از یک سیستم لینوکسی تازه شروع کنید و یک پروژهٔ کوچک Compose را اجرا، بررسی و بازیابی کنید.
چه چیزی میسازید؟
یک برنامهٔ وب کوچک، دروازهٔ Traefik، پایش با Prometheus و تمرین پشتیبانگیری با restic. فایلها از دستهبندی <bdi>apps</bdi>، <bdi>core</bdi> و <bdi>ops</bdi> در مخزن من پیروی میکنند. اینها مثالهای مستقل با نامهای ساختگی هستند، نه خروجی پیکربندی واقعی من.
محیط اول فقط محلی است. به دامنه، اشتراک VPN، باز کردن پورت روی روتر یا اطلاعات ورود به سرویس ابری نیاز ندارید. دسترسی عمومی را زمانی اضافه کنید که مدیریت و بازیابی یک سرویس خصوصی را یاد گرفته باشید.
با یک ماشین خالی شروع کنید
از یک رایانهٔ اضافی یا ماشین مجازی تازه استفاده کنید. ماشین مجازی رایانهای است که داخل رایانهٔ شما شبیهسازی میشود. برای این تمرین کوچک، ۲ هستهٔ پردازنده، ۴ گیگابایت حافظه و ۲۵ گیگابایت فضای دیسک در نظر بگیرید. پردازش عکس، هوش مصنوعی محلی و مجموعههای بزرگ رسانه به منابع بیشتری نیاز دارند. این اعداد برای اجرای تمام فهرست نیستند.
Ubuntu Server 24.04 LTS را از وبسایت رسمی اوبونتو بگیرید و با راهنمای نصب نصب کنید. فقط دیسک خالی مخصوص تمرین را انتخاب کنید؛ نصب ممکن است محتوای آن را پاک کند. کاربر و گذرواژهٔ خودتان را بسازید، در صورت نیاز OpenSSH را فعال کنید و آدرس ماشین را از کنسول آن یادداشت کنید. روی روتر پورت باز نکنید.
میتوانید همهٔ فرمانها را در کنسول اجرا کنید. راه دیگر، باز کردن ترمینال روی رایانهٔ خود و اجرای ssh learner@YOUR_SERVER است. نام کاربر و آدرس را با اطلاعات ماشین خود جایگزین کنید. پیش از پذیرش اولین کلید میزبان، آن را با کنسول سرور تطبیق دهید. پس از اتصال SSH، فرمانها روی سرور اجرا میشوند؛ 127.0.0.1 در آن محیط به سرور اشاره میکند، نه لپتاپ شما.
ترتیب مطالعه
- نصب Docker و Compose: آمادهسازی میزبان و بررسی اجرا.
- اجرای محیط تمرینی: دریافت فایلها، شروع سه کانتینر و باز کردن برنامه.
- شناخت تنظیمات Compose: ایمیج، شبکه، ذخیرهسازی، مجوز و محدودیت منابع.
- دنبال کردن درخواست از DNS تا دروازه: تفاوت تبدیل نام، هدایت درخواست و مجوز دسترسی.
- یافتن خرابی با گزارشها و معیارها: توقف برنامهٔ نمونه، بررسی مشکل و راهاندازی دوباره.
- پشتیبانگیری و بازیابی یک فایل: آزمایش بازیابی پیش از ذخیرهٔ دادهٔ مهم.
- اضافه کردن یک استک واقعی: انتخاب یک برنامه و بررسی تنظیمات، دسترسی، داده و بازیابی آن.
فرمانها را کجا اجرا کنید؟
مگر آنکه مشخص شده باشد، فرمانها روی سرور تمرینی و در پوشهٔ ~/homelab-practice اجرا میشوند. فرمان ایجاد تونل SSH را روی رایانهٔ خودتان اجرا کنید. YAML پیکربندی است و باید در فایل ذخیره شود؛ فرمان ترمینال نیست. عبارتهای جایگزین با حروف بزرگ را پیش از اجرا عوض کنید. علامتهایی مانند $ که نشانهٔ خط فرماناند، جزو فرمان نیستند.
چه چیزی بررسی شده است؟
بستهٔ تمرینی تنظیمات و README با فرمانهای راهاندازی و بازیابی دارد. مسیریابی، متریک، برگشت برنامهٔ متوقف و بازیابی فایل در پروژهٔ تمرینی جدا بررسی شدهاند. نصب تازهٔ سیستمعامل و استکهای دیگر بخشی از آن آزمون نبودند. کار کردن مثال، امنیت میزبان یا برنامههای بعدی را ثابت نمیکند.
تغییرهای خود را با تاریخ، نسخهٔ ایمیج، تنظیم تغییرکرده، نتیجهٔ مورد انتظار، نتیجهٔ واقعی و مراحل بازیابی یادداشت کنید. این یادداشتها امکان ساخت دوبارهٔ محیط را فراهم میکنند.