שינוי גודל בהתאם לניצול המעבד

הדרך הכי פשוטה להשתמש בהתאמה אוטומטית לעומס (automatic scaling) היא להרחיב או לצמצם קבוצת מופעי מכונה מנוהלים (MIG) בהתאם לניצול מעבד (CPU) של המכונות שלה.

אפשר גם להגדיר התאמה אוטומטית של גודל קבוצת מופעי מכונה מנוהלים (MIG) על סמך קיבולת ההגשה של איזון העומסים, מדדי המעקב או לוחות זמנים.

לפני שמתחילים

  • בודקים את המגבלות של שינוי הגודל האוטומטי.
  • מידע נוסף על קנה מידה אוטומטי
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS

    gcloud

    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
  • הגדרת אזור ותחום כברירת מחדל
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

שינוי גודל בהתאם לניצול המעבד

אתם יכולים להגדיר שינוי גודל אוטומטי על סמך ממוצע השימוש במעבד של קבוצת מופעים מנוהלת (MIG). שימוש במדיניות הזו אומר למנגנון לשינוי גודל אוטומטי לאסוף את נתוני השימוש במעבד של המופעים בקבוצה ולקבוע אם צריך לשנות את הגודל. אתם מגדירים את יעד השימוש במעבד (CPU) שהכלי לשינוי גודל אוטומטי צריך לשמור עליו, והכלי פועל כדי לשמור על הרמה הזו.

הכלי לשינוי גודל אוטומטי מתייחס לרמת ניצול היעד של ה-CPU כאל חלק מהשימוש הממוצע בכל ה-vCPU לאורך זמן בקבוצת המופעים. אם ניצול המעבדים הווירטואליים הכולל שלכם חורג מיעד הניצול, הכלי לשינוי גודל אוטומטי מוסיף עוד מופעים של מכונות וירטואליות. אם ניצול המעבדים הווירטואליים הממוצע מתוך סך המעבדים הווירטואליים נמוך מניצול היעד, הכלי לשינוי גודל אוטומטי מסיר מכונות. לדוגמה, אם מגדירים יעד ניצול של 0.75, המערכת להרחבת הקיבולת האוטומטית מקבלת הוראה לשמור על ניצול ממוצע של 75% בין כל ליבות ה-vCPU בקבוצת המופעים.

אפשר גם לשנות את גודל המכונה על סמך תחזית של ניצול המעבד. מידע נוסף על התכונה הזו ועל התאמתה לעומס העבודה שלכם זמין במאמר שינוי גודל על סמך תחזיות.

הפעלה של שינוי גודל אוטומטי על סמך ניצול המעבד

כדי להפעיל התאמה אוטומטית לעומס על סמך ניצול המעבד (CPU), אפשר להשתמש באחת מהאפשרויות הבאות. אם רוצים להגדיר תקופת ייצוב כדי לשלוט בקצב של הגדלת הקיבולת, צריך להשתמש ב-Google Cloud CLI או ב-REST.

המסוף

  1. נכנסים לדף Instance groups במסוף.

    כניסה לדף Instance groups

  2. אם יש לכם קבוצת מופעים, לוחצים על השם של קבוצת המופעים ואז על עריכה. בדף העריכה של קבוצת המופעים, מבצעים את הפעולות הבאות:

    1. לוחצים על הקטע גודל הקבוצה ושינוי גודל אוטומטי כדי להרחיב אותו.
    2. לוחצים על הגדרת שינוי גודל אוטומטי.
  3. אם אין לכם קבוצת מופעים, לוחצים על Create instance group (יצירת קבוצת מופעים) ופועלים לפי השלבים הבאים:

    1. בשדה שם, מציינים שם לקבוצה.
    2. ברשימה Instance template, בוחרים תבנית של הגדרות מכונה.
    3. בקטע Location, בהתאם לסוג ה-MIG שאתם יוצרים (אזורי או אזורי), בוחרים באחת מהאפשרויות הבאות:

      • בשביל MIG אזורי, בוחרים באפשרות Single zone, ואז בוחרים אזור ואזור משנה.
      • אם רוצים ליצור קבוצת MIG אזורית, בוחרים באפשרות Multiple zones, ואז בוחרים אזור ותחומים.
  4. בקטע Autoscaling, מתווסף כברירת מחדל אות של שינוי גודל אוטומטי של ניצול CPU. אתם יכולים להשתמש בערכי ברירת המחדל של האות או לבצע את הפעולות הבאות:

    1. מציינים את המספר המינימלי והמקסימלי של מופעים שרוצים שהכלי להתאמה אוטומטית לעומס ייצור בקבוצה הזו.
    2. כדי לערוך את ניצול המעבד (CPU) של היעד, לוחצים על האות של ניצול המעבד כדי להרחיב את הקטע ומציינים את האחוז.

      1. בקטע Predictive autoscaling (שינוי גודל אוטומטי מבוסס חיזוי), בוחרים באפשרות Off (מושבת). כדי לקבל מידע נוסף על שינוי גודל אוטומטי מבוסס חיזוי, ולהבין אם הוא מתאים לעומס העבודה שלכם, אפשר לעיין במאמר שינוי גודל על סמך חיזויים.
    3. לוחצים על סיום.

  5. אתם יכולים להשתמש בתקופת האתחול כדי לציין למנגנון שינוי הגודל האוטומטי כמה זמן לוקח לאפליקציה שלכם להתחיל לפעול. הגדרת תקופת אתחול מדויקת משפרת את ההחלטות של הכלי לשינוי גודל אוטומטי. לדוגמה, כשמבצעים הגדלה, הכלי להתאמת קנה מידה אוטומטית מתעלם מנתונים של מכונות וירטואליות שעדיין נמצאות בתהליך אתחול, כי יכול להיות שהמכונות הווירטואליות האלה עדיין לא מייצגות שימוש רגיל באפליקציה. תקופת האתחול שמוגדרת כברירת מחדל היא 60 שניות.

  6. לוחצים על Save.

gcloud

כדי להפעיל התאמה אוטומטית לעומס (automatic scaling) של קבוצת מופעי מכונה מנוהלים, משתמשים בפקודת-המשנה set-autoscaling. לדוגמה, הפקודה הבאה יוצרת קנה מידה אוטומטי עם יעד ניצול CPU של 60%. כשיוצרים קנה מידה אוטומטי, צריך להשתמש גם בפרמטר --max-num-replicas בנוסף לפרמטר --target-cpu-utilization:

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
    --max-num-replicas 20 \
    --target-cpu-utilization 0.60 \
    --cool-down-period 90 \
    --stabilization-period 240

אפשר להגדיר את הדגלים הבאים כדי לשלוט בהתאמה אוטומטית לעומס:

  • אפשר להשתמש בדגל --cool-down-period כדי להגדיר את תקופת האתחול, שמציינת למנגנון לשינוי גודל המכונה כמה זמן לוקח לאפליקציה להתחיל לפעול. הגדרת תקופת אתחול מדויקת משפרת את ההחלטות של הכלי לשינוי גודל אוטומטי. לדוגמה, כשמבצעים הגדלה, הכלי להתאמת קנה מידה אוטומטית מתעלם מנתונים של מכונות וירטואליות שעדיין נמצאות בתהליך אתחול, כי יכול להיות שהמכונות הווירטואליות האלה עדיין לא מייצגות שימוש רגיל באפליקציה. תקופת האתחול שמוגדרת כברירת מחדל היא 60 שניות.
  • אפשר להשתמש בדגל --stabilization-period כדי להגדיר את תקופת הייצוב, שקובעת את משך הזמן שבו קבוצת ה-MIG תצטמצם. תקופת ייצוב קצרה יותר מצביעה על מחיקה מהירה יותר של מכונות וירטואליות לצורך הגדלה. הערך צריך להיות בין 0 ל-3,600 שניות. ערך ברירת המחדל הוא 600 שניות. מידע נוסף זמין במאמר בנושא שיטות מומלצות לתקופת ייצוב.

אופציונלי: אפשר להפעיל התאמה אוטומטית לעומס מבוססת-תחזיות כדי להרחיב אופקית בהתאם לעומס לפני עומס צפוי. כדי לבדוק אם התאמה אוטומטית לעומס מבוססת-תחזיות מתאימה לעומס העבודה שלכם, אפשר לעיין במאמר בנושא שינוי גודל על סמך תחזיות.

כדי לוודא שהתכונה 'התאמה אוטומטית לעומס (automatic scaling)' הופעלה בהצלחה, משתמשים בפקודת-המשנה instance-groups managed describe. הפקודה הזו מתארת את קבוצת מופעי המכונה המנוהלים המתאימה ומספקת מידע על תכונות של התאמה אוטומטית לעומס (automatic scaling) עבור קבוצת המופעים הזו:

gcloud compute instance-groups managed describe example-managed-instance-group

בחומרי העזר של gcloud תוכלו למצוא את רשימת הפקודות והדגלים של gcloud.

REST

כדי ליצור קנה מידה אוטומטי, משתמשים ב-method‏ autoscalers.insert עבור MIG אזורי או ב-method‏ regionAutoscalers.insert עבור MIG אזורי.

בדוגמה הבאה נוצרת קבוצת ניהול מופעים (MIG) עם קנה מידה אוטומטי אזורי:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers

גוף הבקשה צריך להכיל את השדות name, target ו-autoscalingPolicy. ב-autoscalingPolicy צריך להגדיר את cpuUtilization ואת maxNumReplicas.

אופציונלי: מגדירים את השדות הבאים כדי לשלוט בהתאמה אוטומטית לעומס:

  • אפשר להשתמש בשדה coolDownPeriodSec כדי להגדיר את תקופת האתחול, שמציינת למנגנון לשינוי גודל הקיבולת האוטומטי כמה זמן לוקח לאתחל את האפליקציה. הגדרת תקופת אתחול מדויקת משפרת את ההחלטות של הכלי לשינוי גודל אוטומטי. לדוגמה, כשמבצעים הגדלה, הכלי להתאמת קנה מידה אוטומטית מתעלם מנתונים של מכונות וירטואליות שעדיין נמצאות בתהליך אתחול, כי יכול להיות שהמכונות הווירטואליות האלה עדיין לא מייצגות שימוש רגיל באפליקציה. תקופת האתחול שמוגדרת כברירת מחדל היא 60 שניות.
  • אפשר להשתמש בשדה stabilizationPeriodSec כדי להגדיר את תקופת הייצוב, שקובעת את משך הזמן שבו ה-MIG יצטמצם. תקופת ייצוב קצרה יותר מצביעה על מחיקה מהירה יותר של מכונות וירטואליות לצורך הגדלה. הערך צריך להיות בין 0 ל-3,600 שניות. ערך ברירת המחדל הוא 600 שניות. מידע נוסף זמין במאמר בנושא שיטות מומלצות לתקופת ייצוב.

אופציונלי: אפשר להפעיל התאמה אוטומטית לעומס מבוססת-תחזיות כדי להרחיב אופקית בהתאם לעומס לפני עומס צפוי. כדי לבדוק אם התאמה אוטומטית לעומס מבוססת-תחזיות מתאימה לעומס העבודה שלכם, אפשר לעיין במאמר בנושא שינוי גודל על סמך תחזיות.

{
  "name": "example-autoscaler",
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group",
  "autoscalingPolicy": {
    "maxNumReplicas": 10,
    "cpuUtilization": {
      "utilizationTarget": 0.6
    },
    "coolDownPeriodSec": 90,
    "stabilizationPeriodSec": 240
  }
}

מידע נוסף על הפעלת התאמה אוטומטית לעומס על סמך ניצול המעבד זמין במדריך שימוש בהתאמה אוטומטית לעומס לאפליקציות שניתנות להרחבה בקלות.

איך הכלי לשינוי גודל אוטומטי מטפל בניצול גבוה של המעבד

במהלך תקופות של ניצול גבוה של המעבד, אם הניצול קרוב ל-100%, המערכת לשינוי גודל אוטומטי מעריכה שהקבוצה כבר עמוסה מדי. במקרים כאלה, המערכת להרחבת משאבים אוטומטית מגדילה את מספר המכונות הווירטואליות ב-50% לכל היותר.

המאמרים הבאים