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

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

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

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

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

מטרות

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

עלויות

במדריך הזה נעשה שימוש ברכיבים של Cloud de Confiance by S3NSשהשימוש בהם כרוך בתשלום, כולל:

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

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

  1. התקינו את ה-CLI של Google Cloud.

  2. הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.

    איך נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת?

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

    gcloud init
  4. יוצרים או בוחרים פרויקט ב- Cloud de Confiance .

    התפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • בחירת פרויקט: כדי לבחור פרויקט לא נדרש תפקיד IAM ספציפי – אתם יכולים לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד 'יצירת פרויקטים' (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Cloud de Confiance פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Cloud de Confiance שיוצרים.

    • בוחרים את הפרויקט שיצרתם ב- Cloud de Confiance :

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Cloud de Confiance .

  5. מוודאים שהחיוב מופעל בפרויקט ב- Cloud de Confiance .

  6. מפעילים את ממשק ה-API הנדרש, אם הוא עדיין לא מופעל:

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

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

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

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

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

אופציונלי: שליחת בקשה למכסה של מכונות וירטואליות שניתן להפסיק

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

כשמשתמשים ב-Flex-start, המכסה יכולה להיות רגילה או ניתנת להפסקה לפני הזמן.

  • מכסה רגילה: אם לפרויקט אין מכסה של מכונות VM שניתנות להפסקה לפני הזמן, ומעולם לא ביקשתם מכסה כזו, המשאבים של המכונה יצרכו מכסה רגילה.
  • מכסה של מכונות שניתנות להפסקה: בקשה למכסות של מכונות שניתנות להפסקה יכולה לעזור לכם לשפר את הזמינות של המכסות, על ידי מתן מכסות נפרדות למשאבים זמניים. עם זאת, אחרי ש-Compute Engine מקצה לכם מכסה של מכונות VM שניתנות להפסקה לפני הזמן באזור מסוים, כל המשאבים הרלוונטיים צורכים רק את המכסה הזו. אם המכסה הזו מוצתה, צריך לבקש מכסה נוספת של משאבי מכונות וירטואליות שניתן לקטוע.

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

סוגי המכסות הנדרשות

כדי להשתמש בקבוצות של מכונות, צריכה להיות לכם מכסה זמינה לכל המשאבים שבהם הקבוצה משתמשת (לדוגמה, מכסת מעבד (CPU)) ומכסה זמינה למשאב הקבוצה עצמו. יכול להיות שייעשה שימוש בסוגי המכסות הבאים עבור מכונות H4D, בהתאם לסוג המכונה שבו נעשה שימוש במכונות:

משאב מכסה רגילה מכסה של מופעים זמניים שניתנים להפסקה
מעבדים (CPU) CPUS_PER_VM_FAMILY Preemptible CPUs
כונני SSD מקומיים Local SSD per machine family (GB) Preemptible Local SSDs (GB)

כדי ליצור את המשאבים במדריך הזה, יכול להיות שתצטרכו את המכסה האזורית הנוספת הבאה:

  • קבוצת מופעי מכונה מנוהלים בתחום מוגדר (תחום יחיד): 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 NIC.
    • ‫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, כולל מקורות מחוץ ל- Cloud de Confiance by S3NS.
    • ‫RDMA_NAME_PREFIX: התחילית של השם שמשמשת לרשת ה-VPC ולרשת המשנה שמשתמשת בסוג ה-NIC של IRDMA.
    • ‫ZONE: האזור שבו רוצים ליצור את הרשתות ואת המכונות של Compute Engine. אפשר להשתמש ב-us-central1-a או ב-europe-west4-b.
  3. אופציונלי: כדי לוודא שמשאבי רשת ה-VPC נוצרו בהצלחה, בודקים את הגדרות הרשת במסוף Cloud de Confiance :

    1. במסוף Cloud de Confiance , נכנסים לדף רשתות VPC.

      כניסה לרשתות VPC

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

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

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

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

gcloud

כדי ליצור מדיניות של עומס עבודה, משתמשים בפקודה gcloud compute resource-policies create workload-policy.

  • כדי להקצות מכונות וירטואליות על בסיס המאמץ המרבי, מציינים את הדגל --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
    הערה: הגדרה של מרחק מקסימלי קצר יותר עשויה להקטין את הסבירות לזמינות של מכונה וירטואלית. מידע נוסף זמין במאמר בנושא מאפיין המרחק המקסימלי בטופולוגיה.

יצירת תבנית של הגדרות מכונה

כדי להשתמש באפשרות של צריכת משאבים עם התחלה גמישה, יוצרים קבוצת MIG ריקה ואז יוצרים בקשה לשינוי הגודל של קבוצת ה-MIG. כשהקיבולת שביקשתם תהיה זמינה, Compute Engine יקצה אותה וייצור את המכונות ב-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 \
    
    --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: אופציונלי: סוג ה-stack לשימוש בממשק gVNIC. צריך לציין IPV4_ONLY או IPV4_IPV6. אם לא תציינו ערך, המערכת תשתמש בערך ברירת המחדל IPV4_ONLY.
  • ‫EXTERNAL_IPV4_ADDRESS: אופציונלי: כתובת IPv4 חיצונית סטטית לשימוש עם ממשק הרשת gVNIC. צריך לשריין כתובת IPv4 חיצונית מראש. מבצעים אחת מהפעולות הבאות:

    • צריך לציין כתובת IPv4 תקינה מרשת המשנה.
    • אם אתם לא רוצים שלממשק הרשת תהיה כתובת IP חיצונית, השתמשו בדגל no-address.
    • מציינים את הערך 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 דקות ל-7 ימים.

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",
      }
    ],
,
    "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 עם בקשה לשינוי כמות

כדי ליצור את כל המכונות המבוקשות עם התחלה גמישה (Flex-start) בו-זמנית, יוצרים קבוצת מופעים מנוהלת (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 של אזור, מבצעים את הפעולות הבאות:

  • כדי ליצור קבוצת 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, צריך לכלול את הדגל --workload-policy בפקודה.

REST

כדי ליצור בקשה לשינוי כמות ב-MIG אזורי או ב-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 בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים או להשאיר את הפרויקט ולמחוק את המשאבים הנפרדים.

מחיקת הפרויקט

כדי למחוק Cloud de Confiance פרויקט:

gcloud projects delete PROJECT_ID

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

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

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

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

    המסוף

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

    לפתיחת הדף Disks

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

    2. לוחצים על Delete ואז על Delete כדי לאשר.

    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. מוחקים את התבנית של הגדרות המכונה.

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