הכנה של האשכול ל-Config Sync

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

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

בחירת מצב פעולה של GKE

‫סנכרון תצורות תומך באשכולות GKE במצב Autopilot ובמצב Standard.

כדי לקבל החלטה מושכלת לגבי מצב הפעולה שבו כדאי להשתמש, מומלץ לקרוא את המאמר מצבי פעולה של GKE.

רישום אשכולות ב-Fleet

כדי להשתמש בסנכרון תצורות, צריך לרשום את האשכולות בצי.

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

אחרת, צריך לרשום את האשכול לצי לפני שמפעילים את סנכרון תצורות.

מתן ההרשאות הנדרשות

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

כדי לקבל את ההרשאות שנדרשות לרישום אשכולות לצי, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Fleet Admin (לשעבר GKE Hub Admin) (roles/gkehub.admin) בפרויקט. להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

משאבים נדרשים במצב Autopilot

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

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

פלטפורמות וגרסאות נתמכות של GKE

כדי להשתמש ב-סנכרון תצורות, האשכול צריך להיות בגרסה נתמכת של GKE.

איחוד זהויות של עומסי עבודה ל-GKE

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

כדי להשתמש בחבילות Fleet עם סנכרון תצורות, נדרש איחוד זהויות של עומסי עבודה ל-GKE.

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

Networking

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

מידע נוסף על אפשרויות הרשת ב-GKE זמין במאמר סקירה כללית של הרשת.

אשכולות פרטיים

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

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

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

  • TCP: מאפשרים תעבורת נתונים נכנסת (ingress) ויוצאת (egress) ביציאות 53 ו-443
  • UDP: מתן הרשאה לתעבורת נתונים יוצאת (egress) ביציאה 53

אם לא כוללים את הכללים האלה, Config Sync לא מסתנכרן בצורה תקינה ומופיעה השגיאה הבאה: nomos status

Error: KNV2004: unable to sync repo Error in the git-sync container

‏Cloud Source Repositories עם אימות של חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine

אם אתם משתמשים ב-סנכרון תצורות כדי להתחבר אל Cloud Source Repositories ואיחוד זהויות של עומסי עבודה ל-GKE לא מופעל, אתם יכולים להשתמש בחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine כדי לבצע אימות. חובה להשתמש בהיקפי גישה עם היקפי קריאה בלבד לצמתים באשכול.

כדי להוסיף את היקף ההרשאות לקריאה בלבד עבור Cloud Source Repositories, צריך לכלול את cloud-source-repos-ro ברשימה --scopes שצוינה בזמן יצירת האשכול, או להשתמש בהיקף ההרשאות cloud-platform בזמן יצירת האשכול. לדוגמה:

gcloud container clusters create CLUSTER_NAME --scopes=cloud-platform

מחליפים את CLUSTER_NAME בשם האשכול.

אי אפשר לשנות את היקפי הגישה אחרי שיוצרים מאגר צמתים. עם זאת, אפשר ליצור מאגר צמתים חדש עם היקף הגישה המתאים בזמן השימוש באותו אשכול. ההיקף שמוגדר כברירת מחדל gke-default לא כולל את cloud-source-repos-ro.

צמתים של זרוע

אפשר להריץ את סנכרון תצורות רק בצמתים מבוססי x86, ולא בצמתי Arm. עם זאת, אם אתם צריכים להפעיל את סנכרון תצורות באשכול עם כמה ארכיטקטורות, אתם צריכים לבצע את הפעולה הבאה, בהתאם לסוג האשכול:

  • GKE ב-AWS או GKE ב-Azure: מוסיפים taint לצמתי Arm, כדי למנוע תזמון של Pod בצמתי Arm ללא toleration תואם.
  • GKE: ב-GKE נוסף דחייה (taint) כברירת מחדל כדי להבטיח שעומסי עבודה ללא הטולרנטיות המתאימה לא יתוזמנו שם. לא נדרשת פעולה נוספת.

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

התקנה של סנכרון תצורות