יצירת אשכול GKE באמצעות Pathways

אתם יכולים להשתמש בערכה לעיבוד מואץ (XPK) כדי ליצור אשכולות Google Kubernetes Engine (GKE) שהוגדרו מראש לעומסי עבודה שמבוססים על Pathways. אפשר גם להשתמש ב-gcloud כדי ליצור באופן ידני אשכולות GKE לעומסי עבודה שמבוססים על Pathways

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

חשוב לוודא שיש לכם:

הגדרת הסביבה המקומית

מתחברים עם פרטי הכניסה שלכם ב- Google Cloud .

gcloud auth application-default login

מגדירים את משתני הסביבה הבאים עם ערכים שמתאימים לעומס העבודה.

משתנים נדרשים

יצירת אשכול GKE

בדוגמה הבאה, יוצרים אשכול עם שני מאגרי צמתים מסוג v5e 2x4. אפשר ליצור אשכול באמצעות XPK או הפקודה gcloud.

XPK

  1. הגדרת משתני סביבה

    CLUSTER_NODEPOOL_COUNT=CLUSTER_NODEPOOL_COUNT
    PROJECT=PROJECT_ID
    ZONE=ZONE
    CLUSTER=GKE_CLUSTER_NAME
    TPU_TYPE="v5litepod-8"
    PW_CPU_MACHINE_TYPE="n2-standard-64"
    NETWORK=NETWORK
    SUBNETWORK=SUB_NETWORK

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

    • CLUSTER_NODEPOOL_COUNT: מספר מאגרי הצמתים המקסימלי שעומס עבודה יכול להשתמש בהם
    • PROJECT_ID: שם הפרויקט ב- Google Cloud
    • ZONE: האזור שבו יוצרים את המשאבים
    • CLUSTER: שם אשכול GKE
    • TPU_TYPE: סוג ה-TPU. מידע נוסף זמין במאמר בנושא סוגים נתמכים ב-XPK
    • PW_CPU_MACHINE_TYPE: סוג צומת ה-CPU של בקר Pathways
    • NETWORK: [אופציונלי] הגדרת שם של ענן וירטואלי פרטי (VPC) אם משתמשים ב-XPK. צריך ליצור אותו לפני שיוצרים את האשכול.
    • SUBNETWORK: [אופציונלי] אם משתמשים ב-XPK, צריך להגדיר שם של רשת משנה. צריך ליצור את הרשת המשנה לפני שיוצרים את האשכול.
  2. משתמשים ב-XPK כדי ליצור אשכול GKE Pathways. יכול להיות שיעברו כמה דקות עד שהקיבולת תוקצה באמצעות הפקודה הזו. אחרי שתסיימו את התהליך, הקיבולת תוקצה לכם ותתחילו לשלם עליה.

    xpk cluster create-pathways \
    --num-slices=${CLUSTER_NODEPOOL_COUNT} \
    --tpu-type=${TPU_TYPE} \
    --pathways-gce-machine-type=${PW_CPU_MACHINE_TYPE} \
    --on-demand \
    --project=${PROJECT} \
    --zone=${ZONE} \
    --cluster=${CLUSTER} \
    --custom-cluster-arguments="--network=${NETWORK} --subnetwork=${SUBNETWORK} --enable-ip-alias"

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

gcloud

  1. הגדרת משתני סביבה

    CLUSTER=GKE_CLUSTER_NAME
    PROJECT=PROJECT_ID
    ZONE=ZONE
    REGION=REGION
    CLUSTER_VERSION=GKE_CLUSTER_VERSION
    PW_CPU_MACHINE_TYPE="n2-standard-64"
    NETWORK=NETWORK
    SUBNETWORK=SUB_NETWORK
    CLUSTER_NODEPOOL_COUNT=3
    TPU_MACHINE_TYPE="ct5lp-hightpu-4t"
    WORKERS_PER_SLICE=2
    TOPOLOGY="2x4"
    NUM_CPU_NODES=1

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

    • CLUSTER: שם אשכול GKE
    • PROJECT_ID: שם הפרויקט ב- Google Cloud
    • ZONE: האזור שבו יוצרים את המשאבים
    • REGION: האזור שבו יוצרים את המשאבים
    • CLUSTER_VERSION: [אופציונלי] גרסת אשכול GKE. אפשר להשתמש בגרסה 1.32.2-gke.1475000 ומעלה
    • PW_CPU_MACHINE_TYPE: סוג צומת ה-CPU של בקר Pathways
    • NETWORK: [אופציונלי] הגדרת שם של ענן וירטואלי פרטי (VPC) אם משתמשים ב-XPK. צריך ליצור אותו לפני שיוצרים את האשכול.
    • SUBNETWORK: [אופציונלי] אם משתמשים ב-XPK, צריך להגדיר שם של רשת משנה. צריך ליצור את הרשת המשנה לפני שיוצרים את האשכול.
    • CLUSTER_NODEPOOL_COUNT: מספר מאגרי הצמתים המקסימלי שעומס עבודה יכול להשתמש בהם
    • TPU_MACHINE_TYPE: סוג מכונת ה-TPU שרוצים להשתמש בה
    • WORKERS_PER_SLICE: מספר הצמתים בכל מאגר צמתים

    • GKE_ACCELERATOR_TYPE: סוג המאיץ של Google Kubernetes Engine, אפשר לעיין במאמר בנושא בחירת גרסת TPU

    • TOPOLOGY: טופולוגיית ה-TPU

    • NUM_CPU_NODES: הגודל של מאגר צמתי ה-CPU של Pathways

בשלבים הבאים מוסבר איך ליצור אשכול GKE ולהגדיר אותו להרצת עומסי עבודה של Pathways.

  1. יוצרים אשכול GKE:

    gcloud beta container clusters create ${CLUSTER} \
    --project=${PROJECT} \
    --zone=${ZONE} \
    --cluster-version=${CLUSTER_VERSION} \
    --scopes=storage-full,gke-default,cloud-platform \
    --machine-type ${PW_CPU_MACHINE_TYPE} \
    --network=${NETWORK} \
    --subnetwork=${SUBNETWORK}
    
  2. יצירת מאגרי צמתים של TPU:

    for i in $(seq 1 ${CLUSTER_NODEPOOL_COUNT}); do
    gcloud container node-pools create "tpu-np-${i}" \
    --project=${PROJECT} \
    --zone=${ZONE} \
    --cluster=${CLUSTER} \
    --machine-type=${TPU_MACHINE_TYPE} \
    --num-nodes=${WORKERS_PER_SLICE} \
    --placement-type=COMPACT \
    --tpu-topology=${TOPOLOGY} \
    --scopes=storage-full,gke-default,cloud-platform \
    --workload-metadata=GCE_METADATA
    done
    
  3. יוצרים מאגר צמתים של CPU:

    gcloud container node-pools create "cpu-pathways-np" \
    --project ${PROJECT} \
    --zone ${ZONE} \
    --cluster ${CLUSTER} \
    --machine-type ${PW_CPU_MACHINE_TYPE} \
    --num-nodes ${NUM_CPU_NODES} \
    --scopes=storage-full,gke-default,cloud-platform \
    --workload-metadata=GCE_METADATA
    
  4. התקנת ממשקי ה-API של JobSet ושל PathwaysJob

    מקבלים את פרטי הכניסה לאשכול ומוסיפים אותם להקשר המקומי של kubectl.

    gcloud container clusters get-credentials ${CLUSTER} \
        [--zone=${ZONE} | --region=${REGION}] \
        --project=${PROJECT} \
        && kubectl config set-context --current --namespace=default
    

    כדי להשתמש בארכיטקטורת Pathways באשכול GKE, צריך להתקין את JobSet API ואת PathwaysJob API.

    kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.8.0/manifests.yaml
    kubectl apply --server-side -f https://github.com/google/pathways-job/releases/download/v0.1.2/install.yaml
    

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