אתם יכולים להשיג זמינות גבוהה אלסטית בין אזורים עבור עומסי עבודה תובעניים של הסקת מסקנות מ-AI ב-Google Kubernetes Engine (GKE), כדי לגשת ליכולת של מאיצים ביעילות ובאמינות באזורים שונים. Cloud de Confiance הפתרון הזה משתמש ב-GKE Multi-Cluster Inference Gateway ובתכונות של שינוי גודל אוטומטי ב-GKE, ומאפשר לעומסי העבודה שלכם לגשת לקיבולת של מאיצים באזורים שונים ולשנות את הגודל שלהם בהתאם. הגישה הזו משפרת את הזמינות, את יכולת ההתאמה ואת העמידות של המשאבים באפליקציות ה-AI שלכם. במסמך הזה מתוארים היתרונות, הרכיבים העיקריים והמנגנונים הכלליים של זמינות גבוהה אלסטית בין אזורים.
לפני שקוראים את המסמך הזה, חשוב להכיר את הנושאים הבאים:
- GKE Multi-Cluster Inference Gateway
- שרתי קצה עורפיים מועדפים לאפשרויות מתקדמות של איזון עומסים
- GKE cluster autoscaler
- התאמה אוטומטית של קבוצות Pod לעומס על סמך מדדים
המסמך הזה מיועד לאנשים עם התפקידים הבאים:
- מהנדסי למידת מכונה (ML), מנהלי פלטפורמות ומפעילים, ומומחי נתונים ו-AI שמעוניינים להשתמש ב-Kubernetes להצגת עומסי עבודה של AI/ML
- אדריכלי ענן או מומחי רשתות שמתקשרים עם רשתות Kubernetes
כדי לקרוא מידע נוסף על תפקידים נפוצים ועל משימות לדוגמה שאנחנו מתייחסים אליהן בCloud de Confiance תוכן, אפשר לעיין במאמר תפקידים נפוצים של משתמשים ומשימות ב-GKE Enterprise.
היתרונות של זמינות גבוהה גמישה בין אזורים
זמינות גבוהה גמישה בין אזורים מספקת כמה יתרונות מרכזיים לניהול עומסי עבודה של מסקנות AI/ML, כולל:
- קיבולת ויכולת הרחבה גדולות יותר: אפשר להתגבר על מחסור במאיצים באזור יחיד על ידי איגום משאבי GPU או TPU מכמה אשכולות באזורים שונים. אפשר גם להשתמש בסוגים שונים של מאיצים כדי להגדיל עוד יותר את מאגר הקיבולת. הגישה הזו מאפשרת לעומסי העבודה של מסקנות ה-AI שלכם להתרחב מעבר לקיבולת של אזור יחיד או סוג מאיץ יחיד, ולנצל באופן אוטומטי את המשאבים הזמינים בצי המכונות שלכם, ללא קשר לאזור.
- מעבר אוטומטי לגיבוי, מהימנות וזמינות משופרות: שער הגישה (Gateway) מנתב את התנועה בצורה חכמה, תוך מתן עדיפות לאזורים או לאשכולות מועדפים. כשמגיעים למכסות באחד המיקומים, התנועה עוברת אוטומטית למיקומים אחרים שיש בהם משאבים זמינים. הגישה הזו, בשילוב עם פריסות במספר אזורים, משפרת את הזמינות הגבוהה ואת עמידות המערכת בפני תקלות, כי המערכת יכולה לעקוף אשכולות או אזורים שבהם יש בעיות.
- חלוקת תנועה שעברה אופטימיזציה באמצעות AI: אפשר להשתמש באיזון עומסים מבוסס-ניצול עם מדדים מותאמים אישית שספציפיים ל-AI, כמו שימוש במטמון של זוגות מפתח/ערך. ההגדרה הזו מבטיחה החלטות ניתוב שעברו אופטימיזציה גלובלית. הפצת תנועה שעברה אופטימיזציה באמצעות AI שולחת בקשות לשרתי הקצה העורפיים שמצוידים לטפל בהן. כך משפרים את מיקסום הביצועים ועוזרים למנוע עומס יתר בצי שלכם של מסקנות מרובות אשכולות.
איך פועלת זמינות גבוהה גמישה בין אזורים
זמינות גבוהה אלסטית בין אזורים ב-GKE מאפשרת לעומסי העבודה של מסקנות ה-AI להשתמש אוטומטית בקיבולת של מאיצים (כמו GPU או TPU) בכמה אזורים של Cloud de Confiance . אם יש מגבלות על הקיבולת של המשאבים הנדרשים באזור הראשי, הפתרון הזה מנתב את התנועה בצורה חכמה ומגדיל את עומסי העבודה לאזורים אחרים עם קיבולת זמינה, תוך התחשבות בהעדפות שהגדרתם.
ההסבר הבא מתייחס לרכיבים העיקריים של זמינות גבוהה אלסטית בין אזורים, ומפרט איך הם פועלים יחד:
- Multi-Cluster Inference Gateway: אפליקציית ההסקה שלכם נפרסת במספר אשכולות GKE באזורים שונים. האשכולות האלה מנוהלים כחלק מצי GKE. שער הסקת מסקנות (MCG) מרובה אשכולות של GKE מוגדר עם מאזן עומסים פנימי, שמספק נקודת קצה פרטית אחת לבקשות להסקת מסקנות. השער הזה מודע לפריסות השירות שלכם בכל האשכולות בצי.
- איזון עומסים מבוסס-ניצול: במקום להשתמש בשיעורי בקשות בסיסיים, מאזן העומסים מחלק את התנועה על סמך מדדי ניצול מותאמים אישית בזמן אמת שמדווחים משרתי המודל. במסקנות של AI, זה בדרך כלל מדד כמו ניצול מטמון KV, שמשקף את העומס בפועל על השרת.
- העדפות לגבי מיקום ומשאבים: אתם יכולים להגדיר באילו אזורים או אזורים זמינים מותר להריץ את עומסי העבודה של מסקנות ה-AI במהלך יצירת האשכול, ולציין סדר עדיפות באמצעות האפשרויות הבאות:
-
GCPBackendPolicy: המדיניות הזו מצורפת לשער ומאפשרת להגדיר שרתי קצה עדיפים. אתם יכולים לציין לאילו אזורים (כלומר, לאילו אשכולות) מאזן העומסים צריך לתת עדיפות בשליחת תנועה. המדיניות הזו בדרך כלל תואמת למקומות שבהם שריינתם קיבולת או למקומות שבהם יש לכם דרישות לזמן אחזור נמוך יותר. - מחלקה מותאמת אישית של מחשוב (אופציונלי, אם משתמשים ביצירה אוטומטית של מאגר צמתים):
בכל אשכול GKE אפשר להשתמש באובייקטים מותאמים אישית של ComputeClass כדי להגדיר סוגי צמתים מועדפים, כולל סוגי מכונות (לדוגמה,
a3-highgpu-8g), סוגי קיבולת (כמו שמורה, לפי דרישה וספוט), ואפילו אזורים מועדפים באותו אזור.
-
- שינוי גודל דינמי וניתוב תנועה: שינוי הגודל של התנועה וניתוב התנועה מתבצעים לפי התהליך הבא:
- בקשות נכנסות מגיעות למאזן העומסים הפנימי של שער Multi-Cluster Ingress.
- מאזן העומסים, בהתאם ל
GCPBackendPolicy, שולח תנועה אל השרתים העורפיים באזורים המועדפים שלכם קודם. - התנועה מפוזרת בתוך אזור מסוים ובאזורי קצה שונים על סמך מדדי הניצול המותאמים אישית.
- ה-Horizontal-Pod-Autoscaler (HPA) בכל אשכול משנה את מספר ה-Pods של שרת המודל כלפי מעלה או כלפי מטה על סמך אותם מדדי ניצול.
- הכלי לשינוי גודל האוטומטי של אשכולות GKE וההקצאה האוטומטית של צמתים, בהתאם ל-ComputeClass המותאם אישית, מוסיפים או מסירים צמתים מהסוגים והאזורים המועדפים כדי לעמוד בדרישות של שינוי הגודל של ה-Pod.
- זמינות גבוהה אלסטית בין אזורים בפעולה: אם השרתים של המודל באזורים המועדפים מגיעים לניצול מלא (כלומר, אין קיבולת נוספת זמינה), מאזן העומסים מעביר אוטומטית את התנועה לאשכולות באזורים מוגדרים אחרים שיש בהם קיבולת זמינה. לאחר מכן, ה-HPA וה-Cluster Autoscaler מרחיבים את המשאבים באזורי הגיבוי האלה לפי הצורך.