במדריך הזה נשתמש ב-Kueue כדי להראות לכם איך להטמיע מערכת לתזמון משימות בתור, להגדיר שיתוף של משאבי עומס עבודה ומכסות בין מרחבי שמות שונים ב-Google Kubernetes Engine (GKE), ולמקסם את השימוש באשכול.
רקע
מהנדסי תשתית ואדמינים של אשכולות צריכים להקפיד על ניצול מקסימלי של מרחבי השמות. יכול להיות שקבוצת משימות במרחב שמות אחד לא תנצל את מלוא המכסה שהוקצתה למרחב השמות, בעוד שבמרחב שמות אחר יהיו כמה משימות בהמתנה. כדי להשתמש ביעילות במשאבי האשכול בין משימות במרחבי שמות שונים, וכדי להגדיל את הגמישות של ניהול המכסות, אפשר להגדיר קבוצות ב-Kueue. קבוצה בעלת מאפיינים משותפים היא קבוצה של תורי ClusterQueue שיכולים להשתמש במכסת משאבים לא מנוצלת אחד של השני. תור ClusterQueue שולט במאגר משאבים כמו מעבד (CPU), זיכרון ומאיצי חומרה.
הסבר מפורט יותר על כל המושגים האלה זמין במסמכי Kueue.
מטרות
המדריך הזה מיועד למהנדסי תשתית או לאדמינים של אשכולות שרוצים להטמיע מערכת להוספת משימות לתור ב-Kubernetes באמצעות Kueue עם שיתוף מכסות.במדריך הזה נדמה שני צוותים בשני מרחבי שמות שונים, שבהם לכל צוות יש משאבים ייעודיים, אבל הוא יכול להשתמש במשאבים של הצוות השני. אפשר להשתמש במערך שלישי של משאבים כגיבוי כשמצטברות משימות.
אפשר להשתמש ב-Prometheus operator כדי לעקוב אחרי משימות והקצאת משאבים במרחבי שמות שונים.
במדריך הזה מוסבר איך לבצע את השלבים הנדרשים הבאים:
- יצירת אשכול GKE
- יצירת ResourceFlavors
- לכל צוות, יוצרים ClusterQueue ו-LocalQueue
- יצירת משימות וצפייה בעומסי העבודה שאושרו
- השאלה של מכסה לא מנוצלת באמצעות קבוצות
- הוספת ClusterQueue לשליטה במכונות וירטואליות מסוג Spot
עלויות
במדריך הזה השתמשנו ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:השתמשו במחשבון עלויות כדי ליצור הערכת עלות על סמך השימוש החזוי.
כדי להימנע מחיובים נוספים אחרי שסיימתם את המדריך, תוכלו למחוק את המשאבים שיצרתם. מידע נוסף זמין במאמר בנושא הסרת המשאבים.
לפני שמתחילים
הגדרת הפרויקט
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, click Create project to begin creating a new Google Cloud project.
Roles required to create a project
To create a project, you need the Project Creator role (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. -
Verify that billing is enabled for your Google Cloud project.
Enable the GKE API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, click Create project to begin creating a new Google Cloud project.
Roles required to create a project
To create a project, you need the Project Creator role (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. -
Verify that billing is enabled for your Google Cloud project.
Enable the GKE API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
הגדרת ברירות מחדל ל-Google Cloud CLI
במסוף Google Cloud , מפעילים מכונת Cloud Shell:
פתיחת Cloud Shellמורידים את קוד המקור של האפליקציה לדוגמה:
git clone https://github.com/GoogleCloudPlatform/kubernetes-engine-samplesמגדירים את משתני הסביבה שמוגדרים כברירת מחדל:
gcloud config set project PROJECT_ID gcloud config set compute/region COMPUTE_REGIONמחליפים את הערכים הבאים:
- PROJECT_ID: Google Cloud מזהה הפרויקט.
- COMPUTE_REGION: האזור של Compute Engine.
יצירת אשכול GKE
יוצרים אשכול GKE בשם
kueue-cohort:תיצרו אשכול עם 6 צמתים (2 בכל אזור) במאגר ברירת המחדל, ללא שינוי גודל אוטומטי. אלה יהיו כל המשאבים שיהיו זמינים לקבוצות בהתחלה, ולכן הן יצטרכו להתחרות עליהם.
בהמשך נראה איך Kueue מנהל את עומסי העבודה ששני הצוותים ישלחו לתורים המתאימים.
gcloud container clusters create kueue-cohort --location COMPUTE_REGION \ --release-channel rapid --machine-type e2-standard-4 --num-nodes 2אחרי שיוצרים את האשכול, התוצאה אמורה להיראות כך:
kubeconfig entry generated for kueue-cohort. NAME: kueue-cohort LOCATION: us-central1 MASTER_VERSION: 1.26.2-gke.1000 MASTER_IP: 35.224.108.58 MACHINE_TYPE: e2-medium NODE_VERSION: 1.26.2-gke.1000 NUM_NODES: 6 STATUS: RUNNINGכאשר
STATUSהואRUNNINGעבורkueue-cluster.יוצרים מאגר צמתים בשם
spot.מאגר הצמתים הזה משתמש ב-VM במודל Spot והתכונה 'התאמה אוטומטית לעומס' מופעלת בו. הוא מתחיל עם 0 צמתים, אבל בהמשך תהפכו אותו לזמין לצוותים לשימוש כקיבולת עודפת.
gcloud container node-pools create spot --cluster=kueue-cohort --location COMPUTE_REGION \ --spot --enable-autoscaling --max-nodes 20 --num-nodes 0 \ --machine-type e2-standard-4מתקינים את גרסת ההפצה של Kueue באשכול:
VERSION=VERSION kubectl apply -f \ https://github.com/kubernetes-sigs/kueue/releases/download/$VERSION/manifests.yamlמחליפים את VERSION באות v אחרי הגרסה האחרונה של Kueue, לדוגמה
v0.4.0. מידע נוסף על גרסאות Kueue זמין במאמר Kueue releases.מחכים עד שהבקר Kueue יהיה מוכן:
watch kubectl -n kueue-system get podsהפלט שאתם מקבלים אמור להיראות כך:
NAME READY STATUS RESTARTS AGE kueue-controller-manager-6cfcbb5dc5-rsf8k 2/2 Running 0 3mיוצרים שני מרחבי שמות חדשים בשם
team-aו-team-b:kubectl create namespace team-a kubectl create namespace team-bהמשרות ייווצרו בכל מרחב שמות.
יצירת ResourceFlavors
ResourceFlavor מייצג וריאציות של משאבים בצמתי האשכול, כמו מכונות וירטואליות שונות (למשל, מכונות ספוט לעומת מכונות לפי דרישה), ארכיטקטורות (למשל, מעבדי x86 לעומת מעבדי ARM), מותגים ודגמים (למשל, מעבדי Nvidia A100 לעומת מעבדי T4 GPU).
המשאבים ResourceFlavors משתמשים בתוויות צמתים ובכתמים כדי להתאים לקבוצת צמתים באשכול.
במניפסט הזה:
- התווית של ResourceFlavor
on-demandמוגדרת ל-cloud.google.com/gke-provisioning: standard. - התווית של ResourceFlavor
spotמוגדרת כ-cloud.google.com/gke-provisioning: spot.
כשמקצים ResourceFlavor לעומס עבודה, Kueue מקצה את ה-Pods של עומס העבודה לצמתים שתואמים לתוויות הצמתים שהוגדרו עבור ה-ResourceFlavor.
פורסים את ResourceFlavor:
kubectl apply -f flavors.yaml
יצירת ClusterQueue ו-LocalQueue
יוצרים שתי ClusterQueues, cq-team-a ו-cq-team-b, ואת LocalQueues התואמות שלהן, lq-team-a ו-lq-team-b, בהתאמה, עם מרחבי שמות team-a ו-team-b.
תורי ClusterQueue הם אובייקטים בהיקף אשכול שמנהלים מאגר של משאבים כמו מעבד (CPU), זיכרון ומאיצי חומרה. אדמינים של קבוצות יכולים להגביל את הגישה לאובייקטים האלה למשתמשים בקבוצה.
LocalQueues הם אובייקטים עם מרחב שמות שמשתמשים יכולים לראות ברשימה. הם מצביעים על CluterQueues, שממנה מוקצים משאבים להפעלת עומסי העבודה של LocalQueue.
התכונה ClusterQueues מאפשרת להגדיר כמה סוגים של משאבים. במקרה הזה, לשני התורים ClusterQueue יש שני סוגים, on-demand ו-spot, וכל אחד מהם מספק cpu משאבים.
המכסה של ResourceFlavor spot מוגדרת כ-0, ולא ייעשה בה שימוש כרגע.
שני התורים ClusterQueue חולקים את אותה קבוצת משתמשים שנקראת all-teams, שמוגדרת ב-.spec.cohort.
אם שני תורים או יותר של ClusterQueue חולקים את אותה קבוצת משתמשים, הם יכולים להשתמש במכסת המכסות שלא נעשה בהן שימוש.
בתיעוד של Kueue יש מידע נוסף על אופן הפעולה של קבוצות ועל הסמנטיקה של השאלה.
פריסת ClusterQueues ו-LocalQueues:
kubectl apply -f cq-team-a.yaml
kubectl apply -f cq-team-b.yaml
(אופציונלי) מעקב אחרי עומסי עבודה באמצעות kube-prometheus
אתם יכולים להשתמש ב-Prometheus כדי לעקוב אחרי עומסי העבודה הפעילים והממתינים של Kueue.
כדי לעקוב אחרי עומסי העבודה שמועלים ולראות את העומס בכל ClusterQueue, צריך לפרוס את kube-prometheus באשכול מתחת למרחב השמות monitoring:
מורידים את קוד המקור של Prometheus operator:
cd git clone https://github.com/prometheus-operator/kube-prometheus.gitיוצרים את CustomResourceDefinitions(CRD):
kubectl create -f kube-prometheus/manifests/setupיוצרים את רכיבי המעקב:
kubectl create -f kube-prometheus/manifestsמאפשרים לאפליקציה
prometheus-operatorלגרד מדדים מרכיבי Kueue:kubectl apply -f https://github.com/kubernetes-sigs/kueue/releases/download/$VERSION/prometheus.yamlעוברים לספריית העבודה:
cd kubernetes-engine-samples/batch/kueue-cohortמגדירים העברה ליציאה אחרת לשירות Prometheus שפועל באשכול GKE:
kubectl --namespace monitoring port-forward svc/prometheus-k8s 9090פותחים את ממשק האינטרנט של Prometheus בכתובת localhost:9090 בדפדפן.
ב-Cloud Shell:
לוחצים על תצוגה מקדימה באינטרנט.
לוחצים על שינוי יציאה ומגדירים את מספר היציאה ל-
9090.לוחצים על שינוי ותצוגה מקדימה.
מוצג ממשק האינטרנט הבא של Prometheus.

בתיבת השאילתה Expression, מזינים את השאילתה הבאה כדי ליצור את החלונית הראשונה שבה מוצגים עומסי העבודה הפעילים עבור
cq-team-aClusterQueue:kueue_pending_workloads{cluster_queue="cq-team-a", status="active"} or kueue_admitted_active_workloads{cluster_queue="cq-team-a"}לוחצים על הוספת חלונית.
בתיבת השאילתה Expression, מזינים את השאילתה הבאה כדי ליצור חלונית נוספת למעקב אחרי עומסי העבודה הפעילים של
cq-team-bClusterQueue:kueue_pending_workloads{cluster_queue="cq-team-b", status="active"} or kueue_admitted_active_workloads{cluster_queue="cq-team-b"}לוחצים על הוספת חלונית.
בתיבת השאילתה Expression, מזינים את השאילתה הבאה כדי ליצור חלונית למעקב אחרי מספר הצמתים באשכול:
count(kube_node_info)
(אופציונלי) מעקב אחרי עומסי עבודה באמצעות השירות המנוהל של Google Cloud ל-Prometheus
אתם יכולים להשתמש בשירות המנוהל של Google Cloud ל-Prometheus כדי לעקוב אחרי עומסי העבודה הפעילים והממתינים של Kueue. רשימה מלאה של מדדים זמינה במאמרי העזרה של Kueue.
הגדרת זהות ו-RBAC לגישה למדדים:
ההגדרה הבאה יוצרת 4 משאבי Kubernetes, שמספקים גישה למדדים עבור האוספים של השירות המנוהל של Google Cloud ל-Prometheus.
חשבון שירות בשם
kueue-metrics-readerבמרחב השמותkueue-systemישמש לאימות כשניגשים למדדים של Kueue.Secret שמשויך לחשבון השירות
kueue-metrics-reader, מאחסן אסימון אימות שמשמש את האוסף לאימות בנקודת הקצה של המדדים שנחשפת על ידי הפריסה של Kueue.תפקיד בשם
kueue-secret-readerבמרחב השמותkueue-system, שמאפשר לקרוא את הסוד שמכיל את אסימון חשבון השירות.ClusterRoleBinding שמעניק לחשבון השירות
kueue-metrics-readerאת ה-ClusterRolekueue-metrics-reader.
apiVersion: v1 kind: ServiceAccount metadata: name: kueue-metrics-reader namespace: kueue-system --- apiVersion: v1 kind: Secret metadata: name: kueue-metrics-reader-token namespace: kueue-system annotations: kubernetes.io/service-account.name: kueue-metrics-reader type: kubernetes.io/service-account-token --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: kueue-secret-reader namespace: kueue-system rules: - resources: - secrets apiGroups: [""] verbs: ["get", "list", "watch"] resourceNames: ["kueue-metrics-reader-token"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: kueue-metrics-reader subjects: - kind: ServiceAccount name: kueue-metrics-reader namespace: kueue-system roleRef: kind: ClusterRole name: kueue-metrics-reader apiGroup: rbac.authorization.k8s.ioמגדירים RoleBinding בשירות המנוהל של Google Cloud ל-Prometheus:
בהתאם לסוג האשכול שבו אתם משתמשים (Autopilot או Standard), תצטרכו ליצור את RoleBinding במרחב השמות
gke-gmp-systemאוgmp-system. המשאב הזה מאפשר לחשבון השירות של האוסף לגשת לסודkueue-metrics-reader-tokenכדי לבצע אימות ולגרד את המדדים של Kueue.טייס אוטומטי
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: gmp-system:collector:kueue-secret-reader namespace: kueue-system roleRef: name: kueue-secret-reader kind: Role apiGroup: rbac.authorization.k8s.io subjects: - name: collector namespace: gke-gmp-system kind: ServiceAccountרגילה
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: gmp-system:collector:kueue-secret-reader namespace: kueue-system roleRef: name: kueue-secret-reader kind: Role apiGroup: rbac.authorization.k8s.io subjects: - name: collector namespace: gmp-system kind: ServiceAccountהגדרת משאב למעקב אחרי פודים:
הגדרת המשאב הבאה מגדירה את המעקב אחר הפריסה של Kueue. היא מציינת שהמדדים נחשפים בנתיב /metrics באמצעות HTTPS. הוא משתמש בסוד
kueue-metrics-reader-tokenלאימות בזמן גירוד המדדים.apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: kueue namespace: kueue-system spec: selector: matchLabels: control-plane: controller-manager endpoints: - port: 8443 interval: 30s path: /metrics scheme: https tls: insecureSkipVerify: true authorization: type: Bearer credentials: secret: name: kueue-metrics-reader-token key: token
ייצוא מדדים של שאילתות
דוגמאות לשאילתות ב-PromQL לניטור מערכות שמבוססות על Kueue
השאילתות האלה ב-PromQL מאפשרות לכם לעקוב אחרי מדדים מרכזיים של Kueue, כמו קצב העברת העבודות, ניצול המשאבים לפי תור וזמני ההמתנה של עומסי העבודה, כדי להבין את ביצועי המערכת ולזהות צווארי בקבוק פוטנציאליים.
תפוקת משרות
הפונקציה מחשבת את שיעור עומסי העבודה שהתקבלו לשנייה במשך 5 דקות לכל cluster_queue. המדד הזה יכול לעזור לפרק את התפוקה לפי תור, כדי לזהות צווארי בקבוק. סיכום התפוקה לפי תור ייתן את התפוקה הכוללת של המערכת.
שאילתה
sum(rate(kueue_admitted_workloads_total[5m])) by (cluster_queue)
ניצול משאבים
ההנחה היא ש-metrics.enableClusterQueueResources מופעל. הוא מחשב את היחס בין השימוש הנוכחי במעבד לבין מכסת המעבד הנומינלית לכל תור. ערך שקרוב ל-1 מציין ניצול גבוה. אפשר לשנות את התווית של המשאב כדי להתאים את הפקודה לזיכרון או למשאבים אחרים.
כדי להתקין באשכול גרסה של Kueue בהפצה עם הגדרה בהתאמה אישית, פועלים לפי ההוראות במאמר בנושא Kueue.
שאילתה
sum(kueue_cluster_queue_resource_usage{resource="cpu"}) by (cluster_queue) / sum(kueue_cluster_queue_nominal_quota{resource="cpu"}) by (cluster_queue)זמני המתנה בתור
המדד הזה מספק את זמן ההמתנה במאון ה-90 לעומסי עבודה בתור ספציפי. כדי להבין את התפלגות זמני ההמתנה, אפשר לשנות את ערך הכמותון (למשל, 0.5 לחציון, 0.99 לאחוזון ה-99).
שאילתה
histogram_quantile(0.9, kueue_admission_wait_time_seconds_bucket{cluster_queue="QUEUE_NAME"})יצירת משימות וצפייה בעומסי העבודה שאושרו
בקטע הזה, יוצרים משימות Kubernetes במרחבי השמות team-a ו-team-b. ב-Kubernetes, בקר משימות יוצר פוד אחד או יותר ועוזר לוודא שהם מבצעים משימה ספציפית בהצלחה.
יוצרים משימות לשני התורים של ClusterQueues שימתינו למשך 10 שניות, עם שלוש משימות מקבילות, ויסתיימו עם שלוש השלמות. הוא יימחק אחרי 60 שניות.
job-team-a.yaml יוצר משימות במרחב השמות team-a ומפנה אל LocalQueue lq-team-a ו-ClusterQueue cq-team-a.
באופן דומה, הפקודה job-team-b.yaml יוצרת משימות במרחב השמות team-b, ומפנה אל LocalQueue lq-team-b ואל ClusterQueue cq-team-b.
מפעילים טרמינל חדש ומריצים את הסקריפט הזה כדי ליצור משימה כל שנייה:
./create_jobs.sh job-team-a.yaml 1מפעילים עוד מסוף ויוצרים משימות למרחב השמות
team-b:./create_jobs.sh job-team-b.yaml 1לצפות בעבודות שמתווספות לתור ב-Prometheus. או באמצעות הפקודה הבאה:
watch -n 2 kubectl get clusterqueues -o wide
הפלט אמור להיראות כך:
NAME COHORT STRATEGY PENDING WORKLOADS ADMITTED WORKLOADS
cq-team-a all-teams BestEffortFIFO 0 5
cq-team-b all-teams BestEffortFIFO 0 4
שימוש במכסת נפח אחסון לא מנוצלת באמצעות קוהורטים
יכול להיות ש-ClusterQueues לא יהיו בקיבולת מלאה בכל רגע נתון. השימוש במכסות לא ממוקסם כשעומסי העבודה לא מפוזרים באופן שווה בין ClusterQueues. אם תורי ClusterQueue חולקים את אותה קבוצת משתמשים, הם יכולים להשאיל מכסות מתורי ClusterQueue אחרים כדי למקסם את ניצול המכסות.
אחרי שיהיו משימות בתור בשני התורים של ClusterQueues
cq-team-aו-cq-team-b, עוצרים את הסקריפט של מרחב השמותteam-bעל ידי הקשה עלCTRL+cבמסוף המתאים.אחרי שכל העבודות בהמתנה ממרחב השמות
team-bיעברו עיבוד, העבודות ממרחב השמותteam-aיוכלו להשתמש במשאבים הזמינים ב-cq-team-b:kubectl describe clusterqueue cq-team-aמכיוון ש-
cq-team-aו-cq-team-bחולקים את אותה קבוצת משתמשים שנקראתall-teams, תורי ההמתנה האלה יכולים לחלוק משאבים שלא נמצאים בשימוש.Flavors Usage: Name: on-demand Resources: Borrowed: 5 Name: cpu Total: 15 Borrowed: 5Gi Name: memory Total: 15Giממשיכים את הסקריפט עבור מרחב השמות
team-b../create_jobs.sh job-team-b.yaml 3שימו לב איך המשאבים שהושאלו מ-
cq-team-aחוזרים ל-0, בזמן שהמשאבים מ-cq-team-bמשמשים לעומסי העבודה שלו:kubectl describe clusterqueue cq-team-aFlavors Usage: Name: on-demand Resources: Borrowed: 0 Name: cpu Total: 9 Borrowed: 0 Name: memory Total: 9Gi
הגדלת המכסה באמצעות מכונות וירטואליות מסוג Spot
כשצריך להגדיל את המכסה באופן זמני, למשל כדי לעמוד בביקוש גבוה בעומסי עבודה בהמתנה, אפשר להגדיר את Kueue כך שיתאים לביקוש על ידי הוספת עוד ClusterQueues לקוהורט. תורי ClusterQueue עם משאבים לא מנוצלים יכולים לשתף את המשאבים האלה עם תורי ClusterQueue אחרים ששייכים לאותה קבוצה.
בתחילת המדריך יצרתם מאגר צמתים בשם spot באמצעות מכונות וירטואליות מסוג Spot ו-ResourceFlavor בשם spot עם התווית cloud.google.com/gke-provisioning: spot. יוצרים ClusterQueue כדי להשתמש במאגר הצמתים הזה וב-ResourceFlavor שמייצג אותו:
יוצרים ClusterQueue חדש בשם
cq-spotעם קוהורט שמוגדר ל-all-teams:מכיוון שהתור ClusterQueue הזה חולק את אותה קבוצת משתמשים עם
cq-team-aועםcq-team-b, גם ClusterQueuecq-team-aוגםcq-team-bיכולים לשאול משאבים עד 15 בקשות CPU ו-15Gi של זיכרון.kubectl apply -f cq-spot.yamlב-Prometheus, אפשר לראות את העלייה בעומסי העבודה שאושרו גם עבור
cq-team-aוגם עבורcq-team-b, בזכות המכסה שנוספה על ידיcq-spotשמשתף את אותה קבוצת משתמשים. או באמצעות הפקודה הבאה:watch -n 2 kubectl get clusterqueues -o wideב-Prometheus, צופים במספר הצמתים באשכול. או באמצעות הפקודה הבאה:
watch -n 2 kubectl get nodes -o wideכדי לעצור את שני הסקריפטים, מקישים על
CTRL+cעבור מרחב השמותteam-aועלteam-b.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת הפרויקט
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
מחיקת המשאב הספציפי
מוחקים את מערכת המכסות של Kueue:
kubectl delete -n team-a localqueue lq-team-a kubectl delete -n team-b localqueue lq-team-b kubectl delete clusterqueue cq-team-a kubectl delete clusterqueue cq-team-b kubectl delete clusterqueue cq-spot kubectl delete resourceflavor default kubectl delete resourceflavor on-demand kubectl delete resourceflavor spotמוחקים את מניפסט Kueue:
VERSION=VERSION kubectl delete -f \ https://github.com/kubernetes-sigs/kueue/releases/download/$VERSION/manifests.yamlמחיקת האשכול:
gcloud container clusters delete kueue-cohort --location=COMPUTE_REGION