פתרון בעיות שקשורות למדרגיות ב-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 recommender subtype.

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

    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 recommender subtype.

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

    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 גדולים.

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