פתרון בעיות ב-etcd ב-GKE ב-AWS

בדף הזה מוסבר איך לפתור בעיות ב-etcd ב-GKE ב-AWS.

לקבלת עזרה נוספת, אפשר לפנות אל Cloud Customer Care.

דיסק הנתונים של etcd מלא

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

  • יכול להיות שיוצגו ביומני etcd שגיאות של פסק זמן (timeout) בבקשות כתיבה:

    rafthttp: failed to save KV snapshot (write /var/etcd/data/member/snap/tmp720030520: no space left on device)
    

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

    rafthttp: health check for peer [peer-id] could not connect: dial tcp [peer-ip]:2380: i/o timeout
    etcd server doesn't start:
    
  • יכול להיות שיופיעו ביומני היציאה הטורית הודעות שמציינות שלא ניתן להפעיל את etcd בגלל חוסר מקום:

    failed on file /dev/stdout (No space left on device)
    

כדי לקבוע את הגודל של מופע etcd, משתמשים באחת מהשיטות הבאות:

SSH

  1. מתחברים לאחד מצמתי הניהול באמצעות SSH ומריצים את הפקודה הבאה:

    ETCDCTL_API=3 etcdctl --write-out=table endpoint status
    

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

    +------------------+------------------+---------+---------+
    |    ENDPOINT      |        ID        | VERSION | DB SIZE |
    +------------------+------------------+---------+---------+
    | 10.240.0.17:2379 | 4917a7ab173fabe7 |  3.5.0  |   45 kB |
    | 10.240.0.18:2379 | 59796ba9cd1bcd72 |  3.5.0  |   45 kB |
    | 10.240.0.19:2379 | 94df724b66343e6c |  3.5.0  |   45 kB |
    +------------------+------------------+---------+---------+
    

המסוף

  1. במסוף, עוברים לדף Cloud Monitoring.

    כניסה לדף Cloud Monitoring

  2. בוחרים באפשרות Metrics explorer (כלי לבדיקת מדדים).

  3. בוחרים את המדד metric etcd_mvcc_db_total_size_in_bytes.

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

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

    ETCDCTL_API=3 etcdctl alarm list
    
  2. אם בעמודה האחרונה מופיע NOSPACE, משביתים את האזעקה באופן הבא:

    ETCDCTL_API=3 etcdctl alarm disarm
    

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

לקבלת עזרה נוספת, אפשר לפנות אל Cloud Customer Care.