אתם יכולים להשתמש בערכה לעיבוד מואץ (XPK) כדי ליצור אשכולות Google Kubernetes Engine (GKE) שהוגדרו מראש לעומסי עבודה שמבוססים על Pathways. אפשר גם להשתמש ב-gcloud כדי ליצור באופן ידני אשכולות GKE לעומסי עבודה שמבוססים על Pathways
לפני שמתחילים
חשוב לוודא שיש לכם:
הגדרת הסביבה המקומית
מתחברים עם פרטי הכניסה שלכם ב- Google Cloud .
gcloud auth application-default login
מגדירים את משתני הסביבה הבאים עם ערכים שמתאימים לעומס העבודה.
משתנים נדרשים
יצירת אשכול GKE
בדוגמה הבאה, יוצרים אשכול עם שני מאגרי צמתים מסוג v5e 2x4.
אפשר ליצור אשכול באמצעות XPK או הפקודה gcloud.
XPK
הגדרת משתני סביבה
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, צריך להגדיר שם של רשת משנה. צריך ליצור את הרשת המשנה לפני שיוצרים את האשכול.
-
משתמשים ב-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
הגדרת משתני סביבה
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.
יוצרים אשכול 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}יצירת מאגרי צמתים של 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יוצרים מאגר צמתים של 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התקנת ממשקי ה-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, צריך להתקין את
JobSetAPI ואתPathwaysJobAPI.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
המאמרים הבאים
- הפעלת עומס עבודה באצווה באמצעות Pathways
- מצב אינטראקטיבי של תוכניות לימודים
- הסקת מסקנות מרובת מארחים באמצעות Pathways
- אימון גמיש עם תוכניות לימודים
- העברת עומסי עבודה של JAX ל-Pathways
- פתרון בעיות בתוכניות לימודים