במאמר הזה מוסבר איך אפשר להקטין את זמן האחזור ברשת בין מכונות Compute Engine באמצעות יצירה והחלה של מדיניות מיקום קומפקטית. למידע נוסף על כללי מדיניות מיקום, כולל סדרות המכונות הנתמכות, ההגבלות והתמחור, ראו סקירה כללית של כללי מדיניות מיקום.
מדיניות למיקום קומפקטי מציינת ש-Compute Engine ממקם את המכונות קרוב יותר זו לזו באופן פיזי. השימוש ב-SR-IOV יכול לשפר את הביצועים ולהפחית את זמן האחזור ברשת בין המכונות כשמריצים עומסי עבודה של מחשוב עתיר ביצועים (HPC), למידת מכונה (ML) או שרת מסד נתונים.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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 .
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירה ולהחלה של מדיניות מיקום קומפקטית על מכונות Compute, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) -
כדי ליצור הזמנה:
אדמין Compute (
roles/compute.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות ליצירה ולהחלה של מדיניות מיקום קומפקטית על מופעי מחשוב. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור מדיניות מיקום קומפקטית ולהחיל אותה על מכונות וירטואליות, צריך את ההרשאות הבאות:
-
כדי ליצור מדיניות מיקום:
compute.resourcePolicies.createבפרויקט -
כדי להחיל מדיניות מיקום על מכונות וירטואליות קיימות:
compute.instances.addResourcePoliciesבפרויקט -
כדי ליצור מכונות וירטואליות:
-
compute.instances.createבפרויקט - כדי להשתמש באימג' בהתאמה אישית ליצירת המכונה הווירטואלית (VM):
compute.images.useReadOnlyבקובץ אימג' - כדי להשתמש ב-snapshot ליצירת המכונה הווירטואלית:
compute.snapshots.useReadOnlyבקובץ snapshot - כדי להשתמש בתבנית של הגדרות מכונה ליצירת המכונה הווירטואלית:
compute.instanceTemplates.useReadOnlyבתבנית של הגדרות המכונה - כדי להקצות רשת מדור קודם למכונה הווירטואלית:
compute.networks.useבפרויקט - כדי לציין כתובת IP סטטית למכונה הווירטואלית:
compute.addresses.useבפרויקט - כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת מדור קודם:
compute.networks.useExternalIpבפרויקט - כדי לציין רשת משנה למכונה הווירטואלית:
compute.subnetworks.useבפרויקט או ברשת המשנה שנבחרה - כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת VPC:
compute.subnetworks.useExternalIpבפרויקט או ברשת המשנה שנבחרה - כדי להגדיר מטא-נתונים של המכונה הווירטואלית למכונה הווירטואלית:
compute.instances.setMetadataבפרויקט - כדי להגדיר תגים למכונה הווירטואלית:
compute.instances.setTagsבמכונה הווירטואלית - כדי להגדיר תוויות למכונה הווירטואלית:
compute.instances.setLabelsבמכונה הווירטואלית - כדי להגדיר חשבון שירות לשימוש של המכונה הווירטואלית:
compute.instances.setServiceAccountבמכונה הווירטואלית - כדי ליצור דיסק חדש למכונה הווירטואלית:
compute.disks.createבפרויקט - כדי לצרף דיסק קיים במצב קריאה-בלבד או במצב קריאה וכתיבה:
compute.disks.useבדיסק - כדי לצרף דיסק קיים במצב קריאה-בלבד:
compute.disks.useReadOnlyבדיסק
-
-
כדי ליצור הזמנה:
compute.reservations.createבפרויקט -
כדי ליצור תבנית של הגדרות מכונה:
compute.instanceTemplates.createבפרויקט -
כדי ליצור MIG:
compute.instanceGroupManagers.createבפרויקט -
כדי לראות את הפרטים של מופע Compute:
compute.instances.getבפרויקט
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת מדיניות למיקום קומפקטי
לפני שיוצרים מדיניות מיקום קומפקטית, כדאי להביא בחשבון את הנקודות הבאות:
אם רוצים להחיל מדיניות מיקום קומפקטית על מופע Compute שאינו M3, M2, M1, N2D או N2, צריך לבצע אחת מהפעולות הבאות בהתאם לסוג המכונה:
במכונות A4X Max או A4X עצמאיות, צריך לציין שרוצים ליצור מכונות Compute באותו בלוק משנה כדי להשתמש בדומיין NVLink, כמו שמתואר בקטע הזה.
למופעי מחשוב אחרים שתומכים במדיניות מיקום קומפקטית, צריך לציין ערך מרחק מקסימלי.
אם אתם רוצים להחיל מדיניות למיקום קומפקטי על מופע A3 Mega, A3 High או A3 Edge שנוצר לפני 1 באוקטובר 2025, אתם צריכים לפנות לצוות ניהול החשבון שלכם.
כדי ליצור מדיניות למיקום קומפקטי, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי להחיל את מדיניות המיקום הקומפקטי על מכונות M3, M2, M1, N2D או N2, יוצרים את המדיניות באמצעות הפקודה
gcloud compute resource-policies create group-placementעם הדגל--collocation=collocated.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGIONמחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
REGION: האזור שבו יוצרים את מדיניות המיקום.
כדי להחיל את מדיניות המיקום הקומפקטי על מקרים עצמאיים של A4X Max או A4X, יוצרים את המדיניות באמצעות הפקודה
gcloud compute resource-policies create group-placementעם הדגלים--collocation=collocatedו---gpu-topology=1x72.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --gpu-topology=1x72 \ --region=REGIONכדי להחיל את המדיניות למיקום קומפקטי על כל מכונת Compute אחרת שנתמכת, יוצרים את המדיניות באמצעות הפקודה
gcloud beta compute resource-policies create group-placementעם הדגלים--collocation=collocatedו---max-distance.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
MAX_DISTANCE: הגדרת המרחק המקסימלי למופעי המחשוב. הערך צריך להיות בין1, שמציין שצריך למקם את מופעי החישוב באותו תת-בלוק כדי להשיג את השהיית הרשת הנמוכה ביותר שאפשר, לבין3, שמציין שצריך למקם את מופעי החישוב באותו אשכול. אם רוצים להחיל מדיניות למיקום קומפקטי על הזמנה, אפשר לציין רק את הערך3או2.
REGION: האזור שבו רוצים ליצור את מדיניות המיקום.
REST
כדי להחיל את מדיניות המיקום הקומפקטי על מכונות M3, M2, M1, N2D או N2, צריך ליצור את המדיניות על ידי שליחת בקשת
POSTאל ה-methodresourcePolicies.insert. בגוף הבקשה, כוללים את השדהcollocationומגדירים אותו לערךCOLLOCATED.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }כדי להחיל את המדיניות למיקום קומפקטי על מכונות עצמאיות מסוג A4X Max או A4X, יוצרים את המדיניות על ידי שליחת בקשת
POSTאל ה-methodresourcePolicies.insert. בגוף הבקשה, כוללים את השדהcollocationשמוגדר ל-COLLOCATEDואת השדהgpuTopologyשמוגדר ל-1x72.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "gpuTopology": "1x72" } }כדי להחיל את מדיניות המיקום הקומפקטי על מכונות וירטואליות נתמכות אחרות, צריך ליצור את המדיניות על ידי שליחת בקשת
POSTאל ה-methodbeta.resourcePolicies.insert. בגוף הבקשה, כוללים את הפרטים הבאים:השדה
collocationמוגדר ל-COLLOCATED.השדה
maxDistance.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": MAX_DISTANCE } }
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מדיניות מיקום האחסון.
REGION: האזור שבו יוצרים את מדיניות מיקום המשאבים.
MAX_DISTANCE: הגדרת המרחק המקסימלי למופעי המחשוב. הערך צריך להיות בין1, שמציין שהמכונות הווירטואליות של Compute Engine ימוקמו באותו בלוק משנה כדי להשיג את זמן האחזור הנמוך ביותר האפשרי ברשת, לבין3, שמציין שהמכונות הווירטואליות של Compute Engine ימוקמו באותו אשכול. אם רוצים להחיל על הזמנה את מדיניות המיקום הקומפקטי, אפשר לציין רק את הערך3או2.
החלת מדיניות למיקום קומפקטי
אפשר להחיל מדיניות מיקום קומפקטית על מופע קיים של מחשוב או על קבוצת מופעי מכונה מנוהלים (MIG), או כשיוצרים מופעים של מחשוב, תבניות של מופעים, קבוצות MIG או הזמנות של מופעים של מחשוב.
כדי להחיל מדיניות למיקום קומפקטי על משאב של Compute Engine, בוחרים באחת מהשיטות הבאות:
- החלת המדיניות על מכונה קיימת
- החלת המדיניות במהלך יצירת מכונה.
- החלת המדיניות בזמן יצירת כמות גדולה של מכונות.
- החלת המדיניות במהלך יצירת הזמנה.
- החלת המדיניות בזמן יצירת תבנית של הגדרות מכונה.
אחרי שמחילים מדיניות מיקום קומפקטית על מופע, אפשר לאמת את המיקום הפיזי של המופע ביחס למופעים אחרים שבהם צוינה אותה מדיניות מיקום.
החלת המדיניות על מופע קיים
לפני שמחילים מדיניות למיקום קומפקטי על מכונה קיימת של Compute Engine, חשוב לוודא את הדברים הבאים:
מכונת החישוב ומדיניות המיקום הקומפקטי חייבות להיות באותו אזור. לדוגמה, אם מדיניות המיקום נמצאת באזור
us-central1, המכונה של Compute צריכה להיות בתחום ב-us-central1. אם אתם צריכים להעביר מכונת חישוב לאזור אחר, תוכלו לקרוא את המאמר העברת מכונת חישוב בין אזורים או תחומים.המכונה צריכה להשתמש בסדרת מכונות ובמדיניות תחזוקה של מארח נתמכות. אם אתם צריכים לבצע שינויים במכונה הווירטואלית, בצעו אחת מהפעולות הבאות או את שתיהן:
אחרת, לא תצליחו להחיל את המדיניות למיקום קומפקטי על המכונה של Compute Engine. אם למכונה כבר יש מדיניות מיקום ואתם רוצים להחליף אותה, קראו את המאמר החלפת מדיניות מיקום במכונה.
כדי להחיל מדיניות למיקום קומפקטי על מכונת Compute קיימת, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי להחיל מדיניות למיקום קומפקטי על מכונת Compute קיימת, משתמשים בפקודה
gcloud compute instances add-resource-policies.gcloud compute instances add-resource-policies INSTANCE_NAME \ --resource-policies=POLICY_NAME \ --zone=ZONEמחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של מכונת Compute קיימת.
POLICY_NAME: השם של מדיניות קיימת למיקום קומפקטי.
ZONE: האזור שבו קיימת מכונת ה-Compute.
REST
כדי להחיל מדיניות למיקום קומפקטי על מכונת חישוב קיימת, שולחים בקשת
POSTאל ה-methodinstances.addResourcePolicies.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addResourcePolicies { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו קיימת מדיניות המיקום הקומפקטית ומופע Compute.
ZONE: האזור שבו נמצאת המכונה של Compute Engine.
INSTANCE_NAME: השם של מכונת Compute קיימת.
REGION: האזור שבו נמצאת המדיניות למיקום קומפקטי.
POLICY_NAME: השם של מדיניות קיימת למיקום קומפקטי.
החלת המדיניות במהלך יצירת מכונה
אפשר ליצור מכונת Compute רק אם מציינים מדיניות למיקום קומפקטי באותו אזור שבו מוגדרת מדיניות המיקום.
כדי ליצור מכונת חישוב שמציינת מדיניות מיקום קומפקטית, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור מכונה עם מדיניות מיקום קומפקטי, משתמשים בפקודה gcloud compute instances create עם הדגלים --maintenance-policy ו---resource-policies.
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=MAINTENANCE_POLICY \
--resource-policies=POLICY_NAME \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של מכונת ה-Compute שרוצים ליצור.
MACHINE_TYPE: סוג מכונה נתמך למדיניות למיקום קומפקטי.
MAINTENANCE_POLICY: מדיניות התחזוקה של המארח של מכונת ה-Compute. אם מדיניות המיקום הקומפקטי שציינתם משתמשת בערך מרחק מקסימלי של1או2, או אם סוג המכונה שבחרתם לא תומך בהעברה פעילה, תוכלו לציין רקTERMINATE. אחרת, אפשר לצייןMIGRATEאוTERMINATE.
POLICY_NAME: השם של מדיניות קיימת למיקום קומפקטי.
ZONE: האזור שבו יוצרים את מכונת ה-Compute.
REST
כדי ליצור מכונת Compute שמציינת מדיניות למיקום קומפקטי, שולחים בקשת POST אל ה-method instances.insert.
בגוף הבקשה, כוללים את השדות onHostMaintenance ו-resourcePolicies.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "INSTANCE_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"resourcePolicies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
],
"scheduling": {
"onHostMaintenance": "MAINTENANCE_POLICY"
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצאת מדיניות המיקום הקומפקטית.
ZONE: האזור שבו יוצרים את מכונת המחשוב ושבו נמצא סוג המכונה. אפשר לציין אזור רק באזור של מדיניות המיקום הקומפקטית.
INSTANCE_NAME: השם של מכונת ה-Compute שרוצים ליצור.
MACHINE_TYPE: סוג מכונה נתמך למדיניות למיקום קומפקטי.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר בנושא תמונות ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של קובץ האימג' של מערכת ההפעלה, לדוגמה
debian-12-bookworm-v20240617.משפחת תמונות, בפורמט
family/IMAGE_FAMILY. הערך הזה מציין את קובץ אימג' של מערכת ההפעלה העדכני ביותר שלא הוצא משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה העדכנית במשפחת תמונות Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
REGION: האזור שבו נמצאת מדיניות המיקום הקומפקטי.
POLICY_NAME: השם של מדיניות קיימת למיקום קומפקטי.
MAINTENANCE_POLICY: מדיניות התחזוקה של המארח של מכונת ה-Compute. אם במדיניות למיקום קומפקטי שהגדרתם ערך המרחק המקסימלי הוא1או2, או אם סוג המכונה שבחרתם לא תומך במיגרציה פעילה, אתם יכולים להגדיר רקTERMINATE. אחרת, אפשר לצייןMIGRATEאוTERMINATE.
מידע נוסף על אפשרויות ההגדרה ליצירת מכונת חישוב זמין במאמר יצירה והפעלה של מכונת חישוב.
החלת המדיניות בזמן יצירת כמות גדולה של מכונות
אפשר ליצור מכונות וירטואליות בכמות גדולה רק באמצעות מדיניות למיקום קומפקטי, באותו אזור שבו מוגדרת מדיניות המיקום.
כדי ליצור מכונות וירטואליות בכמות גדולה עם מדיניות מיקום קומפקטית, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור כמות גדולה של מכונות וירטואליות עם מדיניות מיקום קומפקטית, משתמשים בפקודה gcloud compute instances bulk create עם הדגלים --maintenance-policy ו---resource-policies.
לדוגמה, כדי ליצור מכונות Compute בכמות גדולה באזור אחד ולציין תבנית שם למכונות Compute, מריצים את הפקודה הבאה:
gcloud compute instances bulk create \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--maintenance-policy=MAINTENANCE_POLICY \
--name-pattern=NAME_PATTERN \
--resource-policies=POLICY_NAME \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
COUNT: מספר המכונות הווירטואליות של Compute Engine שרוצים ליצור. המספר לא יכול להיות גבוה מהמספר המקסימלי של מכונות וירטואליות של Compute Engine שנתמכות במדיניות המיקום הקומפקטי שצוינה.
MACHINE_TYPE: סוג מכונה נתמך למדיניות למיקום קומפקטי.
MAINTENANCE_POLICY: מדיניות התחזוקה של המארח של המכונה. אם במדיניות למיקום קומפקטי שציינתם ערך המרחק המקסימלי הוא1או2, או שסוג המכונה שבחרתם לא תומך במיגרציה פעילה, אתם יכולים לציין רקTERMINATE. אחרת, אפשר לצייןMIGRATEאוTERMINATE.
NAME_PATTERN: תבנית השם של מכונות Compute. כדי להחליף רצף של מספרים בשם של מכונה וירטואלית, משתמשים ברצף של תווי סולמית (#). לדוגמה, אם משתמשים ב-vm-#בתבנית השם, נוצרים מכונות עם שמות שמתחילים ב-vm-1, ב-vm-2וכן הלאה, עד למספר המכונות שצוין ב-COUNT.
POLICY_NAME: השם של מדיניות קיימת למיקום קומפקטי.
ZONE: האזור שבו ייצרו את מכונות ה-Compute בכמות גדולה.
REST
כדי ליצור כמות גדולה של מכונות וירטואליות עם מדיניות מיקום קומפקטית, שולחים בקשת POST אל ה-method instances.bulkInsert.
בגוף הבקשה, כוללים את השדות onHostMaintenance ו-resourcePolicies.
לדוגמה, כדי ליצור מכונות וירטואליות של Compute בכמות גדולה באזור אחד ולציין תבנית שם למכונות הוירטואליות של Compute, שולחים בקשת POST באופן הבא:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"count": "COUNT",
"namePattern": "NAME_PATTERN",
"instanceProperties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"resourcePolicies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
],
"scheduling": {
"onHostMaintenance": "MAINTENANCE_POLICY"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצאת מדיניות המיקום הקומפקטי.
ZONE: האזור שבו יוצרים את המכונות הווירטואליות בכמות גדולה.
COUNT: מספר מופעי החישוב שייווצרו, שלא יכול להיות גבוה ממספר המופעים המקסימלי הנתמך של מדיניות למיקום קומפקטי שצוינה.
NAME_PATTERN: תבנית השם של מכונות Compute. כדי להחליף רצף של מספרים בשם של מופע, משתמשים ברצף של תווים של סולמית (#). לדוגמה, אם משתמשים בתבנית השםvm-#, נוצרים מכונות Compute עם שמות שמתחילים ב-vm-1,vm-2וכן הלאה, עד למספר המכונות שצוין ב-COUNT.
MACHINE_TYPE: סוג מכונה נתמך למדיניות למיקום קומפקטי.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר בנושא תמונות ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של קובץ האימג' של מערכת ההפעלה, לדוגמה
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. הערך הזה מציין את קובץ אימג' של מערכת ההפעלה העדכני ביותר שלא הוצא משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה העדכנית במשפחת תמונות Debian 12. למידע נוסף על השימוש במשפחות של קובצי אימג', ראו שיטות מומלצות למשפחות של קובצי אימג'.
REGION: האזור שבו נמצאת המדיניות למיקום קומפקטי.
POLICY_NAME: השם של מדיניות קיימת למיקום קומפקטי.
MAINTENANCE_POLICY: מדיניות התחזוקה של המארח של המכונה. אם המדיניות למיקום קומפקטי שציינתם משתמשת בערך מרחק מקסימלי של1או2, או אם סוג המכונה שבחרתם לא תומך במיגרציה פעילה, תוכלו לציין רקTERMINATE. אחרת, אפשר לצייןMIGRATEאוTERMINATE.
מידע נוסף על אפשרויות ההגדרה ליצירת מכונות וירטואליות בכמות גדולה זמין במאמר יצירת מכונות וירטואליות בכמות גדולה.
החלת המדיניות במהלך יצירת הזמנה
אם רוצים ליצור הזמנה על פי דרישה לפרויקט יחיד עם מדיניות מיקום קומפקטית, צריך ליצור הזמנה עם טירגוט ספציפי. כשיוצרים מכונות וירטואליות כדי להשתמש בשמירת המקום, חשוב לוודא את הדברים הבאים:
במכונות הווירטואליות צריך לציין את אותה מדיניות למיקום קומפקטי שחלה על ההזמנה.
צריך לטרגט את המכונות הווירטואליות באופן ספציפי להזמנה כדי להשתמש בה. איך משתמשים במכונות של Compute Engine מהזמנה ספציפית
כדי ליצור מקום שמור לפרויקט יחיד עם מדיניות למיקום קומפקטי, בוחרים אחת מהשיטות הבאות:
כדי ליצור את ההזמנה, מציינים את המאפיינים ישירות כמו שמתואר בקטע הזה.
מחילים את המדיניות במהלך יצירת תבנית של הגדרות מכונה, כמו שמתואר במסמך הזה, ואז יוצרים מקום שמור לפרויקט יחיד על ידי ציון תבנית של הגדרות מכונה החדשה.
כדי ליצור מקום שמור לפרויקט יחיד עם מדיניות למיקום קומפקטי, בוחרים אחת מהאפשרויות הבאות ומציינים את המאפיינים ישירות:
המסוף
פותחים את הדף Reservations במסוף Google Cloud .
לוחצים על Create reservation (יצירת בקשה לשמירת מקום). ייפתח הדף Create a reservation.
בשדה Name, נותנים שם לבקשה.
ברשימות Region ו-Zone, בוחרים את האזור והתחום שבהם רוצים לשריין את המשאבים.
בקטע Use with VM instance, בוחרים באפשרות Select specific reservation.
בקטע VM instances and GPUs (מכונות וירטואליות ויחידות GPU), מבצעים את הפעולות הבאות:
בשדה Number of VM instances מקלידים את מספר המכונות הווירטואליות שרוצים לשריין.
מציינים סדרת מכונות וסוג מכונה שתומכים במדיניות מיקום קומפקטית.
בקטע מדיניות מיקום קבוצות, לוחצים על הרשימה בחירה או יצירה של מדיניות מיקום קבוצות ואז מבצעים אחת מהפעולות הבאות:
כדי ליצור מדיניות קומפקטית למיקום מודעות, מבצעים את השלבים הבאים:
לוחצים על יצירת מדיניות למיקום קבוצות. מופיעה החלונית Create a group placement policy.
בשדה שם המדיניות, מזינים שם למדיניות.
לוחצים על יצירה.
כדי לבחור מדיניות קיימת של מיקום קומפקטי, בוחרים מדיניות שקיימת באותו אזור שבו רוצים לשריין מכונות.
לוחצים על Create כדי ליצור את הבקשה לשמירת מקום.
gcloud
כדי ליצור מקום שמור לפרויקט יחיד עם מדיניות למיקום קומפקטי על ידי ציון מאפיינים ישירות, משתמשים בפקודה gcloud compute reservations create עם הדגלים --require-specific-reservation ו---resource-policies=policy.
gcloud compute reservations create RESERVATION_NAME \
--machine-type=MACHINE_TYPE \
--require-specific-reservation \
--resource-policies=policy=POLICY_NAME \
--vm-count=NUMBER_OF_INSTANCES \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
RESERVATION_NAME: שם ההזמנה.
MACHINE_TYPE: סוג מכונה נתמך למדיניות למיקום קומפקטי.
POLICY_NAME: השם של מדיניות קיימת למיקום קומפקטי.
NUMBER_OF_INSTANCES: מספר מופעי החישוב שרוצים לשריין, שלא יכול להיות גבוה מהמספר המקסימלי הנתמך של מופעים של מדיניות המיקום הקומפקטי שצוינה.
ZONE: האזור שבו רוצים לשריין מכונות וירטואליות. אפשר להזמין מכונות Compute רק באזור שבו נמצאת המדיניות למיקום קומפקטי שצוינה.
REST
כדי ליצור מקום שמור לפרויקט יחיד עם מדיניות למיקום קומפקטי על ידי ציון מאפיינים ישירות, שולחים בקשת POST אל ה-method reservations.insert.
בגוף הבקשה, כוללים את השדה resourcePolicies ואת השדה specificReservationRequired שמוגדר ל-true.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations
{
"name": "RESERVATION_NAME",
"resourcePolicies": {
"policy" : "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
},
"specificReservation": {
"count": "NUMBER_OF_INSTANCES",
"instanceProperties": {
"machineType": "MACHINE_TYPE",
}
},
"specificReservationRequired": true
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצאת המדיניות למיקום קומפקטי.
ZONE: האזור שבו רוצים לשריין מכונות וירטואליות. אפשר להקצות מכונות וירטואליות רק באזור שבו נמצאת המדיניות למיקום קומפקטי.
RESERVATION_NAME: השם של ההזמנה.
REGION: האזור שבו נמצאת מדיניות המיקום הקומפקטי.
POLICY_NAME: השם של מדיניות קיימת למיקום קומפקטי.
NUMBER_OF_INSTANCES: מספר המכונות הווירטואליות לחישוב שרוצים לשריין, שלא יכול להיות גבוה מהמספר המקסימלי הנתמך של מכונות וירטואליות לחישוב של מדיניות המיקום הקומפקטי שצוינה.
MACHINE_TYPE: סוג מכונה נתמך למדיניות למיקום קומפקטי.
מידע נוסף על אפשרויות ההגדרה ליצירת מקומות שמורים לפרויקט יחיד זמין במאמר יצירת מקום שמור לפרויקט יחיד.
החלת המדיניות במהלך יצירת תבנית של הגדרות מכונה
אם רוצים ליצור תבנית של הגדרות מכונה אזורית, התבנית ומדיניות המיקום הקומפקטי חייבות להיות באותו אזור. אחרת, יצירת תבנית של הגדרות מכונה תיכשל.
אחרי שיוצרים תבנית של הגדרות מכונה שמציינת מדיניות מיקום קומפקטית, אפשר להשתמש בתבנית כדי לבצע את הפעולות הבאות:
כדי ליצור תבנית של הגדרות מכונה שמציינת מדיניות למיקום קומפקטי, משתמשים באחת מהשיטות הבאות:
כדי ליצור תבנית אזורית של הגדרות מכונה עם מדיניות למיקום קומפקטי חדשה, משתמשים במסוף Google Cloud . במדיניות החדשה לא מצוין ערך מרחק מקסימלי, ואפשר להחיל אותה על עד 22 מקרים.
כדי ליצור תבנית גלובלית או אזורית של הגדרות מכונה שמציינת מדיניות קיימת למיקום קומפקטי, צריך להשתמש ב-CLI של gcloud או ב-API ל-REST.
כדי ליצור את תבנית של הגדרות מכונה, בוחרים אחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Instance templates במסוף Google Cloud .
לוחצים על יצירת תבנית של הגדרות מכונה. מופיע הדף Create an instance template.
בשדה Region, מציינים את האזור שבו רוצים ליצור את המדיניות למיקום קומפקטי ואת התבנית של הגדרות המכונה.
בקטע Machine configuration, מציינים סדרת מכונות וסוג של מכונה שנתמכים במדיניות למיקום קומפקטי.
בקטע Placement policy, ברשימה Placement policy בוחרים באפשרות Compact. כשבוחרים באפשרות הזו, מסוףGoogle Cloud יוצר באופן אוטומטי מדיניות למיקום קומפקטי בלי ערך מרחק מקסימלי, שתומכת בעד 22 מכונות.
לוחצים על יצירה.
gcloud
כדי ליצור תבנית של הגדרות מכונה שמציינת מדיניות למיקום קומפקטי, משתמשים בפקודה gcloud compute instance-templates create עם הדגלים --maintenance-policy ו---resource-policies.
לדוגמה, כדי ליצור תבנית של הגדרות מכונה גלובלית שמציינת מדיניות למיקום קומפקטי, מריצים את הפקודה הבאה:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=MAINTENANCE_POLICY \
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
MACHINE_TYPE: סוג מכונה נתמך למדיניות למיקום קומפקטי.MAINTENANCE_POLICY: מדיניות תחזוקת המארח. אם מדיניות המיקום הקומפקטי שציינתם משתמשת בערך מרחק מקסימלי של1או2, או אם סוג המכונה שבחרתם לא תומך בהעברה פעילה, תוכלו לציין רקTERMINATE. אחרת, אפשר לצייןMIGRATEאוTERMINATE.
POLICY_NAME: השם של מדיניות קיימת למיקום קומפקטי.
REST
כדי ליצור תבנית של הגדרות מכונה שמציינת מדיניות למיקום קומפקטי, שולחים בקשת POST לאחת מה-methods הבאות:
כדי ליצור תבנית גלובלית של הגדרות מכונה: ה-method
instanceTemplates.insert.כדי ליצור תבנית של הגדרות מכונה אזורית:
regionInstanceTemplates.insertmethod.
בגוף הבקשה, כוללים את השדות onHostMaintenance ו-resourcePolicies.
לדוגמה, כדי ליצור תבנית של הגדרות מכונה גלובלית שמציינת מדיניות למיקום קומפקטי, שולחים בקשת POST באופן הבא:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"resourcePolicies": [
"POLICY_NAME"
],
"scheduling": {
"onHostMaintenance": "MAINTENANCE_POLICY"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצאת מדיניות המיקום הקומפקטית.
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר בנושא תמונות ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של קובץ אימג' של מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. כך מציינים את קובץ אימג' של מערכת ההפעלה העדכני ביותר, שלא הוצא משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה העדכנית במשפחת תמונות Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
MACHINE_TYPE: סוג מכונה נתמך למדיניות למיקום קומפקטי.
POLICY_NAME: השם של מדיניות קיימת למיקום קומפקטי.MAINTENANCE_POLICY: מדיניות תחזוקת המארח. אם מדיניות המיקום הקומפקטי שציינתם משתמשת בערך מרחק מקסימלי של1או2, או אם סוג המכונה שבחרתם לא תומך בהעברה פעילה, תוכלו לציין רקTERMINATE. אחרת, אפשר לצייןMIGRATEאוTERMINATE.
מידע נוסף על אפשרויות ההגדרה ליצירת תבנית של הגדרות מכונה זמין במאמר בנושא יצירת תבניות של מכונות וירטואליות.
החלת המדיניות על מופעים ב-MIG
אחרי שיוצרים תבנית של הגדרות מכונה שמציינת מדיניות למיקום קומפקטי, אפשר להשתמש בתבנית כדי:
החלת המדיניות במהלך יצירת קבוצת MIG
אפשר ליצור מכונות וירטואליות שמציינות מדיניות למיקום קומפקטי רק אם המכונות הווירטואליות ממוקמות באותו אזור כמו מדיניות המיקום.
כדי ליצור קבוצת MIG באמצעות תבנית של הגדרות מכונה שכוללת מדיניות למיקום קומפקטי, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור MIG באמצעות תבנית של הגדרות מכונה שמציינת מדיניות למיקום קומפקטי, משתמשים בפקודה gcloud compute instance-groups managed create.
לדוגמה, כדי ליצור קבוצת MIG אזורית באמצעות תבנית של הגדרות מכונה גלובלית שמציינת מדיניות למיקום קומפקטי, מריצים את הפקודה הבאה:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
--size=SIZE \
--template=INSTANCE_TEMPLATE_NAME \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_GROUP_NAME: השם של קבוצת ה-MIG שרוצים ליצור.
SIZE: הגודל של ה-MIG.
INSTANCE_TEMPLATE_NAME: השם של תבנית קיימת של הגדרות מכונה גלובלית שמציינת מדיניות למיקום קומפקטי.
ZONE: האזור שבו יוצרים את ה-MIG, שחייב להיות באזור שבו נמצאת מדיניות המיקום הקומפקטי.
REST
כדי ליצור קבוצת MIG באמצעות תבנית של הגדרות מכונה שמציינת מדיניות למיקום קומפקטי, שולחים בקשת POST לאחת מהשיטות הבאות:
כדי ליצור קבוצת מופעי מכונה מנוהלים (MIG) אזורית:
instanceGroupManagers.insertשיטה.כדי ליצור קבוצת MIG אזורית: השיטה
regionInstanceGroupManagers.insert.
לדוגמה, כדי ליצור קבוצת MIG אזורית באמצעות תבנית של הגדרות מכונה גלובלית שמציינת מדיניות למיקום קומפקטי, שולחים בקשת POST באופן הבא:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
{
"name": "INSTANCE_GROUP_NAME",
"targetSize": SIZE,
"versions": [
{
"instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
}
]
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המזהה של הפרויקט שבו נמצאת המדיניות למיקום קומפקטי והתבנית של הגדרות המכונה שמציינת את מדיניות המיקום.
ZONE: האזור שבו יוצרים את קבוצת ה-MIG, שחייב להיות באזור שבו נמצאת מדיניות המיקום הקומפקטי.
INSTANCE_GROUP_NAME: השם של קבוצת ה-MIG שרוצים ליצור.
INSTANCE_TEMPLATE_NAME: השם של תבנית קיימת של הגדרות מכונה גלובלית שמציינת מדיניות למיקום קומפקטי.
SIZE: הגודל של ה-MIG.
מידע נוסף על אפשרויות ההגדרה ליצירת קבוצות MIG זמין במאמר תרחישים בסיסיים ליצירת קבוצות MIG.
החלת המדיניות על קבוצת MIG קיימת
אפשר להחיל מדיניות למיקום קומפקטי על MIG קיים רק אם ה-MIG ממוקם באותו אזור כמו מדיניות המיקום, או אם מדובר ב-MIG אזורי, באזור שנמצא באותו אזור כמו מדיניות המיקום.
כדי לעדכן קבוצת MIG כך שתשתמש בתבנית של הגדרות מכונה שמציינת מדיניות למיקום קומפקטי, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי לעדכן קבוצת MIG כך שתשתמש בתבנית של הגדרות מכונה שמציינת מדיניות למיקום קומפקטי, משתמשים בפקודה gcloud compute instance-groups managed rolling-action start-update.
לדוגמה, כדי לעדכן קבוצת MIG אזורית כך שתשתמש בתבנית של הגדרות מכונה שמציינת מדיניות למיקום קומפקטי, ולהחליף את מכונות ה-Compute הקיימות מה-MIG במכונות Compute חדשות שמציינות את מאפייני התבנית, מריצים את הפקודה הבאה:
gcloud compute instance-groups managed rolling-action start-update MIG_NAME \
--version=template=INSTANCE_TEMPLATE_NAME \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
MIG_NAME: השם של קבוצת MIG קיימת.
INSTANCE_TEMPLATE_NAME: השם של תבנית קיימת של הגדרות מכונה גלובלית שמציינת מדיניות למיקום קומפקטי.
ZONE: האזור שבו נמצאת קבוצת ה-MIG. אפשר להחיל את המדיניות למיקום קומפקטי רק על קבוצת MIG שנמצאת באותו אזור של המדיניות למיקום.
REST
כדי לעדכן קבוצת MIG כך שתשתמש בתבנית של הגדרות מכונה שמציינת מדיניות למיקום קומפקטי, ולהחיל באופן אוטומטי את המאפיינים של התבנית ושל מדיניות המיקום על מכונות ה-Compute הקיימות בקבוצת ה-MIG, שולחים בקשת PATCH לאחת מהשיטות הבאות:
כדי לעדכן קבוצת MIG אזורית: השיטה
instanceGroupManagers.insert.כדי לעדכן MIG אזורי:
regionInstanceGroupManagers.insertmethod.
לדוגמה, כדי לעדכן קבוצת MIG אזורית כך שתשתמש בתבנית גלובלית של הגדרות מכונה שמציינת מדיניות מיקום קומפקטית, ולהחליף את מופעי ה-Compute הקיימים מקבוצת ה-MIG במופעי Compute חדשים שמציינים את המאפיינים של התבנית, שולחים את הבקשה הבאה PATCH:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
"instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המזהה של הפרויקט שבו נמצאים ה-MIG, מדיניות למיקום קומפקטי ותבנית של הגדרות מכונה שמציינת את מדיניות המיקום.
ZONE: האזור שבו נמצאת קבוצת ה-MIG. אפשר להחיל את המדיניות למיקום קומפקטי רק על קבוצת מופעים מנוהלת (MIG) שנמצאת באותו אזור כמו המדיניות למיקום.
MIG_NAME: השם של קבוצת MIG קיימת.
INSTANCE_TEMPLATE_NAME: השם של תבנית גלובלית קיימת של הגדרות מכונה, שכוללת מדיניות למיקום קומפקטי.
במאמר עדכון והחלה של הגדרות חדשות על מכונות ב-MIG תוכלו לקרוא פרטים נוספים על אפשרויות ההגדרה לעדכון מכונות ה-Compute ב-MIG.
מה השלב הבא?
כאן מוסבר איך לבצע את הפעולות הבאות במכונה וירטואלית שמצוינת בה מדיניות מיקום: