במסמך הזה מפורטת סקירה כללית של ארכיטקטורת סוכן האורח. סוכן האורח הוא רכיב קריטי בסביבת האורח. סביבת האורח מכילה סקריפטים, תהליכי רקע וקבצים בינאריים שהמכונות צריכות כדי לפעול ב-Compute Engine. מידע נוסף זמין במאמר בנושא סביבת אורח.
הסוכן של מערכת ההפעלה האורחת מגדיר שירותים ומגדיר הגדרות מינימליות לתכונות כמו הפעלת סקריפט של תמונת מצב, יתירות כשל ב-Windows, OS Login ואימות SSH מבוסס מטא-נתונים. מידע נוסף על הפונקציות העיקריות של סוכן האורח זמין במאמר פונקציונליות של סוכן האורח.
ארכיטקטורת סוכן אורח
החל מגרסה 20250901.00, הארכיטקטורה של הסוכן האורח עודכנה מעיצוב מונוליטי למערכת מודרנית שמבוססת על תוספים. השינוי הזה משפר את הגמישות, האמינות וההרחבה.
ארכיטקטורה מונוליתית: סוכנים אורחים בגרסאות קודמות לגרסה
20250901.00כוללים תהליך מאוחד יחיד שמתמקד בתיאור המופעים בשרת המטא-נתונים. שרת המטא-נתונים הוא שרת HTTP לכל מכונה שפועל לצד כל מכונה ב-Compute Engine. למידע נוסף על שרת המטא-נתונים, ראו מטא-נתונים של מכונות וירטואליות.הסוכן האורח מבצע סקר ארוך (long polling) של שרת המטא-נתונים ופועל בהתאם לשינויים במצב. באמצעות הארכיטקטורה הזו, המצב של הסוכן משותף בין כל המשימות, כמו SSH והגדרת הרשת. בגישה המונוליטית הזו לא הייתה הפרדה בין הממשק לרכיבים. שינויים או תכונות חדשות באזור אחד של הסוכן משפיעים על המערכת כולה בו-זמנית. הדפוס הזה מקשה על הוספת תכונות ועל כיסוי הבדיקות.
ארכיטקטורה מבוססת-פלאגין: החל מגרסה
20250901.00, סוכן האורח מחולק לפלאגינים נפרדים ועצמאיים שמנוהלים על ידי מנהל מרכזי. כל תוסף יכול ליצור אינטראקציה עם שרת המטא-נתונים, ולבצע שינויים לפי הצורך בהתאם להוראות של מנהל מרכזי. הגישה המודולרית הזו מבטיחה שקריסה בפלאגין אחד לא תשפיע על הסוכן הראשי או על פלאגינים אחרים.
ארכיטקטורה מבוססת-תוספים
הארכיטקטורה הזו מבוססת על מנהל מרכזי ששולט בתוספים שונים, ומפריד בין פונקציונליות עיקרית לבין תוספים אופציונליים שספציפיים לשירות, שנקראים תוספים.
רכיבים עיקריים
בתרשים הבא מוצגים הרכיבים העיקריים של סוכן האורח והאינטראקציות ביניהם.
פלאגין ליבה: הפלאגין הזה כולל את הפונקציונליות של סוכן האורח המקורי. הוא מבצע את המשימות החיוניות שהמופע צריך כדי לפעול ב- Google Cloud. למשל:
- הגדרת רשת: הגדרת ממשק הרשת הראשי כדי לאפשר תקשורת.
- גישת SSH: ניהול מפתחות SSH של משתמשים כדי לאפשר חיבורים מאובטחים למופע.
- גישה למטא-נתונים: מספקת למכונה נתיב גישה למטא-נתונים של המכונה ושל הפרויקט.
אי אפשר להשבית את הפלאגין הראשי.
מידע נוסף על הפונקציות העיקריות של סוכן האורח זמין במאמר פונקציונליות של סוכן האורח.
תוספים (פלאגינים אופציונליים): אתם יכולים להקצות את התוספים האלה כדי לשלב אותם עם שירותים אחרים שלGoogle Cloud ולבצע משימות כמו:
- מעקב ורישום ביומן: הפעלת Ops Agent לאיסוף מדדים ויומנים ל-Cloud Monitoring. מידע נוסף זמין במאמר התקנה וניהול של סוכן תפעול באמצעות מדיניות של VM Extension Manager.
- ניהול עומסי עבודה: הפעלת Agent for Compute Workloads כדי לאסוף מידע על הגדרות וזמן ריצה מעומסי העבודה שלכם לצורך ניתוח. מידע נוסף זמין במאמר סקירה כללית של Agent for Compute Workloads.
- אופטימיזציה של עומסי עבודה: הפעלת Agent for SAP כדי לתמוך בעומסי עבודה של SAP שפועלים ב- Google Cloud. מידע נוסף זמין במאמר בנושא התקנה וניהול של Agent for SAP בצי של מכונות וירטואליות.
מידע נוסף על התקנה וניהול של התוספים האלה זמין במאמר בנושא VM Extension Manager.
VM Extension Manager: השירות המנוהל הזה של Google Cloud פועל בתשתית הקצה העורפי של Google. הכלי VM Extension Manager מנהל את מחזור החיים של התוספים, כולל ההתקנה, העדכונים וההגדרות שלהם, באמצעות תקשורת עם מנהל הסוכן האורח במכונה.
הסוכן הראשי של האורח: התהליך המרכזי הזה מתחיל, מפסיק ועוקב אחרי הסטטוס של כל הפלאגינים. הכלי guest agent manager מאפשר תקשורת בין פלאגין הליבה לבין VM Extension Manager. ניהול מחזור החיים של תוספים כולל את הפעולות הבאות:
- התקנה ועדכונים: מנהל הסוכנים האורחים מתקין, מפעיל, עוצר ומגדיר תוספים על סמך הוראות מ-VM Extension Manager.
- מעקב אחר תקינות: מנהל סוכני האורח עוקב אחרי התקינות והסטטוס של התוספים, כולל השימוש שלהם ב-CPU ובזיכרון, ומדווח על המידע הזה בחזרה אל VM Extension Manager.
- ניהול מדיניות: שימוש בממשקי Compute Engine API כדי ליצור כללי מדיניות ששולטים בהתקנה ובניהול הגרסאות של התוספים.
יתרונות
לארכיטקטורה מבוססת-התוספים יש כמה יתרונות לעומת עיצוב מונוליטי. ההטבות האלה כוללות:
- בידוד של פלאגינים: כל פלאגין פועל בתהליך נפרד, כך שקריסה באחד מהם לא משפיעה על הסוכן הראשי או על פלאגינים אחרים.
- הגנה על משאבים: סוכן האורח משתמש בתכונות ברמת מערכת ההפעלה כדי לאכוף מגבלות על משאבים בתוספים, וכך מונע ממצב שבו תוסף יחיד צורך יותר מדי CPU או זיכרון.
- שחזור אוטומטי של קריסה: המערכת משחזרת אוטומטית מקריסה של פלאגין על ידי עצירה והפעלה מחדש של הפלאגין.
- הפעלה סלקטיבית: אתם יכולים להשבית תוספים שלא נחוצים, וכך לאבטח או לשפר את המכונה.
- צמצום התקורה של התוספים: מנהל הסוכנים של האורחים מטפל באופן אוטומטי בהתקנה ובעדכונים של התוספים, וכך מצטמצם המאמץ הידני שנדרש כדי לשמור על עדכניות התוספים.
נקודות קצה ל-API
הנציג האורח מתקשר עם כמה ממשקי Google API ונקודות קצה כדי לפעול. אם יש לכם כללי חומת אש ספציפיים, או אם אתם משתמשים ב-VPC Service Controls ומסתמכים על פונקציונליות של סוכן שמשתמשת בהם, ודאו שהמכונות שלכם יכולות להגיע לנקודות הקצה המתאימות:
- שרת מטא-נתונים (
metadata.google.internal): הסוכן האורח מסתמך על שרת המטא-נתונים כדי לאחזר את המטא-נתונים של המכונה והפרויקט, כמו מפתחות SSH והגדרות רשת, כדי להגדיר את המכונה. מידע נוסף זמין במאמרים בנושא פונקציונליות עיקרית ונקודות קצה של שרת מטא-נתונים. - Cloud Storage (
storage.googleapis.com): יכול להיות שאמצעי הגישה לאורחים יוריד סקריפטים של מטא-נתונים מ-Cloud Storage אם המטא-נתונים של המכונה מספקים כתובת URL שמפנה לקטגוריה של Cloud Storage. מידע נוסף זמין במאמרים בנושא הרצת סקריפט של מטא-נתונים ונקודות קצה (endpoint) של בקשה במסמכי התיעוד של Cloud Storage. - VM Extension Manager (
*.agentcommunication.googleapis.com): מנהל סוכני האורחים מתקשר עם Agent Communication Service (ACS) כדי לנהל את מחזור החיים של התוספים ולדווח על מדדים בדוח. מידע נוסף זמין במאמר בנושא VM Extension Manager. - Cloud Logging (
logging.googleapis.com): כברירת מחדל, סוכן האורח מפעיל את Cloud Logging ליומנים. מידע נוסף מופיע בסקירה הכללית על Cloud Logging API.
לרשימה המלאה של נקודות קצה אזוריות
המיקום של קובצי ה-binary של סוכן האורח
בטבלאות הבאות מפורטים נתיבי הקבצים של קובצי ה-binary השונים של סוכן האורח במכונות של Linux ו-Windows, בהתאם לארכיטקטורה.
קבצים בינאריים של סוכנים מבוססי-פלאגין
בטבלה הזו מפורטים נתיבי הקבצים של קובצי הבינאריים של סוכן האורח שמבוסס על פלאגין במופעי 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 |
| Metadata script runner | /usr/bin/gce_metadata_script_runner |
C:\Program Files\Google\Compute Engine\agent\GCEMetadataScriptRunner.exe |
קובצי הפעלה של סוכנים מונוליתיים
בטבלה הבאה מפורטים נתיבי הקבצים של קובצי ה-binary של סוכן האורח המונוליטי במופעי 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 |
ההגדרה הזו מופעלת בכל המצבים, כולל תאימות לדורות קודמים. |
| רענון האישורים של עומסי העבודה | 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 |
המאמרים הבאים
- מידע נוסף על פונקציות הליבה של הפלאגין זמין במאמר פונקציונליות של סוכן אורח.