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

مراحل زیر ترتیب کار است نه توصیه ابزار. هر سیستم پیکربندی که بتواند آن‌ها را بیان کند کافی است.

نخست چهار نوع ورودی را فهرست کنید

تصویر پایه و بسته‌هایش سیستم‌عامل، معماری و محل آمدن به‌روزرسانی‌ها را تعیین می‌کنند، و سازنده تصویر فقط زمانی کمک می‌کند که ابزاری که نام می‌برد هنوز برای نسخه شما نگهداری شود. پیکربندی اعلام‌شده همان بخشی است که انسان بازبینی می‌کند: نقش‌های شبکه، تنظیمات سرویس و کنش‌های چرخه عمری که هر سرویس لازم دارد. داده‌های ماندگار برنامه هر چیزی است که سرویس نمی‌تواند دوباره تولید کند، و مکان و روش پشتیبان‌گیری آن‌ها متعلق به همان برنامه است نه به تصویر. هویت دستگاه‌ها و اسرار چهارمین ورودی‌اند، و همان چیزی هستند که مردم هنگام کلون کردن یک کارت سالم فراموش می‌کنند.

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

اسرار را بیرون از مخزن نگه دارید و بگویید کجا زندگی می‌کنند

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

آزمون ساده است: اگر مخزن فردا لو برود، مهاجم چه چیزی به دست می‌آورد؟ الگوها و یادداشت‌های توپولوژی جان سالم به در می‌برند. هویت عامل نه.

بگذارید خودکارسازی مالک چیزی باشد که می‌تواند دوباره اجرا کند

مدل Ansible فهرستی از گره‌های مدیریت‌شده را جدا از نمایش‌ها، وظیفه‌ها، نقش‌ها و گرداننده‌هایی نگه می‌دارد که وقتی وظیفه‌ای تغییری گزارش کند فعال می‌شوند. از این ساختار استفاده کنید تا به هر سرویس یک مالک پیکربندی بدهید به جای بازپخش تاریخچه پوسته. عملیاتی را ترجیح دهید که اجرای دوباره‌شان بی‌خطر است، و آگاهانه تصمیم بگیرید که فایل تغییرکرده چگونه به فرایند در حال اجرا برسد. وظیفه‌ای که مطمئن می‌شود سرویس شروع شده، لزوماً آن را وادار نمی‌کند پیکربندی‌ای را که همین حالا بازنویسی کردید دوباره بارگذاری کند.

مراحل مدیریت را هم جدا کنید. اتصال راه‌اندازی، پیکربندی روزمره و مدیریت وابسته به VPN سه پنجره متفاوت‌اند، و سومی می‌تواند دسترسی خودتان را بردارد اگر بازسازی شبکه زیر آن را بازنشانی کند. یک مسیر مستقل برای ورود نگه دارید.

داده و هویت را عمداً بازیابی کنید

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

درباره هویت تصمیم بگیرید که همان دستگاه را بازیابی می‌کنید یا جایگزینی را ثبت می‌کنید، چون این‌ها عملیات متفاوتی با پاک‌سازی متفاوت‌اند.

دسترسی همتای قدیمی را پیش از فعال‌سازی هویت در جای دیگر هماهنگ کنید، و تنها پس از آن دستگاه بازسازی‌شده را در محیط جدا یا بازیابی آزمایش کنید. داده‌های لازم، هویت درست، مسیر به‌روزرسانی با مالک و سیاست شبکه مورد نظر را بررسی کنید.

تصویر قابل بوت یکی از چهار ورودی است، و آسان‌ترین مورد برای بازتولید.

مقالات مرتبط