בדף הזה מוסבר איך לשנות את הגודל של אשכולות 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.
המסוף
כדי להגדיל את הגודל של מאגרי הצמתים של אשכול:
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud .
לצד האוסף שרוצים לערוך, לוחצים על more_vert פעולות ואז על עריכה.
לוחצים על הכרטיסייה Nodes (צמתים) לצד הכרטיסייה Details (פרטים).
בקטע Node Pools (מאגרי צמתים), לוחצים על השם של מאגר הצמתים שרוצים להגדיל.
לוחצים על edit שינוי גודל.
בשדה Number of nodes (מספר הצמתים), מזינים את מספר הצמתים שרוצים במאגר הצמתים ולוחצים על Resize (שינוי גודל).
חוזרים על הפעולה לכל מאגר צמתים לפי הצורך.
הקטנת הגודל של האשכול
כשמקטינים את הגודל של אשכול, מתרחשים השינויים הבאים:
- 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.
המסוף
כדי להקטין את הגודל של מאגרי הצמתים של אשכול, מבצעים את השלבים הבאים:
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud .
לצד האוסף שרוצים לערוך, לוחצים על more_vert פעולות ואז על עריכה.
לוחצים על הכרטיסייה Nodes (צמתים) לצד הכרטיסייה Details (פרטים).
בקטע Node Pools (מאגרי צמתים), לוחצים על השם של מאגר הצמתים שרוצים להקטין את הגודל שלו.
לוחצים על edit שינוי גודל.
בשדה Number of nodes (מספר הצמתים), מזינים את מספר הצמתים שרוצים במאגר הצמתים ולוחצים על Resize (שינוי גודל).
חוזרים על הפעולה לכל מאגר צמתים לפי הצורך.
התאמה אוטומטית לעומס (autoscaling) באשכול
התכונה Cluster Autoscaler ב-GKE משנה את הגודל של מאגרי הצמתים באופן אוטומטי בתגובה לשינויים בתנאים, כמו שינויים בעומסי העבודה ובשימוש במשאבים.
מידע נוסף על אופן הפעולה של התאמה אוטומטית לעומס זמין במאמרי העזרה בנושא מידרוג אוטומטי של אשכולות. כדי להגדיר התאמה לעומס (autoscaling) באשכול, אפשר לעיין במאמר בנושא התאמה לעומס באשכול.