בדף הזה מוסבר איך להקצות מכונות וירטואליות בצמתים של דייר יחיד, שהם שרתים פיזיים שמריצים מכונות וירטואליות רק מפרויקט אחד. לפני שאתם מקצים מכונות וירטואליות בשרתים לדייר יחיד, קראו את הסקירה הכללית על שרתים לדייר יחיד.
לפני שמתחילים
- לפני הקצאת מכונות וירטואליות בשרתים לדייר יחיד (sole-tenant), בדקו את המכסה שלכם. בהתאם למספר ולגודל של הצמתים שאתם משריינים, יכול להיות שתצטרכו לבקש מכסה נוספת.
- יוצרים תבנית של שרת לדייר יחיד.
- יוצרים קבוצת צמתים של שרתים לדייר יחיד.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.
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 .
יצירת תבנית של צומת לדייר יחיד
תבניות של שרתים לדייר יחיד (sole-tenant) הן משאבים אזוריים שמציינים מאפיינים של קבוצות של שרתים לדייר יחיד (sole-tenant). צריך ליצור תבנית של צומת לפני שיוצרים קבוצת צמתים. עם זאת, אם אתם משתמשים במסוף Google Cloud , אתם צריכים ליצור תבניות של צמתים במהלך היצירה של קבוצת צמתים עם דייר יחיד.
המסוף
כדי ליצור קבוצת צמתים, צריך קודם ליצור תבנית של צומת לדייר יחיד. כדי ליצור תבנית צומת, צריך להשתמש במסוף Google Cloud במהלך היצירה של קבוצת שרתים לדייר יחיד. תבנית הצומת החדשה נוצרת באותו אזור שציינתם במאפיינים של קבוצת הצמתים.
נכנסים לדף Sole-tenant nodes במסוף Google Cloud .
לוחצים על יצירת קבוצת צמתים.
מציינים שם לקבוצת הצמתים.
מציינים את ה-Region שבו רוצים ליצור את תבנית הצומת. אתם יכולים להשתמש בתבנית הצומת כדי ליצור קבוצות של צמתים בכל אזור באזור הזה.
מציינים את האזור (Zone) ולוחצים על Continue.
ברשימה Node template (תבנית צומת), לוחצים על Create node template (יצירת תבנית צומת) כדי להתחיל ליצור תבנית צומת של דייר יחיד.
מציינים שם לתבנית הצומת.
מציינים את סוג הצומת לכל שרת לדייר יחיד (sole-tenant) בקבוצת הצמתים שרוצים ליצור על סמך תבנית הצומת הזו.
אופציונלי: אפשר גם לציין את המאפיינים הבאים לתבנית הצומת.
- מוסיפים SSD מקומי ומאיץ GPU.
בוחרים באפשרות Enable CPU overcommit כדי לשלוט בCPU overcommit levels לכל מכונה וירטואלית שמתוזמנת בצומת.
מוסיפים תוויות של שיוך לצומת. תוויות שיוך מאפשרות לקבץ באופן לוגי צמתים וקבוצות של צמתים. בהמשך, כשמפעילים מכונות וירטואליות, אפשר לציין תוויות שיוך במכונות הווירטואליות כדי לתזמן אותן לקבוצה ספציפית של צמתים או קבוצות של צמתים. מידע נוסף זמין במאמר בנושא Node affinity and anti-affinity.
לוחצים על Create כדי לסיים את יצירת תבנית הצומת.
אופציונלי: כדי להוסיף תבנית חדשה של שרת לדייר יחיד (sole-tenant) באזור אחר, חוזרים על השלבים הקודמים.
כדי לראות את תבניות הצמתים, לוחצים על Node templates בדף Sole-tenant nodes.
gcloud
משתמשים בפקודה gcloud compute sole-tenancy node-templates
create כדי ליצור תבנית צומת:
gcloud compute sole-tenancy node-templates create TEMPLATE_NAME \ --node-type=NODE_TYPE \ [--region=REGION \] [--node-affinity-labels=AFFINITY_LABELS \] [--accelerator type=GPU_TYPE,count=GPU_COUNT \] [--disk type=local-ssd,count=DISK_COUNT,size=DISK_SIZE \] [--cpu-overcommit-type=CPU_OVERCOMMIT_TYPE]
מחליפים את מה שכתוב בשדות הבאים:
TEMPLATE_NAME: השם של תבנית הצומת החדשה.
NODE_TYPE: סוג הצומת של שרתים לדייר יחיד (sole-tenant) שנוצרו על סמך התבנית הזו. אפשר להשתמש בפקודהgcloud compute sole-tenancy node-types listכדי לקבל רשימה של סוגי הצמתים שזמינים בכל אזור.
REGION: האזור שבו רוצים ליצור את תבנית הצומת. אפשר להשתמש בתבנית הזו כדי ליצור קבוצות צמתים בכל אזור באזור הזה.AFFINITY_LABELS: המפתחות והערכים,[KEY=VALUE,...], לתוויות של תחום עניין משותף. תוויות שיוך מאפשרות לקבץ באופן לוגי צמתים וקבוצות של צמתים. בשלב מאוחר יותר, כשמבצעים הקצאה של מכונות וירטואליות, אפשר לציין תוויות שיוך במכונות הווירטואליות כדי לתזמן אותן לקבוצה ספציפית של צמתים או קבוצות של צמתים. מידע נוסף זמין במאמר קרבה ואי-קרבה של צמתים.
GPU_TYPE: סוג ה-GPU לכל צומת של דייר יחיד שנוצר על סמך תבנית הצומת הזו. כדי לקבל מידע על הזמינות האזורית של סוג השרת לדייר יחיד (sole-tenant) הנדרש, משתמשים בפקודהgcloud compute sole-tenancy node-types list. לדוגמה, כדי לראות אזורים עבורa2-highgpuסוגי צמתים, מוסיפים את הדגל--filter="name~'a2-highgpu'". בטבלה שבתיאור שלGPU_COUNTמפורטים סוגי ה-GPU וסוגי הצמתים שזמינים.
GPU_COUNT: מספר יחידות ה-GPU שרוצים לחבר לכל שרת לדייר יחיד (sole-tenant). הערך שלGPU_COUNTתלוי בGPU_TYPEובסוג השרת לדייר יחיד. מגדירים אתGPU_COUNTלערך שמוצג בטבלה הבאה:סוג הצומת GPU_TYPEGPU_COUNTa2-highgpunvidia-tesla-a1008 a2-megagpunvidia-tesla-a10016 a2-ultragpunvidia-a100-80gb8 a3-highgpunvidia-h100-80gb8 a3-megagpunvidia-h100-mega-80gb8 g2nvidia-l48 g4nvidia-rtx-pro-60008 n1nvidia-tesla-p44 n1nvidia-tesla-t44 n1nvidia-tesla-v1008
DISK_COUNT: מספר דיסקי ה-SSD המקומיים. הערך שהוגדר הוא16או24. הפרמטר הזה לא נדרש לסוגי הצמתים A2 Ultra, A3 High ו-A3 Mega, כי הם כוללים מספר קבוע של דיסקים מסוג Local SSD.
DISK_SIZE: ערך אופציונלי לגודל המחיצה של ה-SSD המקומי ב-GB. גודל המחיצה היחיד שנתמך הוא375, ואם לא מגדירים את הערך הזה, ברירת המחדל היא375.
-
CPU_OVERCOMMIT_TYPE: סוג ההקצאה העודפת של מעבדים במכונה וירטואלית. מגדירים את הערךenabledאוnone.
REST
משתמשים ב-method nodeTemplates.insert כדי ליצור תבנית של צומת:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/nodeTemplates
{
"name": "TEMPLATE_NAME",
"nodeType": "NODE_TYPE",
"nodeAffinityLabels": {
"KEY": "VALUE",
...
},
"accelerators": [
{
"acceleratorType": "GPU_TYPE",
"acceleratorCount": GPU_COUNT
}
],
"disks": [
{
"diskType": "local-ssd",
"diskSizeGb": DISK_SIZE,
"diskCount": DISK_COUNT
}
],
"cpuOvercommitType": CPU_OVERCOMMIT_TYPE
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.
REGION: האזור שבו רוצים ליצור את תבנית הצומת. אפשר להשתמש בתבנית הזו כדי ליצור קבוצות צמתים בכל אזור באזור הזה.
TEMPLATE_NAME: השם של תבנית הצומת החדשה.
NODE_TYPE: סוג הצומת של שרתים לדייר יחיד (sole-tenant) שנוצרו על סמך התבנית הזו. כדי לקבל רשימה של סוגי הצמתים שזמינים בכל אזור, משתמשים ב-methodnodeTypes.list.
KEY: הערךnodeAffinityLabelsשמציין את חלק המפתח של תווית שיוך צומת שמוצגת כצמד מפתח/ערך. תוויות של קרבה מאפשרות לקבץ באופן לוגי צמתים וקבוצות של צמתים, ואחר כך, כשמקצים מכונות וירטואליות, אפשר לציין תוויות של קרבה במכונות הווירטואליות כדי לתזמן מכונות וירטואליות בקבוצה ספציפית של צמתים או קבוצות של צמתים. מידע נוסף זמין במאמר Node affinity and anti-affinity.
VALUE: הערך שלnodeAffinityLabelsשמציין את החלק של הערך בצמד מפתח/ערך של תווית שיוך לצומת.
GPU_TYPE: סוג ה-GPU לכל צומת של דייר יחיד שנוצר על סמך תבנית הצומת הזו. כדי לבדוק אם סוג השרת לדייר יחיד שאתם צריכים זמין באזור, אתם יכולים להשתמש ב-methodnodeTypes.list. לדוגמה, כדי לראות אזורים שלa2-highgpuסוגי צמתים, משתמשים במסנןname~"a2-highgpu.*". בטבלה שבGPU_COUNTתיאור אפשר לראות את סוגי ה-GPU וסוגי הצמתים שזמינים.
GPU_COUNT: מספר יחידות ה-GPU לכל צומת של דייר יחיד שנוצר על סמך תבנית הצומת הזו. הערך שלGPU_COUNTתלוי ב-GPU_TYPEובסוג השרת לדייר יחיד. מגדירים אתGPU_COUNTלערך שמוצג בטבלה הבאה:סוג הצומת GPU_TYPEGPU_COUNTa2-highgpunvidia-tesla-a1008 a2-megagpunvidia-tesla-a10016 a2-ultragpunvidia-a100-80gb8 a3-highgpunvidia-h100-80gb8 a3-megagpunvidia-h100-mega-80gb8 g2nvidia-l48 g4nvidia-rtx-pro-60008 n1nvidia-tesla-p44 n1nvidia-tesla-t44 n1nvidia-tesla-v1008
DISK_SIZE: ערך אופציונלי לגודל המחיצה של ה-SSD המקומי ב-GB. גודל המחיצה הנתמך היחיד הוא375, ואם לא מגדירים את הערך הזה, ברירת המחדל היא375.
DISK_COUNT: מספר כונני ה-SSD המקומיים. מגדירים את הערך16או24. הפרמטר הזה לא נדרש לסוגי הצמתים A3 High ו-A3 Mega כי הם כוללים מספר קבוע של דיסקים מסוג Local SSD.
CPU_OVERCOMMIT_TYPE: סוג ה-CPU overcommit. מגדירים את הערךenabled, noneאוCPU_OVERCOMMIT_TYPE_UNSPECIFIED.
יצירת קבוצת שרתים לדייר יחיד
בעזרת התבנית של השרתים לדייר יחיד שיצרתם קודם, יוצרים קבוצה של שרתים לדייר יחיד. קבוצת שרתים לדייר יחיד (sole-tenant) יורשת מאפיינים שצוינו בתבנית השרת לדייר יחיד (sole-tenant), ויש לה ערכים נוספים שצריך לציין.
המסוף
נכנסים לדף Sole-tenant nodes במסוף Google Cloud .
לוחצים על יצירת קבוצת צמתים כדי להתחיל ליצור קבוצת צמתים.
מציינים שם לקבוצת הצמתים.
מציינים את האזור (Region) של קבוצת הצמתים כדי להציג את תבניות הצמתים שזמינות באותו אזור.
מציינים את האזור בתוך המחוז שבו רוצים ליצור את קבוצת הצמתים.
מציינים את תבנית הצומת כדי ליצור את קבוצת הצמתים, או לוחצים על יצירת תבנית צומת כדי ליצור תבנית חדשה של שרת לדייר יחיד (sole-tenant). תבנית הצומת שנבחרה מוחלת על קבוצת הצמתים.
בוחרים אחת מהאפשרויות הבאות ל-Autoscaling mode של node group autoscaler:
Off: ניהול ידני של הגודל של קבוצת הצמתים.
מופעל: הצמתים יתווספו לקבוצת הצמתים או יוסרו ממנה באופן אוטומטי.
הרחבה אופקית בלבד: הוספת צמתים לקבוצת הצמתים כשנדרשת קיבולת נוספת.
מציינים את מספר הצמתים לקבוצה. אם מפעילים את המידרוג האוטומטי של קבוצת הצמתים, צריך לציין טווח לגודל של קבוצת הצמתים. אפשר לשנות את הערכים באופן ידני בשלב מאוחר יותר.
בקטע Configure Maintenance Settings, מגדירים את Maintenance policy של קבוצת הצמתים עם הדייר היחיד לאחד מהערכים הבאים. מדיניות התחזוקה מאפשרת להגדיר את ההתנהגות של מכונות וירטואליות בקבוצת הצמתים במהלך אירועי תחזוקה של המארח. מידע נוסף זמין במאמר מדיניות תחזוקה.
- ברירת מחדל
- הפעלה מחדש במקום
- העברה בתוך קבוצת צמתים
יש שתי אפשרויות לניהול תחזוקה של קבוצת צמתים עם דייר יחיד: חלונות זמן לתחזוקה רגילים ושליטה מתקדמת בתחזוקה.
חלון זמן לתחזוקה: בוחרים את התקופה שבה רוצים שאירועי תחזוקה מתוכננים יתרחשו בצמתים בקבוצות צמתים של דייר יחיד.
הסכמה להפעלת אמצעי בקרה מתקדמים לתחזוקה של דיירות בלעדית: אמצעי בקרה מתקדמים לתחזוקה של דיירות בלעדית מאפשרים לכם לשלוט באירועי תחזוקה מתוכננים של קבוצות צמתים בדיירות בלעדית ולצמצם את השיבושים שקשורים לתחזוקה. כדי להצטרף להגדרה של אמצעי בקרה מתקדמים לתחזוקה, לוחצים על המתג Opt-in for advanced maintenance control for sole-tenancy (הצטרפות להגדרה של אמצעי בקרה מתקדמים לתחזוקה עבור דיירות בלעדית) כדי להעביר אותו למצב on (מופעל). אם בוחרים להשתמש באפשרות הזו לתחזוקת צמתים, השדה חלון זמן לתחזוקה מושבת והתחזוקה מתבצעת כמו שהוגדר בבקרת תחזוקה מתקדמת.
שימו לב: שליטה מתקדמת בתחזוקה תומכת רק במדיניות התחזוקה Default.
מגדירים את הרשאות השיתוף על ידי ציון אחת מהאפשרויות הבאות ב-Configure share settings:
- כדי לשתף את קבוצת הצמתים עם כל הפרויקטים בארגון, בוחרים באפשרות Share this node group with all projects within the organization (שיתוף קבוצת הצמתים הזו עם כל הפרויקטים בארגון).
- כדי לשתף את קבוצת הצמתים עם פרויקטים ספציפיים בארגון, בוחרים באפשרות Share this node group with selected projects within the organization (שיתוף קבוצת הצמתים הזו עם פרויקטים נבחרים בארגון).
אם אתם לא רוצים לשתף את קבוצת הצמתים, בוחרים באפשרות Do not share this node group with other projects. מידע נוסף על שיתוף קבוצות שרתי לדייר יחיד (sole-tenant) זמין במאמר שיתוף קבוצות שרתי לדייר יחיד (sole-tenant).
לוחצים על יצירה כדי לסיים את יצירת קבוצת הצמתים.
gcloud
מריצים את הפקודה gcloud compute sole-tenancy node-groups
create כדי ליצור קבוצת צמתים על סמך תבנית צומת שנוצרה קודם:
gcloud compute sole-tenancy node-groups create GROUP_NAME \ --node-template=TEMPLATE_NAME \ --target-size=TARGET_SIZE \ [--zone=ZONE \] [--maintenance-policy=MAINTENANCE_POLICY \] [--maintenance-window-start-time=START_TIME \] [--autoscaler-mode=AUTOSCALER_MODE: \ --min-nodes=MIN_NODES \ --max-nodes=MAX_NODES]
מחליפים את מה שכתוב בשדות הבאים:
GROUP_NAME: השם של קבוצת הצמתים החדשה.
TEMPLATE_NAME: השם של תבנית הצומת שבה רוצים להשתמש כדי ליצור את הקבוצה הזו.
TARGET_SIZE: מספר הצמתים שרוצים ליצור בקבוצה.
ZONE: האזור שבו רוצים ליצור את קבוצת הצמתים. האזור הזה צריך להיות זהה לאזור של תבנית הצומת שעליה מבוססת קבוצת הצמתים.
MAINTENANCE_POLICY: מדיניות התחזוקה של קבוצת הצמתים. מידע נוסף זמין במאמר מדיניות תחזוקה. הערך חייב להיות אחד מהבאים:defaultrestart-in-placemigrate-within-node-group
לחלופין, אפשר להשתמש בדגל
--maintenance-intervalכדי להפעיל את האפשרות של שליטה מתקדמת בתחזוקה של קבוצת שרתי לדייר יחיד (sole-tenant). מידע נוסף זמין במאמר בנושא הפעלת בקרת תחזוקה מתקדמת בשרת לדייר יחיד (sole-tenant).
START_TIME: שעת ההתחלה לפי שעון GMT של חלון זמן לתחזוקה של המכונות הווירטואליות בקבוצת הצמתים הזו. צריך להגדיר אחד מהערכים הבאים:00:00,04:00,08:00,12:00,16:00או20:00. אם לא מגדירים חלון זמן לתחזוקה, לקבוצת הצמתים אין חלון זמן מוגדר לתחזוקה.
AUTOSCALER_MODE: מדיניות המידרוג האוטומטי של קבוצת הצמתים. אחת מהאפשרויות הבאות:
off: ניהול ידני של גודל קבוצת הצמתים.
on: הצמתים מתווספים לקבוצת הצמתים או מוסרים ממנה באופן אוטומטי.
only-scale-out: הוספת צמתים לקבוצת הצמתים כשנדרש קיבולת נוספת.
MIN_NODES: הגודל המינימלי של קבוצת הצמתים. ערך ברירת המחדל הוא0והוא חייב להיות מספר שלם שקטן מ-MAX_NODESאו שווה לו.
MAX_NODES: הגודל המקסימלי של קבוצת הצמתים. הערך הזה צריך להיות קטן מ-100או שווה לו, וגדול מ-MIN_NODESאו שווה לו. חובה אם הערך שלAUTOSCALER_MODEהוא לאoff.
REST
משתמשים ב-method nodeGroups.insert כדי ליצור קבוצת צמתים על סמך תבנית צמתים שנוצרה קודם:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups?initialNodeCount=TARGET_SIZE
{ "nodeTemplate": "regions/REGION/nodeTemplates/TEMPLATE_NAME", "name": "GROUP_NAME", "maintenancePolicy": MAINTENANCE_POLICY, "maintenanceWindow": { "startTime": "START_TIME" } "autoscalingPolicy": { "mode": AUTOSCALER_MODE, "minNodes": MIN_NODES, "maxNodes": MAX_NODES }, }
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.
ZONE: האזור שבו רוצים ליצור את קבוצת הצמתים. היא צריכה להיות באותו אזור כמו תבנית הצומת שעליה מבוססת קבוצת הצמתים.
TARGET_SIZE: מספר הצמתים שייווצרו בקבוצה.
REGION: האזור שבו רוצים ליצור את קבוצת הצמתים. צריכה להיות לכם תבנית צומת באזור שנבחר.
TEMPLATE_NAME: השם של תבנית הצומת שבה רוצים להשתמש כדי ליצור את הקבוצה הזו.
GROUP_NAME: השם של קבוצת הצמתים החדשה.
MAINTENANCE_POLICY: מדיניות התחזוקה של קבוצת הצמתים. הערך הזה חייב להיות אחד מהערכים הבאים:DEFAULTRESTART_IN_PLACEMIGRATE_WITHIN_NODE_GROUP
לחלופין, אפשר להשתמש בשדה
maintenanceIntervalכדי להפעיל שליטה מתקדמת בתחזוקה של קבוצת הצמתים עם דייר יחיד. מידע נוסף זמין במאמר בנושא הפעלת בקרת תחזוקה מתקדמת בשרת לדייר יחיד (sole-tenant).
START_TIME: שעת ההתחלה לפי שעון גריניץ' של חלון הזמן לתחזוקה של המכונות הווירטואליות בקבוצת הצמתים הזו. הערך צריך להיות אחד מהערכים הבאים:00:00,04:00,08:00,12:00,16:00או20:00. אם לא מגדירים חלון זמן לתחזוקה, לקבוצת הצמתים לא יהיה חלון זמן מוגדר לתחזוקה.
AUTOSCALER_MODE: מדיניות המידרוג האוטומטי של קבוצת הצמתים. צריך לציין אחד מהערכים הבאים:
OFF: ניהול ידני של גודל קבוצת הצמתים.
ON: הצמתים מתווספים לקבוצת הצמתים או מוסרים ממנה באופן אוטומטי.
ONLY_SCALE_OUT: הוספת צמתים לקבוצת הצמתים כשנדרש קיבולת נוספת.
MIN_NODES: הגודל המינימלי של קבוצת הצמתים. ערך ברירת המחדל הוא0והוא חייב להיות מספר שלם שקטן מ-MAX_NODESאו שווה לו.
MAX_NODES: הגודל המקסימלי של קבוצת הצמתים. הערך הזה צריך להיות קטן מ-100או שווה לו, וגדול מ-MIN_NODESאו שווה לו. חובה אם הערך שלAUTOSCALER_MODEהוא לאOFF.
הקצאת VM לדייר יחיד
אחרי שיוצרים קבוצת צמתים שמבוססת על תבנית צומת שנוצרה בעבר, אפשר להקצות מכונות וירטואליות ספציפיות בקבוצת צמתים של שרת לדייר יחיד.
כדי להקצות מכונה וירטואלית בצומת ספציפי או בקבוצת צמתים עם תוויות שיוך שתואמות לאלה שהקציתם קודם לתבנית הצומת, פועלים לפי התהליך הרגיל ליצירת מכונה וירטואלית ומקצים תוויות שיוך למכונה הווירטואלית.
לחלופין, אפשר להשתמש בהליך הבא כדי להקצות מכונה וירטואלית בשרת לדייר יחיד (sole-tenant) מתוך דף הפרטים של קבוצת הצמתים. בהתאם לקבוצת הצמתים שבה אתם מקצים מכונות וירטואליות, Compute Engine מקצה תוויות של זיקה.
המסוף
נכנסים לדף Sole-tenant nodes במסוף Google Cloud .
לוחצים על Node groups.
לוחצים על השם של קבוצת הצמתים כדי להקצות מופע של מכונה וירטואלית. אם רוצים להקצות מכונה וירטואלית בשרת ספציפי לדייר יחיד, לוחצים על השם של השרת הספציפי לדייר יחיד כדי להקצות את המכונה הווירטואלית.
לוחצים על Create instance כדי להקצות מכונה וירטואלית בקבוצת הצמתים הזו, שמים לב לערכים שמוחלים באופן אוטומטי בשדות Name, Region ו-Zone, ומשנים את הערכים האלה לפי הצורך.
בוחרים Machine configuration על ידי ציון משפחת מכונות, Series ו-סוג מכונה. בוחרים את הסדרה שמתאימה לסוג השרת לדייר יחיד.
משנים את דיסק האתחול, חומת האש והגדרות אחרות לפי הצורך.
לוחצים על Sole Tenancy, רושמים את תוויות ההתאמה (affinity) של הצומת שהוקצו באופן אוטומטי ומשתמשים באפשרות Browse כדי לבצע שינויים לפי הצורך.
לוחצים על ניהול, ובקטע במהלך תחזוקה של המארח, בוחרים באחת מהאפשרויות הבאות:
VM Migration (מומלץ): VM migrated to another node in the node group during maintenance events.
Terminate: המכונה הווירטואלית נעצרת במהלך אירועי תחזוקה.
בוחרים אחת מהאפשרויות הבאות להגדרה הפעלה מחדש אוטומטית:
On (מומלץ): הפעלה מחדש של המכונות הווירטואליות באופן אוטומטי אם הן נעצרו בגלל אירועי תחזוקה.
מושבת: המכונות הווירטואליות לא יופעלו מחדש באופן אוטומטי אחרי אירוע תחזוקה.
לוחצים על יצירה כדי לסיים את היצירה של המכונה הווירטואלית עם דייר יחיד.
gcloud
משתמשים בפקודה gcloud compute instances
create כדי להקצות מכונה וירטואלית בקבוצת שרתים לדייר יחיד:
gcloud compute instances create VM_NAME \ [--zone=ZONE \] --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --node-group=GROUP_NAME \ --machine-type=MACHINE_TYPE \ [--maintenance-policy=MAINTENANCE_POLICY \] [--accelerator type=GPU_TYPE,count=GPU_COUNT \] [--local-ssd interface=SSD_INTERFACE \] [--restart-on-failure]
הדגל --restart-on-failure מציין אם מכונות וירטואליות עם דייר יחיד מופעלות מחדש אחרי שהן מופסקות. ההגדרה הזו מופעלת כברירת מחדל. כדי להשבית, אפשר ללחוץ על: --no-restart-on-failure.
מחליפים את מה שכתוב בשדות הבאים:
VM_NAME: השם של המכונה הווירטואלית החדשה עם דייר יחיד.
ZONE: האזור שבו יוקצה ה-VM עם הדייר היחיד.
IMAGE_FAMILY: משפחת התמונות של התמונה שבה רוצים להשתמש כדי ליצור את המכונה הווירטואלית.
IMAGE_PROJECT: פרויקט התמונה של משפחת התמונות.
GROUP_NAME: השם של קבוצת הצמתים שבה רוצים להקצות את המכונה הווירטואלית.
MACHINE_TYPE: סוג המכונה של מכונת ה-VM בדיירות יחידה. משתמשים בפקודהgcloud compute machine-types listכדי לקבל רשימה של סוגי המכונות שזמינים לפרויקט.
MAINTENANCE_POLICY: מציין את אופן ההפעלה מחדש של מכונות וירטואליות בדיירות יחידה במהלך אירועי תחזוקה. הגדרת אחת מהאפשרויות הבאות:
MIGRATE: VM Migration לצומת אחר בקבוצת הצמתים במהלך אירועי תחזוקה.
TERMINATE: המכונה הווירטואלית הופסקה במהלך אירועי תחזוקה.
GPU_TYPE: סוג ה-GPU. צריך להגדיר את אחד מסוגי המאיצים שצוינו כשתבנית הצומת נוצרה.
GPU_COUNT: מספר יחידות ה-GPU מתוך המספר הכולל שצוין בתבנית הצומת לצירוף למכונה הווירטואלית הזו. ערך ברירת המחדל הוא1.
SSD_INTERFACE: סוג הממשק של ה-SSD המקומי. אפשר להגדיר את זה רק למכונות שנוצרו מתבנית צומת עם תמיכה ב-SSD מקומי. אם מציינים את זה בזמן יצירת המופע, ותבנית הצומת לא תומכת ב-SSD מקומי, יצירת המופע תיכשל. מגדיריםnvmeאם מנהלי ההתקנים של קובץ אימג' דיסק האתחול מותאמים ל-NVMe, אחרת מגדיריםscsi. מציינים את הדגל הזה ואת הערך המתאים פעם אחת לכל מחיצה של SSD מקומי.
REST
משתמשים בשיטה instances.insert כדי להקצות מכונה וירטואלית בקבוצת שרתים לדייר יחיד:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/VM_ZONE/instances
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "scheduling": { "onHostMaintenance": MAINTENANCE_POLICY, "automaticRestart": RESTART_ON_FAILURE, "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, "networkInterfaces": [ { "network": "global/networks/NETWORK", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" } ], "guestAccelerators": [ { "acceleratorType": GPU_TYPE, "acceleratorCount": GPU_COUNT } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "type":"SCRATCH", "initializeParams":{ "diskType":"zones/LOCAL_SSD_ZONE/diskTypes/local-ssd" }, "autoDelete":true, "interface":"SSD_INTERFACE" } ] }
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.
VM_ZONE: האזור שבו יוקצו משאבים למכונה הווירטואלית (VM) בדיירות יחידה.
MACHINE_TYPE_ZONE: האזור של סוג המכונה.
MACHINE_TYPE: סוג המכונה של מכונת ה-VM בדיירות יחידה. משתמשים בשיטהmachineTypes.listכדי לקבל רשימה של סוגי מכונות שזמינים לפרויקט.
VM_NAME: השם של המכונה הווירטואלית החדשה עם דייר יחיד.
MAINTENANCE_POLICY: מציין את אופן ההפעלה מחדש של מכונות וירטואליות בדיירות יחידה במהלך אירועי תחזוקה. הגדרת אחת מהאפשרויות הבאות:
MIGRATE: VM Migration לצומת אחר בקבוצת הצמתים במהלך אירועי תחזוקה.
TERMINATE: המכונה הווירטואלית הופסקה במהלך אירועי תחזוקה.
RESTART_ON_FAILURE: מציין אם מכונות וירטואליות (VM) עם דייר יחיד מופעלות מחדש אחרי שהן נעצרות. ברירת המחדל היאtrue.
GROUP_NAME: השם של קבוצת הצמתים שבה רוצים להקצות את המכונה הווירטואלית.
NETWORK: כתובת ה-URL של משאב הרשת של ה-VM הזה.
REGION: האזור שמכיל את תת-הרשת של המכונה הווירטואלית הזו.
SUBNETWORK: כתובת ה-URL של משאב רשת המשנה של מכונת ה-VM הזו.
GPU_TYPE: סוג ה-GPU. הערך צריך להיות אחד מסוגי המאיצים שצוינו כשנוצרה תבנית הצומת.
GPU_COUNT: מספר יחידות ה-GPU מתוך המספר הכולל שצוין בתבנית הצומת, שצריך לצרף למכונה הווירטואלית הזו. ערך ברירת המחדל הוא1.
IMAGE_PROJECT: פרויקט התמונה של משפחת התמונות.
IMAGE_FAMILY: משפחת התמונות של התמונה שבה משתמשים כדי ליצור את המכונה הווירטואלית.
LOCAL_SSD_ZONE: האזור של ה-SSD המקומי.
SSD_INTERFACE: סוג הממשק של ה-SSD המקומי. מגדיריםNVMEאם מנהלי ההתקנים של קובץ אימג' דיסק האתחול מותאמים ל-NVMe, אחרת מגדיריםSCSI.
הקצאת קבוצה של מכונות וירטואליות בדיירות יחידה
קבוצות של מופעי מכונה מנוהלים (MIG) מאפשרות הקצאה של קבוצת מכונות וירטואליות זהות עם דייר יחיד. תוויות שיוך מאפשרות לציין את שרת הדייר היחיד (sole-tenant) או את קבוצת הצמתים של הדייר היחיד שבהם יוקצו מכונות וירטואליות של דייר יחיד.
בקבוצות MIG אזוריות, צריך ליצור קבוצות של צמתים בכל אחד מהאזורים של קבוצת ה-MIG האזורית, ולציין את מאפייני הזיקה של הצמתים לקבוצות הצמתים האלה בתבנית של הגדרות המכונה של קבוצת ה-MIG האזורית.
gcloud
משתמשים בפקודה
gcloud compute instance-templates createכדי ליצור תבנית של קבוצת מופעי מכונה מנוהלים עבור קבוצה של מכונות וירטואליות שייווצרו בקבוצת שרתים לדייר יחיד (sole-tenant):gcloud compute instance-templates create INSTANCE_TEMPLATE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --node-group=GROUP_NAME \ [--accelerator type=GPU_TYPE,count=GPU_COUNT \] [--local-ssd interface=SSD_INTERFACE]
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_TEMPLATE: השם של תבנית של הגדרות מכונה החדשה.
MACHINE_TYPE: סוג המכונה של המכונה הווירטואלית עם דייר יחיד. משתמשים בפקודהgcloud compute machine-types listכדי לקבל רשימה של סוגי המכונות שזמינים לפרויקט.
IMAGE_PROJECT: פרויקט התמונה של משפחת התמונות.
IMAGE_FAMILY: משפחת התמונות של התמונה שמשמשת ליצירת ה-VM.
GROUP_NAME: השם של קבוצת הצמתים שבה רוצים להקצות את המכונה הווירטואלית. לחלופין, אם רוצים להשתמש בתבנית הזו של מופע כדי ליצור קבוצת MIG אזורית שקיימת ביותר מאזור אחד, אפשר להשתמש בדגל--node-affinity-fileכדי לציין רשימה של ערכים לקבוצות הצמתים של קבוצת ה-MIG האזורית.
GPU_TYPE: סוג ה-GPU. צריך להגדיר את אחד מסוגי המאיצים שצוינו כשנוצרה תבנית הצומת.
GPU_COUNT: מספר יחידות ה-GPU מתוך המספר הכולל שצוין בתבנית הצומת לצירוף למכונה הווירטואלית הזו. ערך ברירת המחדל הוא1.
SSD_INTERFACE: סוג הממשק של ה-SSD המקומי. מגדיריםnvmeאם מנהלי ההתקנים של קובץ אימג' דיסק האתחול מותאמים ל-NVMe, אחרת מגדיריםscsi. מציינים את הדגל הזה ואת הערך המתאים פעם אחת לכל מחיצה של SSD מקומי.
משתמשים בפקודה
gcloud compute instance-groups managed createכדי ליצור קבוצה של מופעי מכונה מנוהלים בתוך קבוצת הצמתים של הדייר היחיד:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_GROUP_NAME: השם של קבוצת המכונות הזו.
SIZE: מספר המכונות הווירטואליות שייכללו בקבוצת המופעים הזו. לקבוצת הצמתים צריכים להיות מספיק משאבים כדי להכיל את המכונות בקבוצת מופעי מכונה מנוהלים זו. אפשר להשתמש במידרוג אוטומטי של קבוצת מופעי מכונה מנוהלים כדי לנהל באופן אוטומטי את הגודל של קבוצות מופעי מכונה מנוהלים.
INSTANCE_TEMPLATE: השם של תבנית הגדרות המכונה שמשמשת ליצירת ה-MIG. לתבנית צריכה להיות לפחות תווית אחת של זיקה לצומת שמצביעה על קבוצות הצמתים המתאימות.
ZONE: האזור שבו רוצים ליצור את קבוצת המופעים המנוהלת. במקרה של MIG אזורי, מחליפים את הדגל--zoneבדגל--regionומציינים אזור. מוסיפים גם את הדגל--zonesכדי לציין את כל התחומים שבהם קיימות קבוצות הצמתים.
REST
כדי ליצור תבנית של קבוצת מופעי מכונה מנוהלת בתוך קבוצת הצמתים שלכם עם דייר יחיד, משתמשים בשיטה
instanceTemplates.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/TEMPLATE_ZONE/instance-templates { "name": "INSTANCE_TEMPLATE", "properties": { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "scheduling": { "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, "networkInterfaces": [ { "network": "global/networks/NETWORK", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" } ], "guestAccelerators": [ { "acceleratorType": GPU_TYPE, "acceleratorCount": GPU_COUNT } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "type":"SCRATCH", "initializeParams":{ "diskType":"zones/LOCAL_SSD_ZONE/diskTypes/local-ssd" }, "autoDelete":true, "interface":"SSD_INTERFACE" } ] } }מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.
TEMPLATE_ZONE: האזור שבו רוצים ליצור את תבנית הגדרות המכונה.
INSTANCE_TEMPLATE: השם של תבנית הגדרות המכונה החדשה.
MACHINE_TYPE_ZONE: האזור של סוג המכונה.
MACHINE_TYPE: סוג המכונה של מכונת ה-VM בדיירות יחידה. משתמשים ב-methodmachineTypes.listכדי לקבל רשימה של סוגי מכונות שזמינים לפרויקט.
GROUP_NAME: השם של קבוצת הצמתים שבה רוצים להקצות את המכונה הווירטואלית. אם רוצים להשתמש בתבנית של הגדרות מכונה הזו כדי ליצור קבוצת MIG אזורית שקיימת ביותר מאזור אחד, צריך לציין רשימה של קבוצות צמתים שקיימות באותם אזורים כמו האזורים של קבוצת ה-MIG האזורית.NETWORK: כתובת ה-URL של משאב הרשת של תבנית של הגדרות מכונה זו.
REGION: האזור שמכיל את רשת המשנה של התבנית הזו של הגדרות המכונה.
SUBNETWORK: כתובת ה-URL של משאב רשת המשנה של התבנית הזו של הגדרות המכונה.
GPU_TYPE: סוג ה-GPU. הערך צריך להיות אחד מסוגי המאיצים שצוינו כשנוצרה תבנית הצומת.
GPU_COUNT: מספר יחידות ה-GPU מתוך המספר הכולל שצוין בתבנית הצומת לצירוף למכונה הווירטואלית הזו. ערך ברירת המחדל הוא1.
IMAGE_PROJECT: פרויקט התמונה של משפחת התמונות.
IMAGE_FAMILY: משפחת התמונות של התמונה שבה רוצים להשתמש כדי ליצור את המכונה הווירטואלית.
LOCAL_SSD_ZONE: האזור של ה-SSD המקומי.
SSD_INTERFACE: סוג הממשק של ה-SSD המקומי. מגדיריםNVMEאם מנהלי ההתקנים של קובץ אימג' דיסק האתחול מותאמים ל-NVMe, אחרת מגדיריםSCSI.
משתמשים בשיטה
instanceGroupManagers.insertכדי ליצור קבוצת מופעי מכונה מנוהלים (MIG) בתוך קבוצת השרתים לדייר יחיד, על סמך תבנית של הגדרות מכונה שנוצרה קודם. אם רוצים ליצור קבוצת MIG אזורית, משתמשים ב-methodregionInstanceGroupManagers.insertומציינים את האזור והתחומים של כל קבוצות הצמתים, כמו שצוין בתבנית של הגדרות המכונה.לדוגמה, כדי ליצור קבוצת MIG אזורית, משתמשים בבקשה הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "baseInstanceName": "NAME_PREFIX", "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE" }מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.
ZONE: האזור שבו יוצרים את קבוצת המכונות המנוהלות.
NAME_PREFIX: שם התחילית של כל אחת מהמכונות בקבוצת המכונות המנוהלת.
INSTANCE_GROUP_NAME: השם של קבוצת המכונות.
SIZE: מספר המכונות הווירטואליות שייכללו בקבוצת המופעים הזו. לקבוצת הצמתים צריכים להיות מספיק משאבים כדי להכיל את המכונות בקבוצת מופעי מכונה מנוהלים זו. משתמשים במידרוג אוטומטי של קבוצות מופעי מכונה מנוהלים כדי לנהל באופן אוטומטי את הגודל של קבוצות מופעי מכונה מנוהלים.
INSTANCE_TEMPLATE: כתובת ה-URL של התבנית של הגדרות המכונה שמשמשת ליצירת הקבוצה. בתבנית צריך להיות תווית של שייכות לצומת שמפנה לקבוצת הצמתים המתאימה.
הגדרת תוויות של זיקת צומת
תוויות של שיוך לצומת מאפשרות לקבץ באופן לוגי קבוצות של צמתים, ולתזמן מכונות וירטואליות בקבוצה ספציפית של קבוצות צמתים. אפשר גם להשתמש בתוויות של שיוך צומת כדי לתזמן מכונות וירטואליות בקבוצות צמתים באזורים שונים, ועדיין לשמור על קבוצות הצמתים בקבוצה לוגית. התהליך הבא הוא דוגמה לשימוש בתוויות שיוך כדי לשייך מכונות וירטואליות לקבוצת צמתים ספציפית שמשמשת לעומסי עבודה של ייצור. בדוגמה הזו מוסבר איך לתזמן מכונה וירטואלית אחת, אבל אפשר גם להשתמש בקבוצות של מופעי מכונה מנוהלים כדי לתזמן קבוצה של מכונות וירטואליות.
gcloud
משתמשים בפקודה
gcloud compute sole-tenancy node-templates createכדי ליצור תבנית צומת עם קבוצה של תוויות שיוך לעומס עבודה בסביבת הייצור:gcloud compute sole-tenancy node-templates create prod-template \ --node-type=n1-node-96-624 \ --node-affinity-labels workload=frontend,environment=prod
משתמשים בפקודה
gcloud compute sole-tenancy node-templates describeכדי להציג את תוויות ההתאמה של הצומת שהוקצו לתבנית הצומת.משתמשים בפקודה
gcloud compute sole-tenancy node-groups createכדי ליצור קבוצת צמתים שמשתמשת בתבנית של סביבת הייצור:gcloud compute sole-tenancy node-groups create prod-group \ --node-template=prod-template \ --target-size=1
למכונות הווירטואליות בסביבת הייצור, יוצרים קובץ
node-affinity-prod.jsonכדי לציין את השיוך של המכונות הווירטואליות בסביבת הייצור. לדוגמה, אפשר ליצור קובץ שמציין שמכונות וירטואליות יפעלו רק בצמתים עם שתי ההעדפותworkload=frontendו-environment=prod. יוצרים את קובץ ההתאמה של הצומת באמצעות Cloud Shell או יוצרים אותו במיקום לבחירתכם.[ { "key" : "workload", "operator" : "IN", "values" : ["frontend"] }, { "key" : "environment", "operator" : "IN", "values" : ["prod"] } ]משתמשים בקובץ
node-affinity-prod.jsonעם הפקודהgcloud compute instances createכדי לתזמן מכונה וירטואלית בקבוצת הצמתים עם תוויות ההתאמה המתאימות.gcloud compute instances create prod-vm \ --node-affinity-file node-affinity-prod.json \ --machine-type=n1-standard-2
משתמשים בפקודה
gcloud compute instances describeובודקים את השדהschedulingכדי לראות את ההתאמות של הצמתים שהוקצו למכונה הווירטואלית.
הגדרת תוויות של אנטי-זיקה לצומת
אפשר להגדיר תוויות של שייכות לצומת כתוויות של אנטי-שייכות כדי למנוע הפעלה של מכונות וירטואליות בצמתים ספציפיים. לדוגמה, אתם יכולים להשתמש בתוויות של אי-קרבה כדי למנוע תזמון של מכונות וירטואליות שאתם משתמשים בהן למטרות פיתוח באותם צמתים שבהם נמצאת המכונה הווירטואלית של סביבת הייצור. בדוגמה הבאה מוסבר איך להשתמש בתוויות של העדפה כדי למנוע הפעלה של מכונות וירטואליות בקבוצות ספציפיות של צמתים. בדוגמה הזו מוסבר איך לתזמן מכונה וירטואלית אחת, אבל אפשר גם להשתמש בקבוצות של מופעי מכונה מנוהלים כדי לתזמן קבוצה של מכונות וירטואליות.
gcloud
כדי להגדיר את ה-affinity של המכונות הווירטואליות לפיתוח, יוצרים
node-affinity-dev.jsonבאמצעות Cloud Shell או במיקום לבחירתכם. לדוגמה, אפשר ליצור קובץ שמגדיר מכונות וירטואליות להפעלה בכל קבוצת צמתים עם הזיקהworkload=frontend, כל עוד היא לאenvironment=prod:[ { "key" : "workload", "operator" : "IN", "values" : ["frontend"] }, { "key" : "environment", "operator" : "NOT_IN", "values" : ["prod"] } ]משתמשים בקובץ
node-affinity-dev.jsonעם הפקודהgcloud compute instances createכדי ליצור את המכונה הווירטואלית לפיתוח:gcloud compute instances create dev-vm \ --node-affinity-file=node-affinity-dev.json \ --machine-type=n1-standard-2
משתמשים בפקודה
gcloud compute instances describeובודקים את השדהschedulingכדי לראות את ההגדרות של אנטי-אפיניות של הצומת שהוקצו למכונה הווירטואלית.
המאמרים הבאים
- למידע על התמחור של שרתים לדייר יחיד (sole-tenant), ראו תמחור של שרתים לדייר יחיד (sole-tenant).
מידע על הפעלת התאמה אוטומטית לעומס בקבוצות של שרתים לדייר יחיד זמין במאמר בנושא מידרוג אוטומטי של קבוצות צמתים.
מידע נוסף על העברת רישיונות קיימים אל Google Cloudזמין במאמר העברת רישיונות קיימים.
מידע נוסף על שרתים לדייר יחיד זמין במאמר שרתים לדייר יחיד.