יצירת אשכול

אם אתם מעוניינים באשכולות אימון של Gemini Enterprise Agent Platform, אתם יכולים לפנות לנציג המכירות שלכם כדי לקבל גישה.

בדף הזה מוסבר על השיטה הישירה, שמבוססת על API, ליצירה ולניהול של אשכול אימון. במאמר הזה נסביר איך להגדיר את התצורה המלאה של האשכול, כולל צמתי התחברות, מחיצות GPU לביצועים גבוהים כמו A4 והגדרות של Slurm orchestrator – בקובץ JSON. המאמר כולל גם הסבר על שימוש ב-curl ובקריאות ל-API בארכיטקטורת REST כדי לפרוס את ההגדרה הזו, ליצור את האשכול ולנהל את מחזור החיים שלו באמצעות פעולות GET, ‏ LIST, ‏ UPDATE ו-DELETE.

הגדרת התצורה של האשכול

יוצרים קובץ JSON כדי להגדיר את התצורה המלאה של אשכול האימון.

אם מדיניות הארגון אוסרת על שימוש בכתובות IP ציבוריות במכונות וירטואליות, צריך לפרוס את אשכול האימון עם הפרמטר enable_public_ips: false ולהשתמש ב-Cloud NAT כדי לאפשר יציאה מהאינטרנט.

השלב הראשון בהקצאת אשכול אימון הוא להגדיר את התצורה המלאה שלו בקובץ JSON. הקובץ הזה משמש כתוכנית של האשכול, ומצוין בו כל דבר, החל מהשם והגדרות הרשת שלו ועד לחומרה של צומתי הכניסה והעובדים שלו.

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

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

‫GPU עם Filestore בלבד

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

בדוגמה הבאה מוצג התוכן של gpu-filestore.json. במפרט הזה נוצר אשכול עם מחיצת GPU. אפשר להשתמש בזה כתבנית ולשנות ערכים כמו machineType או nodeCount בהתאם לצרכים שלכם.

רשימת הפרמטרים זמינה במאמר הפניות לפרמטרים.

 {
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 200
      },
      "labels": { "example-key": "example-value" }
    },
    {
      "id": "a4",
      "machine_spec": {
        "machine_type": "a4-highgpu-8g",
        "accelerator_type": "NVIDIA_B200",
        "accelerator_count": 8,
        "reservation_affinity": {
          "reservationAffinityType": "RESERVATION_AFFINITY_TYPE",
          "key": "compute.googleapis.com/reservation-name",
          "values": [
            "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"
          ]
        }
      },
      "provisioning_model": "RESERVATION",
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "hyperdisk-balanced",
        "boot_disk_size_gb": 200
      },
      "labels": { "example-key": "example-value" }
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "a4",
          "node_pool_ids": [
            "a4"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

‫GPU עם Filestore ו-Managed Lustre

ההגדרה המתקדמת הזו כוללת את מופע Filestore הרגיל בנוסף למערכת קבצים של Lustre עם ביצועים גבוהים. כדאי לבחור באפשרות הזו אם עבודות האימון שלכם דורשות גישה עם תפוקה גבוהה למערכי נתונים גדולים.

רשימת הפרמטרים זמינה במאמר הפניות לפרמטרים.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/asia-sREGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 200
      },
      "lustres": [
        "projects/PROJECT_ID/locations/ZONE/instances/LUSTRE"
      ]
    },
    {
      "id": "a4",
      "machine_spec": {
        "machine_type": "a4-highgpu-8g",
        "accelerator_type": "NVIDIA_B200",
        "accelerator_count": 8,
        "reservation_affinity": {
          "reservation_affinity_type": RESERVATION_AFFINITY_TYPE,
          "key": "compute.googleapis.com/reservation-name",
          "values": [
            "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"
          ]
        }
      },
      "provisioning_model": "RESERVATION",
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "hyperdisk-balanced",
        "boot_disk_size_gb": 200
      },
      "lustres": [
        "projects/PROJECT_ID/locations/ZONE/instances/LUSTRE"
      ]
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "a4",
          "node_pool_ids": [
            "a4"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}
  

GPU עם סקריפט לטעינה בזמן ההפעלה

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

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 200
      },
      "startup_script" : "#Example script\nsudo mkdir -p /data\necho 'Script Finished'\n",
    },
    {
      "id": "a4",
      "machine_spec": {
        "machine_type": "a4-highgpu-8g",
        "accelerator_type": "NVIDIA_B200",
        "accelerator_count": 8,
        "reservation_affinity": {
          "reservationAffinityType": "RESERVATION_AFFINITY_TYPE",
          "key": "compute.googleapis.com/reservation-name",
          "values": [
            "projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"
          ]
        }
      },
      "provisioning_model": "PROVISIONING_MODEL",
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "enable_public_ips": true,
      "zone": "ZONE",
      "boot_disk": {
        "boot_disk_type": "hyperdisk-balanced",
        "boot_disk_size_gb": 200
      },
      "startup_script" : "#Example script\nsudo mkdir -p /data\necho 'Script Finished'\n",
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "a4",
          "node_pool_ids": [
            "a4"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

אשכול עם מעבד בלבד

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

רשימת הפרמטרים זמינה במאמר הפניות לפרמטרים.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "cpu",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    },
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8",
      }
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    },
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
        {
          "id": "cpu",
          "node_pool_ids": [
            "cpu"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

CPU עם הגדרות מתקדמות של Slurm

בדוגמה הזו מוסבר איך להתאים אישית את כלי התזמור Slurm באמצעות פרמטרים מתקדמים. אפשר להשתמש בתבנית הזו אם אתם צריכים שליטה מדויקת בהתנהגות של תזמון משימות, למשל הגדרת משקלים של עדיפות רב-גורמית, הגדרת קדימות של משימות והרצת סקריפטים של prolog ו-epilog להגדרה ולניקוי אוטומטיים של משימות.

רשימת הפרמטרים זמינה במאמר הפניות לפרמטרים.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "cpu",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    },
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": MIN_NODE_COUNT,
        "max_node_count": MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    }
  ],
  "orchestrator_spec": {
    "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "accounting": {
        "accounting_storage_enforce": "ACCOUNTING_STORAGE_ENFORCE"
      },
      "scheduling": {
        "priority_type": "PRIORITY_TYPE",
        "priority_weight_age": PRIORITY_WEIGHT_AGE,
        "priority_weight_assoc": PRIORITY_WEIGHT_ASSOC,
        "priority_weight_fairshare": PRIORITY_WEIGHT_FAIRSHARE,
        "priority_weight_job_size": PRIORITY_WEIGHT_JOB_SIZE,
        "priority_weight_partition": PRIORITY_WEIGHT_PARTITION,
        "priority_weight_qos": PRIORITY_WEIGHT_QOS,
        "priority_weight_tres": "PRIORITY_WEIGHT_TRES",
        "preempt_type": "PREEMPT_TYPE",
        "preempt_mode": "PREEMPT_MODE",
        "preempt_exempt_time": "PREEMPT_EXEMPT_TIME"
      },
      "prolog_bash_scripts": [
        "#!/bin/bash\necho 'First prolog script running'",
        "#!/bin/bash\necho 'Second prolog script running'"
      ],
      "epilog_bash_scripts": [
        "#!/bin/bash\necho 'Epilog script running'"
      ]
      "partitions": [
        {
          "id": "cpu",
          "node_pool_ids": [
            "cpu"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

אחרי שמגדירים את האשכול בקובץ JSON, משתמשים בפקודות הבאות של API בארכיטקטורת REST כדי לפרוס ולנהל את האשכול. בדוגמאות נעשה שימוש בכינוי gcurl, שהוא קיצור דרך נוח ומאומת לאינטראקציה עם נקודות הקצה של ה-API. הפקודות האלה מכסות את כל מחזור החיים, החל מפריסת האשכול, דרך עדכון האשכול, קבלת הסטטוס שלו ורישום כל האשכולות, ועד למחיקת האשכול.

אימות

alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'

יצירת קובץ JSON

יוצרים קובץ JSON (לדוגמה, @cpu-cluster.json) כדי לציין את ההגדרות של אשכול אימון המודלים.

פריסת האשכול

אחרי שיוצרים את קובץ התצורה בפורמט JSON, אפשר לפרוס את האשכול באמצעות API בארכיטקטורת REST.

הגדרה של משתני סביבה

לפני שמריצים את הפקודה, מגדירים את משתני הסביבה הבאים. כך פקודת ה-API תהיה נקייה וקלה יותר לניהול.

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud שבו ייצור האשכול.
  • REGION: Google Cloud האזור של האשכול והמשאבים שלו.
  • ZONE: האזור Google Cloud שבו יוקצו משאבי האשכול.
  • CLUSTER_ID: מזהה ייחודי של אשכול האימון, שמשמש גם כקידומת לשמות של משאבים קשורים.

מריצים את פקודת היצירה

עכשיו מריצים את פקודת gcurl הבאה. הוא משתמש בקובץ ה-JSON (בדוגמה הזו, cpu-cluster.json) כגוף הבקשה ובמשתני הסביבה שהגדרתם כדי ליצור את נקודת קצה ל-API ואת פרמטרי השאילתה.

  gcurl -X POST -d @cpu-cluster.json https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?model_development_cluster_id=CLUSTER_ID
    

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

  gcurl -X POST -d @cpu-cluster.json https://us-central1-aiplatform.googleapis.com/v1beta1/projects/managedtraining-project/locations/us-central1/modelDevelopmentClusters?model_development_cluster_id=training
  {
      "name": "projects/1059558423163/locations/us-central1/operations/2995239222190800896",
      "metadata": {
      "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateModelDevelopmentClusterOperationMetadata",
      "genericMetadata": {
        "createTime": "2025-10-24T14:16:59.233332Z",
        "updateTime": "2025-10-24T14:16:59.233332Z"
      },
      "progressMessage": "Create Model Development Cluster request received, provisioning..."
  }
    

אימות הפריסה של האשכול

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

    gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
    

לסיכום

שליחת הגדרות האשכול באמצעות פקודת ה-POST‏ gcurl מתחילה את הקצאת האשכול, שהיא פעולה אסינכרונית שפועלת לאורך זמן. ה-API מחזיר מיד תשובה שמכילה Operation ID. חשוב לשמור את המזהה הזה, כי תשתמשו בו בשלבים הבאים כדי לעקוב אחרי ההתקדמות של הפריסה, לוודא שהאשכול נוצר בהצלחה ולנהל את מחזור החיים שלו.

הפניה לפרמטר

ברשימה הבאה מתוארים כל הפרמטרים שמשמשים בדוגמאות להגדרות. הפרמטרים מאורגנים בקבוצות לוגיות על סמך המשאב שהם מגדירים.

הגדרות כלליות והגדרות רשת

  • DISPLAY_NAME: שם ייחודי לאשכול האימון. המחרוזת יכולה להכיל רק תווים אלפאנומריים באותיות קטנות, חייבת להתחיל באות ומספר התווים שלה מוגבל ל-10.
  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • REGION: האזור שבו ימוקמו האשכול והמשאבים שלו. Google Cloud
  • NETWORK: הרשת של הענן הווירטואלי הפרטי (VPC) שתשמש למשאבים של האשכול.
  • ZONE: ה Google Cloud אזור של האשכול והמשאבים שלו.
  • SUBNETWORK: רשת המשנה שבה ישמשו משאבי האשכול.

הגדרת מאגר הצמתים

הפרמטרים הבאים משמשים להגדרת מאגרי הצמתים לצורך התחברות ולצורך צמתים של עובדים.

הגדרות נפוצות של מאגרי צמתים

  • ID: מזהה ייחודי למאגר הצמתים בתוך האשכול (לדוגמה, login,‏ a4,‏ cpu).
  • PROVISIONING_MODEL: מודל ההקצאה של צומת העובד (לדוגמה, ON_DEMAND, ‏ SPOT, ‏ RESERVATION,‏ FLEX_START).
  • MACHINE_TYPE: סוג המכונה של צומת העובד. הערכים הנתמכים הם a3-megagpu-8g, ‏ a3-ultragpu-8g, ‏ a4-highgpu-8g.
  • MIN_NODE_COUNT: הערך של MIN_NODE_COUNT חייב להיות זהה לערך של MAX_NODE_COUNT.
  • MAX_NODE_COUNT: במאגר צמתים של התחברות, הערך של MAX_NODE_COUNT חייב להיות זהה לערך של MIN_NODE_COUNT.
  • ENABLE_PUBLIC_IPS: ערך בוליאני (true או false) שקובע אם לצומת הכניסה יש כתובת IP ציבורית.
  • BOOT_DISK_TYPE: סוג דיסק האתחול של צומת הכניסה (לדוגמה, pd-standard,‏ pd-ssd).
  • BOOT_DISK_SIZE_GB: גודל דיסק האתחול ב-GB של צומת הכניסה.
  • LABELS: קבוצה של צמדי מפתח/ערך לתווית של מאגר הצמתים.
  • NODE_IMAGE (תואם ל-node_image בתוך אובייקט node_pools): תמונת המכונה הווירטואלית שממנה מופעלים הצמתים של מאגר הצמתים, כנתיב מלא של משאב תמונה או משפחת תמונות (לדוגמה, projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY ). אם לא מציינים את המאפיין הזה, מאגר הצמתים משתמש בתמונת ברירת המחדל הנוכחית עבור סוג המכונה שלו, שמשתנה עם הזמן. מגדירים אותו כך שמאגר הצמתים יישאר בתמונה ספציפית. שינוי של תמונה במאגר צמתים יוצר מחדש את הצמתים שלו.

הגדרות אחסון נוספות

  • FILESTORES (מתאים ל-filestores בתוך אובייקט node_pools): רשימה של מופעי Filestore קיימים להרכבה על מאגר הצמתים לצורך גישה לקבצים משותפים.
  • LUSTRES (תואם ל-lustres בתוך אובייקט node_pools): רשימה של מופעי Lustre קיימים להרכבה על מאגר הצמתים לגישה לקבצים עם ביצועים גבוהים.

הגדרות ספציפיות לעובדים

  • ACCELERATOR_TYPE: מאיץ ה-GPU המתאים לצירוף לצמתי העובדים. ערכים נתמכים:
    • NVIDIA_H100_MEGA_80GB
    • NVIDIA_H200_141GB
    • NVIDIA_B200
  • ACCELERATOR_COUNT: מספר המאיצים לצירוף לכל צומת עובד.
  • RESERVATION_AFFINITY_TYPE (תואם ל-machine_spec.reservation_affinity.reservationAffinityType): ההעדפה של המקום השמור למאגר הצמתים. הערך של הפרמטר הזה חייב להיות SPECIFIC_RESERVATION, שהוא הערך הנתמך היחיד. כשמשתמשים ב-SPECIFIC_RESERVATION, צריך לציין את השמירה ב-machine_spec.reservation_affinity.values.
  • RESERVATION_NAME: השם של ההזמנה לשימוש במאגר הצמתים. הערך הזה משמש בשם המלא של משאב ההזמנה שמופיע ב-machine_spec.reservation_affinity.values, לדוגמה projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME. צריך להזמין מקום מראש כשRESERVATION_AFFINITY_TYPE הוא SPECIFIC_RESERVATION.

הגדרת Orchestrator ואחסון

השדות האלה מוגדרים בבלוק orchestrator_spec.slurm_spec של קובץ ה-JSON.

הגדרות ליבה של Slurm ואחסון

  • HOME_DIRECTORY_STORAGE (תואם ל-home_directory_storage): שם המשאב המלא של מופע האחסון הקיים שיוטמע כספרייה /home. יכול להיות מופע של Filestore או Lustre.
  • LOGIN_NODE_POOL_ID (תואם ל-login_node_pool_id): המזהה של מאגר הצמתים שצריך לשמש לצמתים של התחברות.
  • partitions: רשימה של אובייקטים של מחיצות, שכל אחד מהם דורש id ורשימה של node_pool_ids.

הגדרות מתקדמות של Slurm

  • prolog_bash_scripts: רשימה של מחרוזות, שכל אחת מהן מכילה את התוכן המלא של סקריפט Bash שיופעל לפני תחילת העבודה.
  • epilog_bash_scripts: רשימה של מחרוזות, שכל אחת מהן מכילה את התוכן המלא של סקריפט Bash שיופעל אחרי שהעבודה תושלם.
  • ACCOUNTING_STORAGE_ENFORCE: אכיפה של מגבלות על החשבון בנוגע לשימוש בנפח האחסון הנדרש.
  • PRIORITY_TYPE: האלגוריתם שישמש לתזמון העדיפות (לדוגמה, priority/multifactor).
  • priority_weight_*: קבוצה של ערכים שלמים שמקצים משקל לגורמים שונים בחישוב של עדיפות התזמון (לדוגמה, priority_weight_age,‏ priority_weight_fairshare).
  • PREEMPT_TYPE: הפלאגין להפסקת הפעולה לשימוש (לדוגמה, preempt/partition_prio).
  • PREEMPT_MODE: המצב של התוסף להפסקת פעולה (לדוגמה, REQUEUE).
  • PREEMPT_EXEMPT_TIME: משך הזמן שחולף אחרי התחלת העבודה, שבמהלכו אי אפשר להפסיק אותה.

הגדרת זמן ריצה

השדות האלה מוגדרים בבלוק runtime_spec של קובץ ה-JSON.

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

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

משתמשים באשכול פעיל של אימון מתמשך כדי להריץ את עומסי העבודה של למידת המכונה.

  • הפעלת משימה באשכול: שולחים CustomJob כדי להפעיל משימת אימון באשכול מתמשך.
  • ארגון ההדרכה באמצעות צינורות של Gemini Enterprise Agent Platform: כדי להפוך את תהליך שליחת העבודות לאוטומטי, אפשר להשתמש בצינורות של Agent Platform כדי ליצור תהליכי עבודה שניתנים לחזרה ומתאימים לסביבת ייצור.
  • הצגה וניהול של האשכול: אפשר להציג רשימה של אשכולות קיימים, לבדוק את הסטטוס שלהם ולהציג את פרטי ההגדרה באמצעות Google Cloud CLI או Google Cloud המסוף.
  • כדי להפסיק את העלויות, צריך למחוק את האשכול: אשכולות אימון הם קבועים וצוברים עלויות בזמן שהם פעילים.