פתרון בעיות ביצירת אשכול

אם יש כשלים במהלך יצירת אשכול Google Kubernetes Engine ‏ (GKE), יכול להיות שלא תוכלו להקצות את התשתית הנדרשת. סיבה נפוצה לכשלים היא הפרה של מדיניות constraints/compute.vmExternalIpAccess. בדף הזה מוסבר איך לפתור בעיות שמונעות יצירת אשכולות בגלל מדיניות הארגון.

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

לפתרון בעיות כלליות באשכול Kubernetes, אפשר לעיין במאמר פתרון בעיות באשכולות במסמכי התיעוד של Kubernetes.

שגיאה: המגבלה constraints/compute.vmExternalIpAccess הופרה

אם תנסו ליצור אשכול GKE ציבורי, יכול להיות שתופיע שגיאה דומה לזו:

Constraint constraints/compute.vmExternalIpAccess violated for project

הבעיה משפיעה רק על אשכולות GKE ציבוריים, כולל אשכולות GKE Autopilot.

כשיוצרים אשכולות GKE ציבוריים, למכונות הווירטואליות הבסיסיות של Compute Engine שמרכיבות את הצמתים העובדים של האשכול הזה, מוקצות כתובות IP חיצוניות. אם מגדירים את האילוץ של מדיניות הארגון constraints/compute.vmExternalIpAccess לערך Deny All או מגבילים את כתובות ה-IP החיצוניות למכונות וירטואליות ספציפיות ברמת הארגון, התיקייה או הפרויקט, המדיניות מונעת מצמתי העובדים של GKE לקבל כתובות IP חיצוניות, וכתוצאה מכך נוצר כשל ביצירת האשכול.

כדי למצוא את היומנים של פעולת יצירת האשכול, אפשר לעיין ביומני הביקורת של פעולות אשכול GKE באמצעות Logs Explorer עם שאילתת חיפוש דומה לזו:

resource.type="gke_cluster"
logName="projects/test-last-gke-sa/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload.methodName="google.container.v1beta1.ClusterManager.CreateCluster"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.project_id="PROJECT_ID"

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

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

כדי לפתור את הבעיה, צריך לוודא שהמדיניות בפועל של האילוץ constraints/compute.vmExternalIpAccess היא Allow All בפרויקט שבו מנסים ליצור אשכול ציבורי של GKE. מידע על עבודה עם ההגבלה הזו מופיע במאמר בנושא הגבלת כתובות IP חיצוניות למופעים ספציפיים של מכונות וירטואליות.

אחרי שמגדירים את האילוץ ל-Allow All, מוחקים את האשכול שנכשל ויוצרים אשכול חדש. זהו שדה חובה כי אי אפשר לתקן את האשכול שנכשל.

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