יצירת קבוצת MIG עם סוגי מכונות H4D והפעלה גמישה

במדריך הזה נסביר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) שמשתמשת בסוג מכונה H4D. קבוצת ה-MIG יוצרת מכונות וירטואליות מסוג Flex-start – מכונות וירטואליות שפועלות עד שבעה ימים במחיר מוזל. כשיוצרים מכונות וירטואליות בדרך הזו, מערכת Compute Engine ממקמת אותן בקרבה זו לזו כדי למזער את זמן האחזור ברשת, ולכן הן אידיאליות להרצת עומסי עבודה של HPC.

יצירת קבוצה של מופעי מכונה מנוהלים (MIG) מאפשרת לכם לנהל כמה מכונות וירטואליות כישות אחת. כל מכונה וירטואלית ב-MIG מבוססת על תבנית של הגדרות מכונה. קבוצות MIG מציעות זמינות וגמישות גבוהות, כי הן מנהלות את המכונות הווירטואליות בקבוצה באופן אוטומטי. מידע נוסף על קבוצות של מכונות וירטואליות מנוהלות (MIG) זמין במאמר בנושא קבוצות של מכונות וירטואליות מנוהלות.

מידע על אפשרויות ליצירת מכונות וירטואליות (VM) וקלאסטרים של HPC זמין במאמר סקירה כללית של יצירת קלאסטרים של HPC.

המדריך הזה מיועד למהנדסי HPC, לאדמינים ולמפעילים של פלטפורמות, ולמומחים בנתונים וב-MPI שרוצים ליצור קבוצה של מופעי HPC שמחוברים ביניהם לעומסי עבודה לפרקי זמן קצרים. המופעים שמתקבלים לא משתמשים בכלי לניהול מופעים או לתזמון משימות.

מטרות

  1. אופציונלי: אפשר לבקש מכסה שניתן לקטוע.
  2. אופציונלי: יצירת רשתות של ענן וירטואלי פרטי (VPC).
  3. אופציונלי: יוצרים מדיניות של עומס עבודה.
  4. יוצרים תבנית של הגדרות מכונה.
  5. יוצרים קבוצת MIG ובקשה לשינוי גודל.
  6. מנקים את הבית.

עלויות

במדריך הזה נעשה שימוש ברכיבים של Google Cloudשחלים עליהם חיובים, כולל:

כדי ליצור הערכת עלויות על סמך השימוש החזוי, אתם יכולים להשתמש במחשבון התמחור.

לפני שמתחילים

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. התקינו את ה-CLI של Google Cloud.

  3. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  4. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  5. יוצרים או בוחרים 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 .

  6. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  7. מפעילים את ממשק ה-API הנדרש:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    gcloud services enable compute.googleapis.com
  8. התקינו את ה-CLI של Google Cloud.

  9. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  10. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  11. יוצרים או בוחרים 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 .

  12. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  13. מפעילים את ממשק ה-API הנדרש:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    gcloud services enable compute.googleapis.com
  14. מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM: roles/compute.instanceAdmin.v1,roles/compute.networkAdmin

    gcloud 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 לשימוש עם המקרים שלכם, אתם יכולים לפעול לפי ההוראות שמתועדות או להשתמש בסקריפט שסופק.

מדריכים להוראה

כדי ליצור את הרשתות, אפשר לפעול לפי ההוראות הבאות:

Script

אפשר ליצור עד תשעה ממשקי רשת מסוג gVNIC וממשק רשת אחד מסוג IRDMA לכל מכונה. כל ממשק רשת צריך להיות מחובר לרשת נפרדת. כדי ליצור את הרשתות, אפשר להשתמש בסקריפט הבא, שיוצר שתי רשתות ל-gVNIC ורשת אחת ל-IRDMA.

  1. אופציונלי: לפני שמריצים את הסקריפט, מציגים רשימה של פרופילי רשת VPC של Falcon כדי לוודא שיש פרופיל זמין.
      gcloud compute network-profiles list
      
  2. מעתיקים את הקוד הבא ומפעילים פתרונות חכמים אותו בחלון מעטפת של 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.
  3. אופציונלי: כדי לוודא שהמשאבים של רשת ה-VPC נוצרו בהצלחה, בודקים את הגדרות הרשת במסוף Google Cloud :

    1. נכנסים לדף VPC networks במסוף Google Cloud .

      מעבר לרשתות VPC

    2. מחפשים ברשימה את הרשתות שיצרתם בשלב הקודם.
    3. כדי לראות את רשתות המשנה, את כללי חומת האש והגדרות רשת אחרות, לוחצים על שם הרשת.

אופציונלי: יצירת מדיניות של עומס עבודה

אם רוצים שמכונות וירטואליות ב-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 ל-method‏ instanceGroupManagers.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 ל-method‏ regionInstanceGroupManagers.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 ל-method‏ instanceGroupManagerResizeRequests.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 ל-method‏ beta.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

מחיקת המשאבים

  1. מחיקת בקשות לשינוי גודל ב-MIG

  2. מוחקים את קבוצת ה-MIG ואת המכונות.

  3. אם מצב המחיקה האוטומטית של הדיסקים הוגדר ל-False בתבנית של המכונה, הדיסקים לא יימחקו אוטומטית כשמוחקים את המכונה הווירטואלית. אפשר למחוק את הדיסקים באחת מהשיטות הבאות:

    המסוף

    1. נכנסים לדף Disks במסוף Google Cloud .

    לפתיחת הדף Disks

    1. בוחרים את השורות שמכילות את הדיסקים שיצרתם במדריך הזה. מוודאים שהעמודה בשימוש על ידי ריקה לכל דיסק.

    2. לוחצים על מחיקה ואז על מחיקה כדי לאשר.

    gcloud

    משתמשים בפקודה gcloud compute disks delete.

    gcloud compute disks delete DISK_NAME \
        --project PROJECT_ID --zone ZONE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • DISK_NAME : השם של הדיסק שרוצים למחוק
    • PROJECT_ID: מזהה הפרויקט שמכיל את הדיסק
    • ZONE: האזור של הדיסק

    REST

    משתמשים ב-‎disks.delete method כדי למחוק את הדיסקים.

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME 
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט שמכיל את הדיסק
    • ZONE: האזור של הדיסק
    • DISK_NAME : השם של הדיסק שרוצים למחוק
  4. מוחקים את הערוצים או החבילות.

  5. מוחקים את תבנית המכונה.

המאמרים הבאים