במאמר הזה מוסבר איך לראות את המיקום הפיזי של מופעי A4X Max, A4X, A4, A3 Ultra, A3 Mega ו-A3 High (עם 8 יחידות GPU) שפועלים על בלוקים של קיבולת מוזמנת. אחרי שיוצרים אינסטנסים מסוג A4X Max, A4X, A4, A3 Ultra, A3 Mega ו-A3 High (עם 8 יחידות GPU), אפשר לראות את הסידור שלהם כדי לוודא אילו אינסטנסים של Compute Engine הכי קרובים זה לזה. הבנה של הקרבה בין מופעים מאפשרת לכם:
כדאי לשנות את העיצוב של האפליקציה או של עומס העבודה כדי לצמצם עוד יותר את זמן האחזור ברשת.
אם מופעלות הרבה פעולות חישוב במכונות וירטואליות שמוקמו במקומות רחוקים זה מזה, יכול להיות שיהיו בעיות בביצועים או בהשהיה ברשת.
כדי לראות את הטופולוגיה של אשכולות ב-Cluster Director, אפשר לעיין במאמר בנושא הצגת טופולוגיית אשכולות.
לפני שמתחילים
- כדאי לעיין במינוח שמשמש בתכונות של Cluster Director.
-
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להצגת הטופולוגיה של מכונות Compute, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות לצפייה בטופולוגיה של מכונת מחשוב. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לראות את הטופולוגיה של מכונת Compute, צריך את ההרשאות הבאות:
-
כדי לראות את הפרטים של מופע:
compute.instances.getבפרויקט -
כדי להציג רשימה של מופעים:
compute.instances.listבפרויקט
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הסבר על הטופולוגיה של מכונות Compute
כשמציגים את הפרטים של מכונת חישוב פעילה, אפשר להבין את המיקום הפיזי שלה באשכול על ידי בדיקת השדה Physical host (במסוף Google Cloud ) או השדה physicalHostTopology (ב-CLI של gcloud, ב-Compute Engine API או על ידי שאילתת מפתח המטא-נתונים). השדות האלה מכילים את שדות המשנה הבאים:
cluster: השם הגלובלי של האשכול.
block: המזהה הספציפי לארגון של הבלוק השמור שבו נמצא המופע.
sub-block: המזהה הספציפי לארגון של תת-הבלוק שבו נמצא המופע.
host: המזהה הספציפי לארגון של המארח שבו המופע פועל.
כדי להבין את הקרבה של המופעים, משווים בין הערכים של השדות Physical host או physicalHostTopology בין המופעים. ככל שיש יותר שדות משנה משותפים למופעים, כך הם ממוקמים קרוב יותר פיזית.
אפשר גם לראות את הטופולוגיה של הזמנה שבה נוצרים מופעי מחשוב. השדות physicalHostTopology של הזמנה ושל מכונה מציגים את אותם שדות block ו-cluster. לדוגמה, כשמציגים בלוק ספציפי שמור, אפשר לראות את השם ואת בלוק המשנה של כל המכונות הווירטואליות שפריסתן בוצעה בבלוק. מידע נוסף על הטופולוגיה של הזמנה זמין במאמר הצגת הטופולוגיה של הזמנה.
הצגת הטופולוגיה של מכונות
כדי לראות את המיקום הפיזי של כמה מופעי מחשוב שפועלים בו-זמנית, צריך להשתמש ב-API בארכיטקטורת REST. אחרת, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף VM instances במסוף Google Cloud .
בעמודה Name (שם), לוחצים על השם של המכונה שרוצים לראות את הפרטים שלה. נפתח דף עם פרטי המופע והכרטיסייה פרטים מסומנת.
בקטע מידע בסיסי, בודקים את הערך בשדה מארח פיזי.
gcloud
כדי לראות את המיקום הפיזי של מכונת Compute פעילה, משתמשים בפקודה gcloud compute instances describe עם הדגל --flatten=resourceStatus.physicalHostTopology:
gcloud compute instances describe INSTANCE_NAME \
--flatten=resourceStatus.physicalHostTopology \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: שם המכונה.
ZONE: האזור שבו המכונה קיימת.
הפלט אמור להיראות כך:
---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059
REST
כדי לראות את המיקום הפיזי של מופעי Compute שפועלים, שולחים אחת מGETהבקשות הבאות. כששולחים בקשה, צריך לכלול את פרמטר השאילתה fields ולציין שיוצגו רק השדות name, machineType ו-physicalHostTopology של מופע. צריך לכלול גם את פרמטר השאילתה filter ולציין שרוצים לראות רק את המופעים הפעילים.
כדי לראות רשימה של המופעים בכל האזורים:
instances.aggregatedListmethodGET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNINGכדי לראות רשימה של המכונות שלכם באזור מסוים: שיטת
instances.listGET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו קיימים המופעים.
ZONE: האזור שבו קיימים המופעים.
הפלט אמור להיראות כך:
{
"items": [
{
"name": "vm-01",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"cluster": "europe-west1-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "0fc09525cbd5abd734342893ca1c083f",
"host": "1215168a4ecdfb434fd4d28056589059"
}
}
},
{
"name": "vm-02",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"cluster": "europe-west1-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
}
},
...
]
}
כדי לחדד את רשימת המקרים, עורכים את ביטוי המסנן בפרמטר השאילתה filter.
הצגת טופולוגיה של מופע מחשוב על ידי שליחת שאילתה למפתח מטא-נתונים
כדי לראות את המיקום הפיזי של מופע מחשוב פעיל על ידי שליחת שאילתה למפתח המטא-נתונים physical_host_topology, בוחרים באחת מהאפשרויות הבאות:
מכונות Linux
מתחברים למופע של מחשוב Linux.
במכונת Linux, יוצרים שאילתה באמצעות הכלי
curl. כדי לשלוח שאילתה למפתח המטא-נתוניםphysical_host_topologyבמופעי Linux, מריצים את הפקודה הבאה:user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topologyהפלט אמור להיראות כך:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "1fc18636cbd4abd623553784ca2c174e", "host": "2326279b5ecdfc545fd5e39167698168" }
מכונות וירטואליות של Windows
מתחברים למופע של Windows Compute.
במכונת Windows, יוצרים שאילתה באמצעות הפקודה
Invoke-RestMethod. כדי לשלוח שאילתה למפתח המטא-נתוניםphysical_host_topologyבמופעי Windows, מריצים את הפקודה הבאה:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology") $valueהפלט אמור להיראות כך:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "1fc18636cbd4abd623553784ca2c174e", "host": "2326279b5ecdfc545fd5e39167698168" }
המאמרים הבאים
איך מנהלים אירועים של מארחים: