לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
סקירה כללית
אם שלבי ההתאמה האישית הושלמו בהצלחה, כלי התזמור מייצא את דיסק האתחול של המכונה הווירטואלית כתמונת בדיקה זמנית (בשם image-builder-test-image-BUILD_ID במשפחת image-builder-test-images).
הכלי לניהול תהליכים מפעיל מכונה וירטואלית לבדיקה מהתמונה הזו ומריץ חבילה של בדיקות מערכת. הכלי Image Builder מוציא את תוצאות הבדיקה בפורמט XML רגיל של JUnit ישירות ליומני Cloud Build.
פתרון בעיות בבדיקות אימות ספציפיות
כדאי לעיין בסיבות הנפוצות לכשלים ובשלבי האבחון של כל בדיקת אימות:
אימות דרייבר Intel IDPF
בבדיקה הזו מוודאים שמכונות וירטואליות נתמכות טוענות את מנהל ההתקן של פונקציית נתיב הנתונים של Intel Infrastructure (idpf) בממשקי רשת פיזיים.
- תנאי הכשל: האימות של המכונה הווירטואלית נכשל אם היא חוזרת לחבילת מתאם רשת גנרית או אם לליבת האורח חסר מודול מנהל ההתקן הפעיל
idpf. - פתרון:
- מוודאים שלמערכת ההפעלה הבסיסית יש גרסת ליבה שתואמת ל-IDPF.
- מוודאים שכלי רשת רגילים לא מסירים את מנהל ההתקן או לא כוללים אותו ברשימת חסימה.
- בגרסאות ליבה מותאמות אישית, מוודאים שההגדרה
CONFIG_IDPFמוגדרת.
אימות של סוכן אורח ורשת
הבדיקה הזו מוודאת שלמופע יש תקשורת תקינה עם האורח והגדרות סטנדרטיות של ממשק הרשת.
- תנאי לכישלון: הבדיקה נכשלת בכל אחד מהמקרים הבאים:
- במנהל שירותי הסוכן האורח
SubStateלא מוצג סטטוסrunning. - אף ממשק רשת שאינו מסוג loopback לא מחובר לאינטרנט.
- שמות הממשקים לא תואמים לדפוסים סטנדרטיים צפויים (לדוגמה,
eth*אוen*).
- במנהל שירותי הסוכן האורח
פתרון:
מוודאים שהסוכן של האורח מותקן ומוגדר להפעלה בזמן האתחול:
systemctl is-active google-guest-agentמוודאים שהגדרות הרשת (כמו תבניות netplan או ifupdown) לא משביתות ממשקים וירטואליים ראשיים.
אימות של אתחול מאובטח
הבדיקה הזו מאשרת שההפעלה המאובטחת של UEFI פעילה ושהמערכת אוכפת את אימות החתימה של ליבת מערכת ההפעלה של האורח בתמונה.
- תנאי לכישלון: הבדיקה נכשלת אם משתני ה-UEFI של Compute Engine מדווחים על
SecureBootשאינו1או עלSetupModeשאינו0. פתרון:
- מוודאים שהתמונה כוללת מפתחות חתימה תקינים.
בקובץ
imagebuilder.yaml, מוודאים שהקטעguestOsFeaturesמכיל אתUEFI_COMPATIBLEמתחת לבלוק היעדים:destinations: - diskImage: guestOsFeatures: - UEFI_COMPATIBLE
השהיה או המשך של האימות
בבדיקה הזו, המכונה הווירטואלית לבדיקה מושהית באמצעות Compute Engine API, ומוודאים שאחרי שהרצת המכונה הווירטואלית מתחדשת, הקישוריות משוחזרת בלי להפעיל מחדש את האורח.
- תנאי הכשל: הבדיקה נכשלת אם המכונה מופעלת מחדש כשהיא יוצאת ממצב שינה, אם היא נתקעת במהלך ההשהיה או אם היא לא מצליחה לשחזר פינגים ברשת.
- פתרון:
- מוודאים ששירותי ACPI ומדיניות צריכת החשמל במערכת ההפעלה של האורח מופעלים ומוגדרים להגיב לאירועי ACPI.
- בודקים את יומני המערכת של האורח (
/var/log/syslogאו/var/log/messages) כדי לראות אם דמונים מותאמים אישית חוסמים בקשות להעברת המערכת למצב שינה.
דילוג על בדיקות האימות
מומלץ לאמת תמונות של מוצרים, אבל אפשר לדלג על בדיקות אימות במהלך הבדיקה על ידי הגדרת skipSystemTests: true בקטע spec.config בקובץ imagebuilder.yaml:
spec:
config:
skipSystemTests: true