במאמר הזה מוסבר איך להגדיר את הפריסה של Google Kubernetes Engine כדי שתוכלו להשתמש בשירות מנוהל של Google Cloud ל-Prometheus כדי לאסוף מדדים מ-NVIDIA Data Center GPU Manager. במאמר הזה מוסבר איך:
- מגדירים את הכלי לייצוא של DCGM כדי לדווח על מדדים.
ההוראות האלה רלוונטיות רק אם אתם משתמשים ב אוסף מנוהל עם השירות המנוהל ל-Prometheus. אם אתם משתמשים באיסוף שמוטמע באופן עצמאי, תוכלו למצוא מידע על ההתקנה במאגר המקור של DCGM Exporter.
ההוראות האלה הן דוגמה, והן אמורות לפעול ברוב סביבות Kubernetes. מידע על מוצר DCGM מנוהל זמין במאמר איסוף והצגה של מדדי DCGM.
אם נתקלתם בבעיה בהתקנת אפליקציה או כלי לייצוא בגלל מדיניות אבטחה או מדיניות ארגונית מגבילה, מומלץ לעיין במסמכי קוד פתוח לקבלת תמיכה.
מידע על NVIDIA Data Center GPU Manager זמין במאמר בנושא NVIDIA DCGM.
דרישות מוקדמות
כדי לאסוף מדדים מ-DCGM באמצעות שירות מנוהל ל-Prometheus ואיסוף מנוהל, הפריסה צריכה לעמוד בדרישות הבאות:
- האשכול צריך להריץ את Google Kubernetes Engine בגרסה 1.28.15-gke.2475000 ואילך.
- צריך להפעיל את השירות המנוהל ל-Prometheus עם איסוף מנוהל. מידע נוסף זמין במאמר תחילת השימוש באוסף מנוהל.
מוודאים שיש לכם מכסה מספקת למעבדי NVIDIA GPU.
כדי למנות את צמתי ה-GPU באשכול GKE ואת סוגי ה-GPU באשכול הרלוונטי, מריצים את הפקודה הבאה:
kubectl get nodes -l cloud.google.com/gke-gpu -o jsonpath='{range .items[*]}{@.metadata.name}{" "}{@.metadata.labels.cloud\.google\.com/gke-accelerator}{"\n"}{end}'שימו לב: יכול להיות שתצטרכו להתקין דרייבר תואם של NVIDIA GPU בצמתים אם ההתקנה האוטומטית הושבתה או לא נתמכת בגרסת ה-GKE שלכם. כדי לוודא שהפלאגין של מכשיר ה-GPU של NVIDIA פועל, מריצים את הפקודה הבאה:
kubectl get pods -n kube-system | grep nvidia-gpu-device-plugin
התקנה של DCGM exporter
מומלץ להתקין את כלי הייצוא של DCGM, DCGM-Exporter, באמצעות ההגדרה הבאה:
מגדירים העברה ליציאה אחרת באמצעות הפקודה הבאה:
kubectl -n gmp-public port-forward POD_NAME 9400
אפשר לגשת לנקודת הקצה
localhost:9400/metricsבאמצעות הדפדפן או כלי השירותcurlבסשן טרמינל אחר.
אפשר להתאים אישית את הקטע ConfigMap כדי לבחור אילו מדדי GPU לשלוח.
אפשר גם להשתמש בתרשים Helm הרשמי כדי להתקין את DCGM Exporter.
כדי להחיל שינויים בתצורה מקובץ מקומי, מריצים את הפקודה הבאה:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
אפשר גם להשתמש ב-Terraform כדי לנהל את ההגדרות.
הגדרה של משאב PodMonitoring
כדי לגלות את היעד, ל-שירות מנוהל ל-Prometheus Operator נדרש משאב PodMonitoring שתואם ל-DCGM Exporter באותו מרחב שמות.
אפשר להשתמש בהגדרה הבאה של PodMonitoring:
כדי להחיל שינויים בתצורה מקובץ מקומי, מריצים את הפקודה הבאה:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
אפשר גם להשתמש ב-Terraform כדי לנהל את ההגדרות.
אימות ההגדרה
אתם יכולים להשתמש ב-Metrics Explorer כדי לוודא שהגדרתם את DCGM Exporter בצורה נכונה. יכול להיות שיחלפו דקה או שתיים עד שמערכת Cloud Monitoring תעבד את המדדים.
כדי לוודא שהמדדים נאספים, מבצעים את הפעולות הבאות:
-
במסוף Google Cloud , עוברים לדף leaderboard Metrics explorer:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- בסרגל הכלים של חלונית הכלי ליצירת שאילתות, לוחצים על הלחצן ששמו הוא code MQL או code PromQL.
- מוודאים שהאפשרות PromQL נבחרה במתג שפה. המתג לשפה נמצא באותו סרגל כלים שבו אפשר לעצב את השאילתה.
- מזינים ומריצים את השאילתה הבאה:
DCGM_FI_DEV_GPU_UTIL{cluster="CLUSTER_NAME", namespace="gmp-public"}
פתרון בעיות
מידע על פתרון בעיות בהוספת מדדים זמין במאמר פתרון בעיות שקשורות להוספה, בקטע בעיות באיסוף נתונים ממייצאים.