פתרון בעיות באשכולות שרשומים ב-GKE On-Prem API

בדף הזה מוסבר איך לחקור בעיות שקשורות ליצירת אשכול משתמשים ב-Google Distributed Cloud במסוף Google Cloud .

‫GKE On-Prem API הוא API שמתארח ב-Google Cloud ומאפשר לכם לנהל את מחזור החיים של האשכולות המקומיים באמצעות Terraform וGoogle Cloud כלים סטנדרטיים. ממשק ה-API של GKE On-Prem פועל בתשתית של Google Cloud. ‫Terraform,‏ Google Cloud console ו-Google Cloud CLI הם לקוחות של ה-API, והם משתמשים ב-API כדי ליצור, לעדכן, לשדרג ולמחוק אשכולות במרכז הנתונים שלכם. אם יצרתם את האשכול באמצעות לקוח רגיל, האשכול נרשם ל-GKE On-Prem API, מה שאומר שאתם יכולים להשתמש בלקוחות הרגילים כדי לנהל את מחזור החיים של האשכול (עם כמה חריגים).

אשכול האדמין לא מוצג ברשימה הנפתחת Cluster basics

כדי ליצור אשכולות משתמשים במסוף Google Cloud , צריך לרשום את אשכול האדמין בצי. אם אשכול האדמין לא מופיע ברשימה הנפתחת בקטע Cluster basics במסוף Google Cloud , יכול להיות שאשכול האדמין לא נרשם או שהוא נרשם באמצעות הפקודה gcloud container fleet memberships register. הפקודה gcloud לא רושמת בצורה תקינה אשכולות אדמין.

בודקים את סטטוס הרישום:

  • במסוף Google Cloud , עוברים לדף Kubernetes Engine > Clusters ובוחרים את אותו פרויקט Google Cloud שבו ניסיתם ליצור את אשכול המשתמשים.

    מעבר לדף GKE clusters

    • אם אשכול האדמין לא מופיע ברשימה, אפשר לעיין במאמר בנושא רישום אשכול אדמין.

    • אם אשכול האדמין מוצג ברשימה, המשמעות היא שהאשכול נרשם באמצעות הפקודה gcloud container hub memberships register. הפקודה gcloud לא רושמת בצורה תקינה אשכולות אדמין.

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

  1. מוחקים את החברות בצי של אשכול הניהול.

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=global
    
    • ADMIN_CLUSTER_NAME: השם של אשכול האדמין.
    • PROJECT_ID: המזהה של פרויקט המארח של ה-Fleet. זהו הפרויקט שבחרתם כשניסיתם ליצור את אשכול המשתמשים במסוף Google Cloud .
  2. פועלים לפי השלבים במאמר רישום של אשכול אדמין כדי לרשום מחדש את האשכול.

שגיאות ביצירת אשכול

בקטע הזה מתוארות כמה שגיאות שקורות במהלך יצירת אשכול במסוףGoogle Cloud .

שגיאה: המשאב כבר קיים

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

Resource 'projects/1234567890/[...]/user-cluster1'
already exists
Request ID: 129290123128705826

הודעת השגיאה הזו מציינת ששם האשכול כבר נמצא בשימוש.

אחד הפתרונות לבעיה הזו הוא למחוק את האשכול וליצור אותו מחדש:

  1. מוחקים את האשכול.
  2. צריך ליצור את האשכול מחדש עם שם אחר שלא מתנגש עם אשכול קיים.

שגיאה בקבוצות אנטי-אפיניות

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

- Validation Category: VCenter
    - [FATAL] Hosts for AntiAffinityGroups: Anti-affinity groups enabled with
    available vsphere host number 1 less than 3, please add more vsphere hosts
    or disable anti-affinity groups.

הכללים למניעת קרבה (anti-affinity) ב-VMware Distributed Resource Scheduler (DRS) מחייבים לפחות 3 מארחים פיזיים בסביבת vSphere. כדי לפתור את הבעיה, צריך להשבית את קבוצות האנטי-אפיניות בקטע תכונות בדף פרטי האשכול של האשכול, באופן הבא:

  1. נכנסים לדף GKE clusters במסוף Google Cloud .

    מעבר לדף GKE clusters

  2. בוחרים את הפרויקט Google Cloud שבו נמצא אשכול המשתמשים.

  3. ברשימת האשכולות, לוחצים על שם האשכול ואז על הצגת פרטים בחלונית פרטים.

  4. בקטע מאפיינים, לוחצים על עריכה.

  5. מבטלים את הסימון של הפעלת קבוצות למניעת קרבה ולוחצים על סיום.

  6. Google Cloud במסוף מוצג Cluster status: changes in progress. לוחצים על הצגת פרטים כדי לראות את תנאי סטטוס המשאב והודעות הסטטוס.

שגיאה של כתובות IP מתנגשות

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

- Validation Category: Network Configuration
- [FAILURE] CIDR, VIP and static IP (availability and overlapping): user: user
  cluster control plane VIP "10.251.133.132" overlaps with
  example-cluster1/control plane VIP "10.251.133.132"

אי אפשר לערוך שדות כמו Control plane VIP ו-Ingress VIP בקטע מאזן עומסים (LB) בדף Cluster details במסוףGoogle Cloud . כדי לתקן כתובות IP מתנגשות, צריך למחוק את האשכול וליצור אותו מחדש:

  1. מוחקים את האשכול.
  2. יוצרים את האשכול מחדש עם כתובות IP שלא מתנגשות עם אשכול קיים.

הסרה של אשכולות לא תקינים

יש הרבה סיבות לכך שקלאסטר יכול להיות במצב לא תקין, למשל:

  • בעיות בקישוריות ל-Connect Agent או לסביבה המקומית.
  • אשכול האדמין של אשכול המשתמשים נמחק, או שיש בעיות בקישוריות בין אשכול האדמין לאשכול המשתמשים.
  • המכונה הווירטואלית (VM) של האשכול נמחקה לפני מחיקת האשכול.

אם אי אפשר למחוק אשכול במסוף, משתמשים בפקודות ה-CLI של gcloud כדי למחוק Google Cloud משאבים מאשכולות לא תקינים. אם לא עדכנתם לאחרונה את ה-CLI של gcloud, מריצים את הפקודה הבאה כדי לעדכן את הרכיבים:

gcloud components update

לאחר מכן מוחקים את המשאבים. Google Cloud

אשכול משתמשים

  1. מוחקים את אשכול המשתמשים:

    gcloud container vmware clusters delete USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --force \
      --allow-missing \
      --ignore-errors

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

    • USER_CLUSTER_NAME: השם של אשכול המשתמשים שרוצים למחוק.

    • PROJECT_ID: המזהה של הפרויקט שהאשכול רשום בו.

    • REGION: Google Cloud המיקום שמשויך לאשכול המשתמשים. המיקום מוצג במסוף.

      הדגל --force מוחק אשכול שיש לו מאגרי צמתים. בלי התג --force, צריך קודם למחוק את מאגרי הצמתים ואז למחוק את האשכול.

      הדגל --allow-missing מאפשר להמשיך את הפקודה אם לא נמצא אשכול.

      הדגל --ignore-errors מסיר Google Cloud משאבים כשאי אפשר להגיע לאשכולות של האדמין והמשתמש. יכול להיות שיישארו משאבים של F5 או vSphere. במאמר הסרת משאבים מוסבר איך להסיר את המשאבים שנותרו.

      הפקודה הזו מוחקת את האשכול אם הוא קיים, ומסירה את משאבי GKE On-Prem API ואת משאבי החברות בצי מ- Google Cloud.

  2. מוודאים שמשאבי GKE On-Prem API נמחקו:

    gcloud container vmware clusters list \
      --project=PROJECT_ID \
      --location=-

    כשמגדירים את --location=-, המשמעות היא שרוצים להציג את כל האשכולות בכל האזורים. אם רוצים לצמצם את הרשימה, מגדירים את --location לאזור ספציפי.

  3. מוודאים שמשאבי החברות בצי נמחקו:

    gcloud container fleet memberships list \
      --project=PROJECT_ID

אשכול אדמין

  1. אם רשמתם את אשכול האדמין ל-GKE On-Prem API, בטלו את הרישום שלו:

    gcloud container vmware admin-clusters unenroll ADMIN_CLUSTER_NAME \
     --project=PROJECT_ID \
     --location=REGION \
     --allow-missing 
    

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

    • ADMIN_CLUSTER_NAME: השם של אשכול האדמין.
    • PROJECT_ID: המזהה של פרויקט המארח של ה-Fleet.
    • REGION: האזור. Google Cloud

    הדגל --allow-missing מבטל את ההרשמה של האשכול אם לא נמצאת חברות ב-Fleet.

    הפקודה הזו מסירה את משאבי GKE On-Prem API מ- Google Cloud.

  2. מסירים את האשכול מהצי:

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
     --project=PROJECT_ID \
     --location=global

    הפקודה הזו מסירה משאבים של חברות בצי מ- Google Cloud.

  3. מוודאים שמשאבי GKE On-Prem API נמחקו:

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME --project=FLEET_HOST_PROJECT_ID
    

    כשמגדירים את --location=-, המשמעות היא שרוצים להציג את כל האשכולות בכל האזורים. אם רוצים לצמצם את הרשימה, מגדירים את --location לאזור ספציפי.

  4. מוודאים שמשאבי החברות בצי נמחקו:

    gcloud container fleet memberships list \
      --project=PROJECT_ID

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

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

אפשר גם לעיין במאמר קבלת תמיכה לקבלת מידע נוסף על מקורות מידע לתמיכה, כולל: