במדריך הזה נסביר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) שמשתמשת בסוג מכונה H4D. קבוצת ה-MIG יוצרת מכונות וירטואליות מסוג Flex-start – מכונות וירטואליות שפועלות עד שבעה ימים במחיר מוזל. כשיוצרים מכונות וירטואליות בדרך הזו, מערכת Compute Engine ממקמת אותן בקרבה זו לזו כדי למזער את זמן האחזור ברשת, ולכן הן אידיאליות להרצת עומסי עבודה של HPC.
יצירת קבוצה של מופעי מכונה מנוהלים (MIG) מאפשרת לכם לנהל כמה מכונות וירטואליות כישות אחת. כל מכונה וירטואלית ב-MIG מבוססת על תבנית של הגדרות מכונה. קבוצות MIG מציעות זמינות וגמישות גבוהות, כי הן מנהלות את המכונות הווירטואליות בקבוצה באופן אוטומטי. מידע נוסף על קבוצות של מכונות וירטואליות מנוהלות (MIG) זמין במאמר בנושא קבוצות של מכונות וירטואליות מנוהלות.
מידע על אפשרויות ליצירת מכונות וירטואליות (VM) וקלאסטרים של HPC זמין במאמר סקירה כללית של יצירת קלאסטרים של HPC.
המדריך הזה מיועד למהנדסי HPC, לאדמינים ולמפעילים של פלטפורמות, ולמומחים בנתונים וב-MPI שרוצים ליצור קבוצה של מופעי HPC שמחוברים ביניהם לעומסי עבודה לפרקי זמן קצרים. המופעים שמתקבלים לא משתמשים בכלי לניהול מופעים או לתזמון משימות.
מטרות
- אופציונלי: אפשר לבקש מכסה שניתן לקטוע.
- אופציונלי: יצירת רשתות של ענן וירטואלי פרטי (VPC).
- אופציונלי: יוצרים מדיניות של עומס עבודה.
- יוצרים תבנית של הגדרות מכונה.
- יוצרים קבוצת MIG ובקשה לשינוי גודל.
- מנקים את הבית.
עלויות
במדריך הזה נעשה שימוש ברכיבים של Google Cloudשחלים עליהם חיובים, כולל:
כדי ליצור הערכת עלויות על סמך השימוש החזוי, אתם יכולים להשתמש במחשבון התמחור.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשק ה-API הנדרש:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable compute.googleapis.com
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשק ה-API הנדרש:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable compute.googleapis.com
-
מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/compute.instanceAdmin.v1,roles/compute.networkAdmingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה,myemail@example.com. -
ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
-
אופציונלי: שליחת בקשה למכסה של מכונות וירטואליות שניתנות להפסקת פעולה
המכונות הווירטואליות שנוספו לקבוצת ה-MIG צורכות מכסה אזורית. מכסות של מכונות וירטואליות, קבוצות מכונות, מעבדים ודיסקים יכולות להיות בשימוש של כל מכונה וירטואלית באזור, בלי קשר לתחום.
כשמשתמשים ב-Flex-start, המכסה יכולה להיות מכסה רגילה או מכסה שניתנת להפקעה.
- מכסה רגילה: אם לפרויקט שלכם אין מכסה של מכונות וירטואליות שניתנות להפסקת תשלום, ומעולם לא ביקשתם מכסה כזו, משאבי המכסות של המכונות הווירטואליות ינוכו מהמכסה הרגילה.
- מכסה שניתן להפסיק: בקשה למכסות שניתן להפסיק יכולה לעזור לכם לשפר את הזמינות של המכסות, כי היא מספקת מכסות נפרדות למשאבים זמניים. עם זאת, אחרי ש-Compute Engine מעניק לכם מכסה של מכונות שניתן להפסיק, כל המשאבים הרלוונטיים צורכים רק מכסה של מכונות שניתן להפסיק. אם המכסה הזו מוצתה, צריך לבקש מכסה נוספת של משאבי מכונות וירטואליות שניתן להפסיק את השימוש בהם.
כדי לבקש מכסה של מכונות שאפשר להפסיק, פועלים לפי השלבים שמפורטים במאמר בנושא בקשה לשינוי המכסות.
סוגי המכסות שנדרשות
כדי להשתמש בקבוצות של מכונות וירטואליות, צריך להקצות מכסות לכל המשאבים שבהם הקבוצה משתמשת (לדוגמה, מכסת CPU) ומכסה למשאב הקבוצה עצמו. יכול להיות שייעשה שימוש בסוגי המכסות הבאים עבור מכונות H4D, בהתאם לסוג המכונה שבו נעשה שימוש במכונות:
| משאב | מכסה רגילה | מכסה של מכונות שאפשר להפסיק לפני הזמן |
|---|---|---|
| מעבדים (CPU) | CPUS_PER_VM_FAMILY |
Preemptible CPUs |
| אחסון SSD מקומי | Local SSD per machine family (GB) |
Preemptible Local SSDs (GB) |
כדי ליצור את המשאבים במדריך הזה, יכול להיות שתצטרכו להגדיל את מכסת השימוש האזורית הנוספת הבאה:
- קבוצת מופעי מכונה מנוהלים (MIG) של אזור אחד:
Instance group managersו-Instance groups Google Cloud Hyperdisk:
Hyperdisk Balanced Capacity (GB)Hyperdisk Balanced Throughput (MB/s)Hyperdisk Balanced IOPS
אופציונלי: יצירת רשתות VPC
אלא אם משביתים את האפשרות הזו, לכל פרויקט יש רשת ברירת מחדל, שאפשר להשתמש בה כדי לספק קישוריות רשת למופעים. כשיוצרים מכונה וירטואלית, אפשר לציין רשת VPC ותת-רשת. אם לא מציינים את ההגדרה הזו, נעשה שימוש ברשת וברשת המשנה שמוגדרות כברירת מחדל.
אפשר להגדיר מופעי H4D לשימוש ב-Cloud RDMA. Cloud RDMA מאפשר יכולות העברת הודעות אמינות עם זמן אחזור נמוך באמצעות מנהל התקן של רשת IRDMA שתומך בגישה ישירה מרחוק לזיכרון (RDMA) בין מכונות וירטואליות של Compute Engine.
במדריך הזה:
- אם רוצים להגדיר את מופעי H4D לשימוש ב-Cloud RDMA, צריך לבצע את השלבים שבקטע הזה.
- אם אתם לא רוצים להשתמש ב-Cloud RDMA, אתם יכולים לדלג על הקטע הזה ולהשתמש ברשת ברירת המחדל במקום זאת.
כדי להגדיר את רשתות ה-VPC של Falcon לשימוש עם המקרים שלכם, אתם יכולים לפעול לפי ההוראות שמתועדות או להשתמש בסקריפט שסופק.
מדריכים להוראה
כדי ליצור את הרשתות, אפשר לפעול לפי ההוראות הבאות:
כדי ליצור את רשתות המארח עבור
GVNICממשקי הרשת, אפשר לעיין במאמר יצירה וניהול של רשתות VPC.אם מגדירים רק
GVNICממשק רשת אחד, אפשר להשתמש ברשת ה-VPC שמוגדרת כברירת מחדל וברשת המשנה האוטומטית שנמצאת באותו אזור כמו המכונה.כדי ליצור רשת לממשק הרשת
IRDMA, אפשר לעיין במאמר בנושא יצירת רשת VPC עם פרופיל רשת Falcon VPC. משתמשים בערך ברירת המחדל של יחידת השידור המקסימלית (MTU) עבור רשת Falcon VPC, שהוא8896.
Script
אפשר ליצור עד תשעה ממשקי רשת מסוג gVNIC וממשק רשת אחד מסוג IRDMA לכל מכונה. כל ממשק רשת צריך להיות מחובר לרשת נפרדת. כדי ליצור את הרשתות, אפשר להשתמש בסקריפט הבא, שיוצר שתי רשתות ל-gVNIC ורשת אחת ל-IRDMA.
- אופציונלי: לפני שמריצים את הסקריפט, מציגים רשימה של פרופילי רשת VPC של Falcon כדי לוודא שיש פרופיל זמין.
gcloud compute network-profiles list
מעתיקים את הקוד הבא ומפעילים פתרונות חכמים אותו בחלון מעטפת של Linux.
#!/bin/bash # Set the number of GVNIC interfaces to create. You can create up to 9. NUM_GVNIC=NUMBER_OF_GVNIC # Create regular VPC networks and subnets for the GVNIC interfaces for N in $(seq 0 $(($NUM_GVNIC - 1))); do gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --region=REGION \ --range=10.$N.0.0/16 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=10.0.0.0/8 done # Create SSH firewall rules gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=IP_RANGE # Optional: Create a firewall rule for the external IP address for the # first GVNIC network interface gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=icmp \ --source-ranges=IP_RANGE # Create a Falcon VPC network for the Cloud RDMA network interface gcloud compute networks create RDMA_NAME_PREFIX-irdma \ --network-profile=ZONE-vpc-falcon \ --subnet-mode custom # Create a subnet in the Falcon VPC network gcloud compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \ --network=RDMA_NAME_PREFIX-irdma \ --region=REGION \ --range=10.2.0.0/16 # offset to avoid overlap with GVNIC subnet rangesמחליפים את מה שכתוב בשדות הבאים:
-
NUMBER_OF_GVNIC: מספר ממשקי GVNIC שרוצים ליצור. צריך לציין מספר בין 1 ל-9. -
GVNIC_NAME_PREFIX: תחילית השם שבה רוצים להשתמש עבור רשת ה-VPC הרגילה ורשת המשנה שמשתמשות בסוג כרטיס רשת GVNIC. -
REGION: האזור שבו רוצים ליצור את הרשתות. הערך הזה צריך להתאים לאזור שצוין בדגל--network-profileכשיוצרים את רשת ה-VPC של Falcon. לדוגמה, אם מציינים את האזור כ-europe-west4-b, האזור הואeurope-west4. -
IP_RANGE: טווח כתובות ה-IP מחוץ לרשת ה-VPC שמשמשות לכללי חומת האש של SSH. השיטה המומלצת היא לציין את טווחי כתובות ה-IP הספציפיים שמהם אתם רוצים לאפשר גישה, ולא את כל המקורות של IPv4 או IPv6. אל תשתמשו ב-0.0.0.0/0או ב-::/0כטווח מקורות, כי זה מאפשר תנועה מכל מקורות IPv4 או IPv6, כולל מקורות מחוץ ל- Google Cloud. -
RDMA_NAME_PREFIX: תחילית השם שתשמש לרשת ה-VPC ולתת-הרשת שמשתמשות בסוג כרטיס ה-NIC של IRDMA. -
ZONE: האזור שבו רוצים ליצור את הרשתות ואת מכונות ה-Compute. אפשר להשתמש ב-us-central1-aאו ב-europe-west4-b.
-
אופציונלי: כדי לוודא שהמשאבים של רשת ה-VPC נוצרו בהצלחה, בודקים את הגדרות הרשת במסוף Google Cloud :
- נכנסים לדף VPC networks במסוף Google Cloud .
- מחפשים ברשימה את הרשתות שיצרתם בשלב הקודם.
- כדי לראות את רשתות המשנה, את כללי חומת האש והגדרות רשת אחרות, לוחצים על שם הרשת.
אופציונלי: יצירת מדיניות של עומס עבודה
אם רוצים שמכונות וירטואליות ב-Compute Engine ימוקמו בבלוק אחד או בבלוקים סמוכים, צריך ליצור מדיניות עומס עבודה כדי לציין את מיקום המכונות. עם זאת, אם אתם רוצים ש-Compute Engine תמקם את המכונות שלכם בבלוק ספציפי, דלגו על השלב הזה וציינו את שם הבלוק בהעדפת המקום השמור כשאתם יוצרים את תבנית של הגדרות מכונה.
כדי ליצור מדיניות לגבי עומסי עבודה, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור מדיניות של עומס עבודה, משתמשים בפקודה
gcloud compute resource-policies create workload-policy.
-
כדי להציב מכונות וירטואליות (VM) בצורה הכי טובה שאפשר, מציינים את הדגל
--type=high-throughputבפקודה:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --region=REGION -
כדי להגדיר מיקום משותף קפדני של מכונות וירטואליות, מציינים את הדגלים
--max-topology-distanceו---type=high-throughputבפקודה:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --max-topology-distance=TOPOLOGY_DISTANCE \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
WORKLOAD_POLICY_NAME: השם של מדיניות עומסי העבודה. -
TOPOLOGY_DISTANCE: המרחק המקסימלי בטופולוגיה. מציינים אחד מהערכים הבאים:- כדי למקם מכונות וירטואליות באותו תת-בלוק:
SUBBLOCK - כדי למקם מכונות וירטואליות באותו בלוק:
BLOCK - כדי למקם מכונות וירטואליות באותו אשכול:
CLUSTER
הערה: הגדרה של מרחק מקסימלי קצר יותר יכולה להקטין את הסבירות לזמינות של מכונה וירטואלית. מידע נוסף זמין במאמר בנושא מאפיין המרחק המקסימלי בטופולוגיה. - כדי למקם מכונות וירטואליות באותו תת-בלוק:
-
REGION: האזור שבו רוצים ליצור את מדיניות עומס העבודה. מציינים אזור שבו רוצים ליצור את ה-MIG ואת סוג המכונה שרוצים להשתמש בה. מידע על אזורים ותחומים זמין במאמר אזורים ותחומים זמינים.
REST
כדי ליצור מדיניות של עומס עבודה, שולחים בקשת POST אל ה-method resourcePolicies.insert.
-
כדי למקם מכונות וירטואליות בצורה הכי טובה שאפשר, מציינים את השדה
typeבבקשה באופן הבא:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT" } } -
כדי להגדיר מיקום משותף קפדני של מכונות וירטואליות, מציינים את השדות
maxTopologyDistanceו-typeבבקשה באופן הבא:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT", "maxTopologyDistance": "TOPOLOGY_DISTANCE" } }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
REGION: האזור שבו רוצים ליצור את מדיניות עומס העבודה. מציינים אזור שבו רוצים ליצור את ה-MIG ואת סוג המכונה שרוצים להשתמש בה. מידע על אזורים ותחומים זמין במאמר אזורים ותחומים זמינים. -
WORKLOAD_POLICY_NAME: השם של מדיניות עומסי העבודה. -
TOPOLOGY_DISTANCE: המרחק המקסימלי בטופולוגיה. אפשר לציין את אחד מהערכים הבאים:- כדי למקם מכונות וירטואליות באותו תת-בלוק:
SUBBLOCK - כדי למקם מכונות וירטואליות באותו בלוק:
BLOCK - כדי למקם מכונות וירטואליות באותו אשכול:
CLUSTER
הערה: הגדרה של מרחק מקסימלי קצר יותר עשויה להקטין את הסבירות לזמינות של מכונה וירטואלית. מידע נוסף זמין במאמר בנושא מאפיין המרחק המקסימלי בטופולוגיה. - כדי למקם מכונות וירטואליות באותו תת-בלוק:
יצירת תבנית מכונה
כדי להשתמש באפשרות של צריכת משאבים עם התחלה גמישה, יוצרים קבוצת מופעים מנוהלת ריקה ואז יוצרים בקשה לשינוי הגודל של קבוצת המופעים המנוהלת. כשקיבולת המשאבים שביקשתם תהיה זמינה, מערכת Compute Engine תקצה אותה ותיצור את המכונות ב-MIG. אתם מקבלים משאבים למשך עד שבעה ימים.
כדי לציין את המאפיינים של המכונה והצריכה לכל מכונה ב-MIG, יוצרים תבנית של הגדרות מכונה באחת מהשיטות הבאות:
gcloud
כדי ליצור תבנית של הגדרות מכונה אזורית, משתמשים
בפקודה gcloud compute instance-templates create.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC, \
network=GVNIC_NAME_PREFIX-net-0, \
subnet=GVNIC_NAME_PREFIX-sub-0, \
stack-type=STACK_TYPE, \
address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
network=GVNIC_NAME_PREFIX-net-1, \
subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=IRDMA, \
network=RDMA_NAME_PREFIX-irdma, \
subnet=RDMA_NAME_PREFIX-irdma-sub, \
stack-type=IPV4_ONLY,no-address \
--reservation-affinity=none \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_TEMPLATE_NAME: השם של תבנית של הגדרות מכונה. -
MACHINE_TYPE: סוג המכונה H4D שבה רוצים להשתמש עבור המופע. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של מערכות הפעלה נתמכות מופיעה במאמר מערכות הפעלה נתמכות. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
REGION: האזור שבו רוצים ליצור את תבנית של הגדרות מכונה. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. -
DISK_SIZE: גודל דיסק האתחול ב-GiB.
GVNIC_NAME_PREFIX: תחילית השם שבה השתמשתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה לממשקי gVNIC.אם אתם משתמשים ברשת ברירת המחדל, צריך לכלול רק שדה
--network-interfaceאחד עם השדהnic-typeשמוגדר לערךGVNIC. בנוסף, צריך להשמיט את ההגדרותnetworkו-subnetworkבממשק הרשת הזה.-
STACK_TYPE: אופציונלי: סוג המערך לשימוש בממשק gVNIC. צריך לצייןIPV4_ONLYאוIPV4_IPV6. אם לא תציינו ערך, המערכת תשתמש בערך ברירת המחדלIPV4_ONLY.
EXTERNAL_IPV4_ADDRESS: אופציונלי: כתובת IPv4 חיצונית סטטית לשימוש עם ממשק הרשת gVNIC. צריך לשריין כתובת IPv4 חיצונית מראש. מבצעים אחת מהפעולות הבאות:- מציינים כתובת IPv4 חוקית מתת-הרשת.
- משתמשים בדגל
no-addressאם לא רוצים שלממשק הרשת תהיה כתובת IP חיצונית. - מציינים
address=''אם רוצים שממשק הרשת יקבל כתובת IP חיצונית ארעית.
כדי לציין כתובת IPv6 חיצונית לממשק הרשת של GVNIC, משתמשים בדגל
--external-ipv6-address.
RDMA_NAME_PREFIX: תחילית השם שבה השתמשתם כשייצרתם את רשת ה-VPC ואת תת-הרשת לממשק הרשת של IRDMA.אם אתם לא משתמשים ב-Cloud RDMA עם מכונות H4D, אל תציינו את השדה
--network-interfaceלממשק IRDMA.-
RUN_DURATION: משך הזמן שבו רוצים שהמופעים המבוקשים יפעלו. צריך להזין את הערך כמספר הימים, השעות, הדקות או השניות, ואחריו את הערכיםd,h,mו-sבהתאמה. לדוגמה, מציינים30mל-30 דקות או1d2h3m4sליום אחד, שעתיים, שלוש דקות וארבע שניות. הערך צריך להיות בין 10 דקות לבין שבעה ימים.
REST
כדי ליצור תבנית של הגדרות מכונה אזורית, שולחים בקשת POST אל
ה-method regionInstanceTemplates.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"machineType":"MACHINE_TYPE",
"networkInterfaces": [
{
"network": "GVNIC_NAME_PREFIX-net-0",
"subnetwork": "GVNIC_NAME_PREFIX-sub-0",
"accessConfigs": [
{
"type": "ONE_TO_ONE_NAT",
"name": "External IP",
"natIP": "EXTERNAL_IPV4_ADDRESS"
}
],
"stackType": "IPV4_ONLY",
"nicType": "GVNIC",
},
{
"network": "GVNIC_NAME_PREFIX-net-1",
"subnetwork": "GVNIC_NAME_PREFIX-sub-1",
"stackType": "IPV4_ONLY",
"nicType": "GVNIC",
},
{
"network": "RDMA_NAME_PREFIX-irdma",
"subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
"stackType": "IPV4_ONLY",
"nicType": "IRDMA",
}
],
,
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_TEMPLATE_NAME: השם של תבנית של הגדרות מכונה. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המכונה. מציינים סוג מכונה H4D. מידע נוסף זמין במאמר בנושא סוגי מכונות H4D. -
IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של מערכות הפעלה נתמכות מופיעה במאמר מערכות הפעלה נתמכות. -
IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה. -
REGION: האזור שבו רוצים ליצור את תבנית של הגדרות מכונה. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. מידע על אזורים זמין במאמר אזורים ותחומים. -
DISK_SIZE: גודל דיסק האתחול ב-GiB.
GVNIC_NAME_PREFIX: תחילית השם שבה השתמשתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה לממשקי gVNIC.אם אתם משתמשים ברשת ברירת המחדל, צריך לכלול רק שדה
--network-interfaceאחד עם השדהnic-typeשמוגדר לערךGVNIC. בנוסף, צריך להשמיט את ההגדרותnetworkו-subnetworkבממשק הרשת הזה.
EXTERNAL_IPV4_ADDRESS: אופציונלי: כתובת IPv4 חיצונית סטטית לשימוש עם ממשק הרשת gVNIC. צריך לשריין כתובת IPv4 חיצונית מראש.כדי לציין כתובת IPv6 חיצונית לממשק הרשת של GVNIC, משתמשים בדגל
--external-ipv6-address.
RDMA_NAME_PREFIX: תחילית השם שבה השתמשתם כשייצרתם את רשת ה-VPC ואת תת-הרשת לממשק הרשת של IRDMA.אם אתם לא משתמשים ב-Cloud RDMA עם מכונות H4D, אל תציינו את השדה
--network-interfaceלממשק IRDMA.RUN_DURATION: משך הזמן, בשניות, שבו רוצים שהמופעים המבוקשים יפעלו. הערך צריך להיות בין600, שהוא 600 שניות (10 דקות), לבין604800, שהוא 604,800 שניות (שבעה ימים).
אחרי שיוצרים את תבנית של הגדרות מכונה, אפשר לראות את התבנית כדי לראות את המזהה שלה ולבדוק את מאפייני המכונה.
יצירת קבוצת MIG עם בקשה לשינוי גודל
כדי ליצור את כל המופעים המבוקשים עם תזמון גמיש של התחלת השימוש, יוצרים קבוצת מופעים מנוהלת (MIG) ואז יוצרים בקשה לשינוי הגודל בקבוצת המופעים המנוהלת, כמו שמתואר בקטע הזה.
יצירת ה-MIG
כדי ליצור את ה-MIG, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור קבוצת MIG אזורית או אזורית:
-
כדי ליצור קבוצת MIG אזורית, משתמשים בפקודה
instance-groups managed createבאופן הבא.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --default-action-on-vm-failure=do-nothing \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
כדי ליצור קבוצת MIG אזורית, משתמשים בפקודה
instance-groups managed createבאופן הבא.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --default-action-on-vm-failure=do-nothing \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none
אם רוצים להחיל מדיניות של עומס עבודה על ה-MIG, צריך לכלול בפקודה את
הדגל --workload-policy.
REST
כדי ליצור קבוצת MIG אזורית או אזורית:
- כדי ליצור קבוצת MIG אזורית, שולחים בקשת
POSTל-methodinstanceGroupManagers.insertבאופן הבא.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - כדי ליצור MIG אזורי, שולחים בקשת
POSTל-methodregionInstanceGroupManagers.insertבאופן הבא.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } }
אם רוצים להחיל מדיניות של עומס עבודה על קבוצת ה-MIG, צריך לכלול את
השדה resourcePolicies.workloadPolicy בגוף הבקשה.
יצירת בקשה לשינוי גודל
כדי ליצור את בקשת שינוי הגודל ב-MIG, בוחרים אחת מהאפשרויות הבאות:
gcloud
כדי ליצור בקשה לשינוי גודל:
-
כדי ליצור בקשה לשינוי גודל של קבוצת MIG אזורית, משתמשים בפקודה
instance-groups managed resize-requests createבאופן הבא:gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ POPULATION_METHOD \ --zone=ZONE - כדי ליצור בקשה לשינוי גודל של קבוצת MIG אזורית, משתמשים בפקודה beta
instance-groups managed resize-requests createבאופן הבא:gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ POPULATION_METHOD \ --region=REGION
אם רוצים להחיל מדיניות של עומס עבודה על ה-MIG, צריך לכלול בפקודה את
הדגל --workload-policy.
REST
כדי ליצור בקשה לשינוי גודל בקבוצת מופעי מכונה מנוהלים (MIG) אזורית או אזורית:
- כדי ליצור בקשה לשינוי גודל של קבוצת MIG אזורית, שולחים בקשת
POSTל-methodinstanceGroupManagerResizeRequests.insertבאופן הבא:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", POPULATION_METHOD } - כדי ליצור בקשה לשינוי גודל של קבוצת MIG אזורית, שולחים בקשת
POSTל-methodbeta.regionInstanceGroupManagerResizeRequests.insertבאופן הבא:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", POPULATION_METHOD }
אם רוצים להחיל מדיניות של עומס עבודה על ה-MIG, צריך לכלול את השדה resourcePolicies.workloadPolicy בגוף הבקשה.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת פרויקט
כדי למחוק פרויקט Google Cloud :
gcloud projects delete PROJECT_ID
מחיקת המשאבים
אם מצב המחיקה האוטומטית של הדיסקים הוגדר ל-
Falseבתבנית של המכונה, הדיסקים לא יימחקו אוטומטית כשמוחקים את המכונה הווירטואלית. אפשר למחוק את הדיסקים באחת מהשיטות הבאות:המסוף
- נכנסים לדף Disks במסוף Google Cloud .
בוחרים את השורות שמכילות את הדיסקים שיצרתם במדריך הזה. מוודאים שהעמודה בשימוש על ידי ריקה לכל דיסק.
לוחצים על מחיקה ואז על מחיקה כדי לאשר.
gcloud
משתמשים בפקודה
gcloud compute disks delete.gcloud compute disks delete DISK_NAME \ --project PROJECT_ID --zone ZONEמחליפים את מה שכתוב בשדות הבאים:
- DISK_NAME : השם של הדיסק שרוצים למחוק
- PROJECT_ID: מזהה הפרויקט שמכיל את הדיסק
- ZONE: האזור של הדיסק
REST
משתמשים ב-
disks.deletemethod כדי למחוק את הדיסקים.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAMEמחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט שמכיל את הדיסק
- ZONE: האזור של הדיסק
- DISK_NAME : השם של הדיסק שרוצים למחוק