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

בדף הזה מוסבר איך לשנות את הגודל של אשכולות Standard ב-Google Kubernetes Engine‏ (GKE) באופן ידני. אפשר לשנות את הגודל של אשכול כדי להגדיל או להקטין את מספר הצמתים באשכול. לחלופין, אפשר להשתמש בהתאמה אוטומטית לעומס באשכול, שבה GKE משנה את הגודל של מאגרי הצמתים באופן אוטומטי בתגובה לשינויים בתנאים, כמו שינויים בעומסי העבודה ובשימוש במשאבים.

ההוראות האלה לא רלוונטיות לאשכולות Autopilot של GKE, שגודלם משתנה באופן אוטומטי בהתאם למספר ה-Pods באשכול.

כשמוסיפים או מסירים צמתים באשכול, GKE מוסיף או מסיר את המכונות הווירטואליות המשויכות מקבוצות המופעים המנוהלות (MIG) הבסיסיות של Compute Engine שהוקצו למאגרי הצמתים. כדי להסיר צמתים, אל תשתמשו בפקודה kubectl delete node כי היא לא מוחקת את המכונה הווירטואלית ב-Compute Engine ב-MIG הבסיסי של מאגר הצמתים. אפשר להשתמש ב-cluster autoscaler או להקטין ידנית את גודל האשכול.

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

לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:

  • מפעילים את ממשק ה-API של Google Kubernetes Engine.
  • הפעלת Google Kubernetes Engine API
  • אם רוצים להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה gcloud components update כדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.

הגדלת הגודל של האשכול

כשמגדילים את הגודל של אשכול, מתרחשים השינויים הבאים:

  • נוצרים מופעים חדשים של צמתים עם אותה הגדרה כמו המופעים הקיימים.
  • יכול להיות שיתבצע תזמון של פודים חדשים במופעים החדשים.
  • ‫Pods קיימים לא מועברים למופעים החדשים.

gcloud

כדי להגדיל את הגודל של מאגרי הצמתים של אשכול, מריצים את הפקודה gcloud container clusters resize:

gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \
    --num-nodes NUM_NODES

מחליפים את מה שכתוב בשדות הבאים:

  • CLUSTER_NAME: שם האשכול שרוצים לשנות את הגודל שלו.
  • POOL_NAME: השם של מאגר הצמתים שרוצים לשנות את הגודל שלו.
  • NUM_NODES: מספר הצמתים במאגר באשכול אזורי. אם אתם משתמשים באשכולות אזוריים או מרובי-אזוריים, NUM_NODES הוא מספר הצמתים בכל אזור שבו נמצאים מאגרי הצמתים.

חוזרים על הפקודה הזו לכל מאגר צמתים. אם באוסף שלכם יש רק מאגר צמתים אחד, אל תכללו את הדגל --node-pool.

המסוף

כדי להגדיל את הגודל של מאגרי הצמתים של אשכול:

  1. נכנסים לדף Google Kubernetes Engine במסוף Google Cloud .

    מעבר אל Google Kubernetes Engine

  2. לצד האוסף שרוצים לערוך, לוחצים על פעולות ואז על עריכה.

  3. לוחצים על הכרטיסייה Nodes (צמתים) לצד הכרטיסייה Details (פרטים).

  4. בקטע Node Pools (מאגרי צמתים), לוחצים על השם של מאגר הצמתים שרוצים להגדיל.

  5. לוחצים על שינוי גודל.

  6. בשדה Number of nodes (מספר הצמתים), מזינים את מספר הצמתים שרוצים במאגר הצמתים ולוחצים על Resize (שינוי גודל).

  7. חוזרים על הפעולה לכל מאגר צמתים לפי הצורך.

הקטנת הגודל של האשכול

כשמקטינים את הגודל של אשכול, מתרחשים השינויים הבאים:

  • ‫GKE מסיים בצורה מסודרת את הצמתים שנמחקים, באמצעות תהליך הריקון כדי להסיר את ה-Pods מהמכונה. ההגדרות PodDisruptionBudget ו-terminationGracePeriodSeconds תקפות למשך שעה אחת.
  • ה-controller מתזמן מחדש את הפודים שמנוהלים על ידי בקר השכפול כדי שהם יפעלו על המופעים שנותרו.
  • פודים שלא מנוהלים על ידי בקר שכפול לא מופעלים מחדש.

קבוצת ה-MIG לא מבדילה בין מופעים שמריצים Pods לבין מופעים ללא Pods. הקטנת הגודל תגרום להסרת מופעים באופן אקראי.

במאמר הוספה וניהול של מאגרי צמתים מוסבר איך מוסיפים מאגרי צמתים ואיך מנהלים מאגרי צמתים קיימים.

gcloud

כדי להקטין את הגודל של מאגרי הצמתים של אשכול, מריצים את הפקודה gcloud container clusters resize:

gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \
    --num-nodes NUM_NODES

מחליפים את מה שכתוב בשדות הבאים:

  • CLUSTER_NAME: שם האשכול שרוצים לשנות את הגודל שלו.
  • POOL_NAME: השם של מאגר הצמתים שרוצים לשנות את הגודל שלו.
  • NUM_NODES: מספר הצמתים במאגר באשכול אזורי. אם אתם משתמשים באשכולות אזוריים או מרובי-אזוריים, NUM_NODES הוא מספר הצמתים בכל אזור שבו נמצאים מאגרי הצמתים.

חוזרים על הפקודה הזו לכל מאגר צמתים. אם באוסף שלכם יש רק מאגר צמתים אחד, אל תכללו את הדגל --node-pool.

המסוף

כדי להקטין את הגודל של מאגרי הצמתים של אשכול, מבצעים את השלבים הבאים:

  1. נכנסים לדף Google Kubernetes Engine במסוף Google Cloud .

    מעבר אל Google Kubernetes Engine

  2. לצד האוסף שרוצים לערוך, לוחצים על פעולות ואז על עריכה.

  3. לוחצים על הכרטיסייה Nodes (צמתים) לצד הכרטיסייה Details (פרטים).

  4. בקטע Node Pools (מאגרי צמתים), לוחצים על השם של מאגר הצמתים שרוצים להקטין את הגודל שלו.

  5. לוחצים על שינוי גודל.

  6. בשדה Number of nodes (מספר הצמתים), מזינים את מספר הצמתים שרוצים במאגר הצמתים ולוחצים על Resize (שינוי גודל).

  7. חוזרים על הפעולה לכל מאגר צמתים לפי הצורך.

התאמה אוטומטית לעומס (autoscaling) באשכול

התכונה Cluster Autoscaler ב-GKE משנה את הגודל של מאגרי הצמתים באופן אוטומטי בתגובה לשינויים בתנאים, כמו שינויים בעומסי העבודה ובשימוש במשאבים.

מידע נוסף על אופן הפעולה של התאמה אוטומטית לעומס זמין במאמרי העזרה בנושא מידרוג אוטומטי של אשכולות. כדי להגדיר התאמה לעומס (autoscaling) באשכול, אפשר לעיין במאמר בנושא התאמה לעומס באשכול.

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