בדף הזה מוסבר על אפשרויות ההגדרה והדרישות כשמתכננים את השימוש באשכולות עם Config Sync.
למידע נוסף על שיטות מומלצות כלליות לתכנון אשכולות GKE, אפשר לעיין במסמכי GKE בנושא אפשרויות להגדרת אשכולות.
בחירת מצב פעולה של GKE
Config Sync תומך באשכולות GKE במצב Autopilot ובמצב Standard.
כדי לקבל החלטה מושכלת לגבי מצב הפעולה שבו כדאי להשתמש, מומלץ לקרוא את המאמר מצבי פעולה של GKE.
רישום אשכולות ב-Fleet
כדי להשתמש ב-Config Sync, צריך לרשום את האשכולות בצי.
אם אתם מתכננים להתקין את Config Sync ולהגדיר אותו באמצעות Google Cloud המסוף, אתם יכולים לרשום את האשכול שלכם בו-זמנית עם ההתקנה של Config Sync.
אחרת, צריך לרשום את האשכול לצי לפני שמפעילים את Config Sync.
מתן ההרשאות הנדרשות
מכיוון ש-Config Sync מחייב רישום של אשכולות בצי, יכול להיות שתצטרכו הרשאות נוספות כשמתקינים את Config Sync.
כדי לקבל את ההרשאות שנדרשות לרישום אשכולות לצי, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM אדמין של צי (לשעבר אדמין של GKE Hub) (roles/gkehub.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
דרישות משאבים במצב Autopilot
מצב Autopilot ב-GKE משנה באופן אוטומטי את בקשות המשאבים כדי לשמור על יציבות עומס העבודה. כדי להבין איך לתכנן את הבקשות האלה, כדאי לעיין במסמכי התיעוד של GKE בנושא בקשות למשאבי Autopilot.
בגלל האופן שבו Autopilot משנה בקשות למשאבים, Config Sync מבצע את ההתאמות הבאות:
- התאמה של מגבלות משאבים שצוינו על ידי המשתמש כדי להתאים לבקשות.
- ההחלפות יחולו רק אם יש בקשות למשאבים שגבוהות מהפלט המותאם התואם שמוצהר בהערה, או אם יש בקשות למשאבים שנמוכות מהקלט התואם שמוצהר בהערה.
פלטפורמות וגרסאות נתמכות של GKE
כדי להשתמש ב-Config Sync, האשכול צריך להיות בגרסה נתמכת של GKE.
איחוד זהויות של עומסי עבודה ל-GKE
איחוד זהויות של עומסי עבודה ל-GKE הוא הדרך המומלצת להתחבר לשירותים באופן מאובטח. Google Cloud במערכות GKE Autopilot, איחוד זהויות של עומסי עבודה מופעל כברירת מחדל באשכולות.
אם רוצים להשתמש בחבילות Fleet עם Config Sync, צריך להשתמש באיחוד שירותי אימות הזהות של עומסי עבודה ב-GKE.
אם התקנתם את Config Sync באשכולות מצורפים של GKE, לא תוכלו להשתמש ב-Active Directory עם איחוד שירותי אימות הזהות של עומסי עבודה. המגבלה הזו קיימת כי Config Sync משתמש בשער Connect כדי להתחבר לאשכולות שמצורפים ל-GKE, ושער Connect לא תומך בתכונה הזו.
Networking
בקטע הבא מפורטים כמה מהשינויים שאולי תצטרכו לבצע באשכול GKE, בהתאם להגדרות הרשת שלכם.
מידע נוסף על אפשרויות הרשת ב-GKE זמין במאמר סקירה כללית של הרשת.
אשכולות פרטיים
אם אתם משתמשים באשכולות GKE עם צמתים פרטיים, אתם צריכים להגדיר את האשכולות באחת מהדרכים הבאות כדי לוודא של-Config Sync יש גישה למקור האמת שלכם ושהוא יכול לבצע אימות מולו:
מגדירים Cloud NAT כדי לאפשר יציאה מצמתי GKE פרטיים. פרטים נוספים זמינים במאמר הגדרה לדוגמה של GKE.
מפעילים גישה פרטית ל-Google כדי להתחבר לקבוצת כתובות ה-IP החיצוניות שמשמשות את ממשקי ה-API והשירותים של Google.
אשכולות ציבוריים
אם אתם משתמשים באשכולות ציבוריים, אבל יש לכם דרישות מחמירות לגבי חומת האש של ה-VPC שחוסמות תנועה לא נחוצה, אתם צריכים ליצור כללי חומת אש כדי לאפשר את התנועה הבאה:
- TCP: צריך לאפשר תעבורת נתונים נכנסת (ingress) ויוצאת (egress) ביציאות 53 ו-443
- UDP: מתן הרשאה ליציאה ביציאה 53
אם לא כוללים את הכללים האלה, Config Sync לא מסתנכרן בצורה תקינה ומופיעה השגיאה הבאה: nomos status
Error: KNV2004: unable to sync repo Error in the git-sync container
Cloud Source Repositories עם אימות של חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine
אם אתם משתמשים ב-Config Sync כדי להתחבר אל 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.
צמתים של זרוע
אפשר להריץ את Config Sync רק בצמתים מבוססי x86, ולא בצמתי Arm. עם זאת, אם אתם צריכים להפעיל את Config Sync באשכול עם כמה ארכיטקטורות, אתם צריכים לבצע את הפעולה הבאה, בהתאם לסוג האשכול:
- GKE ב-AWS או GKE ב-Azure: מוסיפים taint לצמתי Arm, כדי למנוע תזמון של Pod בצמתי Arm ללא toleration תואם.
- GKE: ב-GKE נוסף taint כברירת מחדל כדי לוודא שעומסי עבודה בלי הסבילות המתאימה לא מתוזמנים שם. לא נדרשת פעולה נוספת.