בדף הזה מוסבר איך להשתמש במדדים מותאמים אישית, חיצוניים או של Prometheus כדי להגדיל או להקטין באופן אוטומטי את מספר הרפליקות של עומס עבודה נתון.
למה כדאי להשתמש בהתאמת קנה מידה אוטומטית על סמך מדדים
נניח שיש אפליקציה ששולפת משימות מתור ומבצעת אותן. יכול להיות שלאפליקציה יש יעד למדידת רמת השירות (SLO) לגבי הזמן שנדרש לעיבוד משימה, או לגבי מספר המשימות בהמתנה. אם התור גדל, יכול להיות ששכפול נוסף של עומס העבודה יעמוד ביעד ה-SLO של עומס העבודה. אם התור ריק או שהירידה בו מהירה מהצפוי, תוכלו לחסוך כסף על ידי הפעלת פחות רפליקות, ועדיין לעמוד בדרישות של הסכם רמת השירות (SLO) של עומסי העבודה.
מידע על מדדים מותאמים אישית, מדדי Prometheus ומדדים חיצוניים
אפשר לשנות את גודל עומסי העבודה על סמך מדדים מותאמים אישית, מדדי Prometheus או מדדים חיצוניים.
מדד מותאם אישית מדווח מהאפליקציה שפועלת ב-Kubernetes. מידע נוסף על מדדים מותאמים אישית ומדדי Prometheus
מדדים שמגיעים מ-שירות מנוהל ל-Prometheus נחשבים לסוג של מדד מותאם אישית.
מדד חיצוני מדווח מאפליקציה או משירות שלא פועלים באשכול שלכם, אבל הביצועים שלהם משפיעים על אפליקציית Kubernetes שלכם. לדוגמה, אפשר להגדיר שינוי גודל אוטומטי לפי כל מדד ב-Cloud Monitoring, כולל Pub/Sub או Dataflow. מדדי Prometheus מכילים נתונים שמופקים מהאשכול שלכם, ואפשר להשתמש בהם כדי להגדיר קנה מידה אוטומטי. מידע נוסף זמין במאמר בנושא מדדים חיצוניים.
מדדים מותאמים אישית ומדדי Prometheus
מומלץ להשתמש בשירות מנוהל ל-Prometheus כדי ליצור ולנהל מדדים בהתאמה אישית. אתם יכולים להשתמש בשפת השאילתות של Prometheus (PromQL) כדי לשלוח שאילתות על כל המדדים ב-Monitoring. מידע נוסף זמין במאמר בנושא התאמה אופקית של קבוצות Pod לעומס בשביל שירות מנוהל ל-Prometheus.
האפליקציה יכולה לדווח על מדד מותאם אישית ל-Monitoring. אתם יכולים להגדיר את Kubernetes כך שיגיב למדדים האלה וישנה את גודל עומס העבודה באופן אוטומטי. לדוגמה, אפשר לשנות את גודל האפליקציה על סמך מדדים כמו מספר השאילתות לשנייה, מספר הפעולות לשנייה, ביצועי הרשת, זמן האחזור בתקשורת עם אפליקציה אחרת או מדדים אחרים שרלוונטיים לעומס העבודה. מידע נוסף זמין במאמר בנושא אופטימיזציה של שינוי גודל אוטומטי של Pod על סמך מדדים.
לחלופין, אפשר לחשוף מדדים מותאמים אישית (בגרסת Preview) ולשלוח את המדדים ישירות מ-Pod או מעומס עבודה אל קנה המידה האוטומטי.
מדדים חיצוניים
אם אתם צריכים לשנות את גודל עומס העבודה על סמך הביצועים של אפליקציה או שירות מחוץ ל-Kubernetes, אתם יכולים להגדיר מדד חיצוני. לדוגמה, יכול להיות שתצטרכו להגדיל את הקיבולת של האפליקציה כדי להזין הודעות מ-Pub/Sub אם מספר ההודעות שלא נמסרו נמצא במגמת עלייה. האפליקציה החיצונית צריכה לייצא את המדד למופע של Monitoring שהאשכול יכול לגשת אליו. השינוי במגמה של כל מדד לאורך זמן גורם ל-Horizontal Pod Autoscaler לשנות באופן אוטומטי את מספר הרפליקות בעומס העבודה. מידע נוסף זמין במאמר בנושא אופטימיזציה של שינוי גודל אוטומטי של Pod על סמך מדדים.
ייבוא מדדים לניטור
כדי לייבא מדדים ל-Monitoring, אפשר:
- הגדרה של שירות מנוהל ל-Prometheus (מומלץ), או
- מייצאים מדדים מהאפליקציה באמצעות Cloud Monitoring API.
המאמרים הבאים
- איך משתמשים במדדים מותאמים אישית כדי להגדיל או להקטין את הפריסות באופן אוטומטי
- מידע נוסף על Horizontal Pod Autoscaler
- איך מגדירים התאמה אופקית של קבוצות Pod לעומס
- מידע נוסף על שינוי גודל של אפליקציות
- מידע נוסף על Vertical Pod Autoscaler