אתחול חד־פעמי מתמונה אינו הופך את ה־Pi למכשיר שניתן לבנות מחדש. דרוש סט קטן של קלטים שאפשר ליישם שוב: בסיס מתוחזק, תצורה מוצהרת, הנתונים המתמידים של היישום וזהות מכשיר ששייכת רק ללוח הזה. אם תשכחו את האחרון, כל החלפה תהפוך לשיבוט של אישור גישה.

השלבים שלהלן הם סדר עבודה ולא המלצת כלי. כל מערכת תצורה שמסוגלת לבטא אותם תספיק.

תחילה רשמו את ארבעת סוגי הקלט

תמונת הבסיס והחבילות שלה מגדירות את מערכת ההפעלה, את הארכיטקטורה ואת מקור העדכונים, ובונה תמונות עוזר רק אם הכלי שהוא מציין עדיין מתוחזק למהדורה שלכם. התצורה המוצהרת היא החלק שאדם סוקר: תפקידי רשת, הגדרות שירות ופעולות מחזור החיים שכל שירות צריך. נתוני יישום מתמידים הם כל מה שהשירות אינו יכול ליצור מחדש, והמיקום ושיטת הגיבוי שלהם שייכים ליישום ולא לתמונה. זהויות מכשירים וסודות הם הקלט הרביעי, ואותם אנשים שוכחים כשהם משבטים כרטיס שעובד.

כתבו את ארבעת הרשימות לפני שתבנו מחדש משהו. רשימה עם שורה ריקה היא החלטה שעדיין לא קיבלתם.

הרחיקו סודות מהמאגר ואמרו היכן הם חיים

מאגר הוא בית טוב לתבניות שנסקרו ולתצורה שאינה סודית, ובית גרוע למפתחות פרטיים של VPN, לאישורי מנהל לשימוש חוזר ולארכיוני אבחון. אם סוד חייב להתקיים במכשיר, רשמו מהיכן הוא מגיע, מי יכול לקרוא אותו וכיצד הוא מוחלף. מפתח שחי רק על כרטיס SD אחד הוא נקודת כשל יחידה, ואילו מפתח שהועתק לכל לוח הוא אישור גישה ברמת הצי כולו בלי בעלים. אף אחד מהם אינו תוכנית התאוששות.

המבחן פשוט: אילו המאגר דלף מחר, מה היה מרוויח תוקף? תבניות והערות טופולוגיה שורדות. זהות פעילה לא.

תנו לאוטומציה להחזיק במה שהיא יכולה להריץ שוב

המודל של Ansible מחזיק מלאי של צמתים מנוהלים בנפרד ממחזות, משימות, תפקידים ומטפלים שמופעלים כשמשימה מדווחת על שינוי. השתמשו במבנה הזה כדי לתת לכל שירות בעל תצורה אחד במקום לשחזר היסטוריית מעטפת. העדיפו פעולות שבטוחות להרצה כפולה, והחליטו במכוון כיצד קובץ ששונה מגיע לתהליך הרץ. משימה שמבטיחה ששירות הופעל אינה בהכרח גורמת לו לטעון מחדש תצורה שזה עתה שכתבתם.

הפרידו גם את שלבי הניהול. קישוריות אתחול, תצורה שגרתית וניהול שתלוי ב־VPN הם שלושה חלונות שונים, והשלישי עלול לשלול את הגישה שלכם אם הבנייה מחדש מאפסת את הרשת שמתחתיו. שמרו על נתיב כניסה עצמאי.

שחזרו נתונים וזהות בכוונה

כרכים של מכולות נשמרים ללא תלות במחזור החיים של המכולה, ואילו השכבה הניתנת לכתיבה בתוך מכולה אינה נשמרת, ולכן יצירת מכולה מחדש מהתמונה שלה אינה יוצרת מחדש את המצב שבו השתמש היישום, כפי שמתארת תיעוד הכרכים. רשמו את הכרכים, נקודות העגינה והשירותים החיצוניים שהמכשיר תלוי בהם, והשתמשו בתהליך הגיבוי והשחזור של היישום עצמו. מכולה שעולה בלי שגיאה אינה הוכחה שמסד הנתונים והקבצים שלה תואמים.

בעניין הזהות, החליטו אם אתם משחזרים את אותו מכשיר או רושמים מחליף, כי אלו פעולות שונות עם ניקוי שונה.

התאימו את הגישה של העמית הישן לפני הפעלת זהות במקום אחר, ורק אחר כך בדקו את המכשיר שנבנה מחדש בסביבה מבודדת או בסביבת שחזור. בדקו את הנתונים הנדרשים, את הזהות הנכונה, נתיב עדכון עם בעלים ואת מדיניות הרשת המיועדת.

תמונה ניתנת לאתחול היא אחד מארבעה קלטים, והיא הקלה ביותר לשחזור.

מאמרים קשורים