מידע על סוכן האורח

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

הסוכן האורח מגדיר שירותים ומגדיר הגדרות מינימליות לתכונות כמו הרצת סקריפט של תמונת מצב, יתירות כשל ב-Windows, OS Login ואימות SSH מבוסס מטא-נתונים. מידע נוסף על הפונקציות העיקריות של סוכן האורח זמין במאמר פונקציונליות של סוכן האורח.

ארכיטקטורה של סוכני אורחים

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

  • ארכיטקטורה מונוליתית: סוכנים אורחים בגרסאות קודמות ל-20250901.00 כוללים תהליך מאוחד יחיד שמתמקד בתיאור המופעים בשרת המטא-נתונים. שרת המטא-נתונים הוא שרת HTTP לכל מופע שפועל לצד כל מופע של Compute Engine. מידע נוסף על שרת המטא-נתונים זמין במאמר מטא-נתונים של מכונות וירטואליות.

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

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

ארכיטקטורה מבוססת-תוספים

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

רכיבים מרכזיים

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

מנהל מרכזי של סוכני אורחים שולט בתוסף ליבה ובהרחבות.
    מנהל סוכני האורחים מתקשר עם VM Extension Manager בשרת העורפי של Google כדי לנהל את התוספים.
איור 1. ארכיטקטורת סוכן אורח
  • פלאגין ליבה: הפלאגין הזה כולל את הפונקציונליות של סוכן האורח המקורי. הוא מבצע את המשימות החיוניות שנדרשות כדי שהמופע יפעל ב- Google Cloud. דוגמאות למשימות:

    • הגדרת הרשת: הגדרת ממשק הרשת הראשי כדי לאפשר תקשורת.
    • גישת SSH: ניהול מפתחות SSH של משתמשים כדי לאפשר חיבורים מאובטחים למופע.
    • גישה למטא-נתונים: מספקת למכונה הווירטואלית נתיב לגישה למטא-נתונים של המכונה ושל הפרויקט.

    אי אפשר להשבית את פלאגין הליבה.

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

  • תוספים (פלאגינים אופציונליים): אתם יכולים להקצות את התוספים האלה כדי לשלב אותם עם שירותים אחרים שלGoogle Cloud Google ולבצע משימות כמו:

    מידע נוסף על התקנה וניהול של התוספים האלה זמין במאמר בנושא VM Extension Manager.

  • VM Extension Manager: שירות מנוהל Google Cloud שפועל בתשתית העורפית של Google. ‫VM Extension Manager מנהל את מחזור החיים של התוספים, כולל ההתקנה, העדכונים וההגדרה שלהם, באמצעות תקשורת עם מנהל הסוכן האורח במופע.

  • מנהל סוכנים אורחים: התהליך המרכזי הזה מתחיל, מפסיק ועוקב אחרי הסטטוס של כל הפלאגינים. מנהל סוכני האורחים מאפשר תקשורת בין תוסף הליבה לבין VM Extension Manager. ניהול מחזור החיים של תוספים כולל את הפעולות הבאות:

    • התקנה ועדכונים: מנהל הסוכן האורח מתקין, מפעיל, עוצר ומגדיר תוספים על סמך הוראות מ-VM Extension Manager.
    • ניטור תקינות: מנהל סוכני האורח מנטר את התקינות ואת הסטטוס של התוספים, כולל שימושם בזיכרון וב-CPU, ומדווח על המידע הזה בחזרה ל-VM Extension Manager.
    • ניהול מדיניות: שימוש בממשקי Compute Engine API כדי ליצור מדיניות ששולטת בהתקנה ובניהול הגרסאות של תוספים.

יתרונות

לארכיטקטורה מבוססת-התוספים יש כמה יתרונות לעומת עיצוב מונוליטי. ההטבות האלה כוללות:

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

מיקום הקבצים הבינאריים של סוכן האורח

בטבלאות הבאות מפורטות נתיבי הקבצים של קובצי ה-binary השונים של סוכן האורח במופעי Linux ו-Windows, בהתאם לארכיטקטורה.

קבצים בינאריים של סוכנים מבוססי-תוספים

בטבלה הזו מפורטים נתיבי הקבצים של קובצי ה-binaries של סוכן האורח שמבוסס על פלאגין במופעי Linux ו-Windows:

רכיב נתיב ב-Linux נתיב ב-Windows
מנהל נציגים חיצוניים /usr/bin/google_guest_agent_manager C:\ProgramData\Google\Compute Engine\agent\GCEWindowsAgentManager.exe
קובץ בינארי של פלאגין ליבה /usr/lib/google/guest_agent/core_plugin C:\Program Files\Google\Compute Engine\agent\CorePlugin.exe
כלי להרצת סקריפטים של מטא-נתונים /usr/bin/gce_metadata_script_runner C:\Program Files\Google\Compute Engine\agent\GCEMetadataScriptRunner.exe

קובצי הפעלה בינאריים של סוכנים מונוליתיים

בטבלה הבאה מפורטות נתיבי הקבצים של קבצים בינאריים של סוכן אורח מונוליטי במופעי Linux ו-Windows:

רכיב נתיב ב-Linux נתיב ב-Windows
נציג אורח /usr/bin/google_guest_agent C:\Program Files\Google\Compute Engine\agent\GCEWindowsAgent.exe
כלי להרצת סקריפטים של מטא-נתונים /usr/bin/google_metadata_script_runner C:\Program Files\Google\Compute Engine\metadata_scripts\GCEMetadataScripts.exe
מפתחות מורשים לא רלוונטי C:\Program Files\Google\Compute Engine\agent\GCEAuthorizedKeys.exe

שירותי דמון של סוכן אורח

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

רכיב שם השירות ב-Linux שם השירות ב-Windows סטטוס
מנהל נציגים חיצוניים google-guest-agent-manager.service GCEAgentManager ההגדרה הזו מופעלת בכל המצבים, כולל תאימות לאחור.
נציג אורח google-guest-agent.service GCEAgent ההגדרה מושבתת כברירת מחדל.
היא מופעלת רק במצב תאימות לדור קודם.
כלי לניהול תאימות של סוכנים אורחים google-guest-compat-manager.service GCEWindowsCompatManager ההגדרה הזו מופעלת בכל המצבים, כולל תאימות לאחור.
Workload certificate refresher gce-workload-cert-refresh.timer N/A ההגדרה מושבתת כברירת מחדל.
היא מופעלת רק ב מצב תאימות לדור קודם.
סקריפטים לטעינה בזמן ההפעלה google-startup-scripts.service GCEStartup
השבתת סקריפטים google-shutdown-scripts.service Shutdown

תאימות לדורות קודמים

כדי להבטיח מעבר חלק מהסוכן הקודם לאורחים, שהוא מונוליטי, למערכת מבוססת הפלאגין, חבילת הסוכן לאורחים כוללת כמה רכיבים שנועדו לתאימות לאחור. הרכיבים האלה לא נכללים בארכיטקטורה מבוססת-התוספים, והם מופעלים רק אם בוחרים באופן ידני לחזור לסוכן המונוליטי על ידי הגדרת מאפיין המטא-נתונים enable-guest-agent-core-plugin לערך false.

הרכיבים שתומכים בתאימות הזו כוללים את הפריטים הבאים:

  • מנהל התאימות של סוכן האורח: החבילה הזו מנהלת את המעבר בין הסוכן מבוסס-התוסף לבין הסוכן המונוליטי.
  • מנהל התאימות של מפעיל הסקריפטים של המטא-נתונים: החבילה הזו מוודאת שנעשה שימוש במפעיל הסקריפטים הנכון, בהתאם לסוג הסוכן שפעיל (מונוליטי או מבוסס-תוסף).
  • מנהל התאימות של מפתחות מורשים (Windows בלבד): החבילה הזו מטפלת במפתחות SSH, ומוודאת שהמפתחות הנכונים משמשים את הסוכן הישן או החדש.
רכיב נתיב ב-Linux נתיב ב-Windows
כלי לניהול תאימות של סוכנים אורחים /usr/bin/google_guest_compat_manager C:\Program Files\Google\Compute Engine\agent\GCEWindowsCompatManager.exe
כלי לניהול תאימות של סקריפטים של מטא-נתונים /usr/bin/metadata_script_runner_compat C:\Program Files\Google\Compute Engine\metadata_scripts\GCECompatMetadataScripts.exe
מנהל התאימות של מפתחות מורשים לא רלוונטי C:\Program Files\Google\Compute Engine\agent\GCEWindowsAuthorizedKeysCompat.exe

המאמרים הבאים