פתרון בעיות שקשורות למדרגיות ב-GKE

שימוש נרחב במסד הנתונים etcd עלול לגרום לחוסר יציבות באשכול ולמחסור במשאבים, שמונעים מהאשכולות של Google Kubernetes Engine (GKE) להתאים לעומס בצורה יעילה.

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

המידע הזה חשוב לאדמינים ולמפעילים של הפלטפורמה שאחראים על התקינות והמדרגיות של אשכולות GKE. מידע נוסף על התפקידים הנפוצים ועל משימות לדוגמה שאנחנו מתייחסים אליהם בתוכן של Google Cloud זמין במאמר תפקידי משתמשים נפוצים ומשימות ב-GKE.

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

זיהוי אשכולות שבהם השימוש ב-etcd מתקרב למגבלה

‫GKE מספק תובנות והמלצות לגבי תרחיש שבו השימוש ב-etcd מתקרב למגבלה. אפשר למצוא את התובנות וההמלצות האלה בדרכים הבאות:

  • משתמשים במסוף Google Cloud . נכנסים לדף Kubernetes clusters. בעמודה Notifications של אשכולים ספציפיים, בודקים אם מופיעה ההמלצה Free up space to reduce risk of cluster instability (פינוי מקום כדי להפחית את הסיכון לחוסר יציבות של האשכול).
  • משתמשים ב-CLI של gcloud או ב-Recommender API ומציינים את סוג המשנה של שירות ההמלצות ETCD_DB_USAGE_APPROACHING_LIMIT.

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

    gcloud recommender recommendations list \
        --recommender=google.container.DiagnosisRecommender \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=yaml \
        --filter="recommenderSubtype:ETCD_DB_USAGE_APPROACHING_LIMIT"
    

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

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

‫GKE מספק תובנות והמלצות לתרחיש שבו הגודל הכולל של אובייקטים מסוג etcd לכל סוג מתקרב למגבלה. אפשר למצוא את התובנות וההמלצות האלה בדרכים הבאות:

  • משתמשים במסוף Google Cloud . עוברים לדף Kubernetes clusters. בעמודה Notifications של אשכולים ספציפיים, מחפשים את ההמלצה Reduce the size of resource type(s).
  • משתמשים ב-CLI של gcloud או ב-Recommender API ומציינים את סוג המשנה של שירות ההמלצות APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT.

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

    gcloud recommender recommendations list \
        --recommender=google.container.DiagnosisRecommender \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=yaml \
        --filter="recommenderSubtype:APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT"
    

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

    kubectl get configmaps --all-namespaces > new_file.txt
    

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

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