במאמר הזה מוסבר איך להגדיר את הפריסה של 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-accelerator -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
מומלץ להתקין את כלי הייצוא של 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 תעבד את המדדים.
כדי לוודא שהמדדים נאספים, מבצעים את הפעולות הבאות:
-
נכנסים לדף leaderboard Metrics explorer במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.
- בסרגל הכלים של החלונית ליצירת שאילתות, לוחצים על הלחצן ששמו code PromQL.
- מזינים ומריצים את השאילתה הבאה:
DCGM_FI_DEV_GPU_UTIL{cluster="CLUSTER_NAME", namespace="gmp-public"}
פתרון בעיות
מידע על פתרון בעיות בהוספת מדדים זמין במאמר פתרון בעיות שקשורות להוספה בקטע בעיות באיסוף נתונים ממייצאים.