סנכרון תצורות מסנכרן את הגדרות ה-Kubernetes עם האשכולות. במאמר עזרה זה מוסבר איך להפעיל את סנכרון תצורות ולהגדיר אותו באמצעות הגדרות ברירת מחדל. הוא מתמקד בסנכרון הגדרות ממאגר Git לא מובנה.
הדף הזה מיועד לאופרטורים שרוצים להטמיע כלי GitOps כדי לרכז את ניהול ההגדרות של הצוותים שלהם. כדי לקבל מידע נוסף על תפקידים נפוצים ועל משימות לדוגמה שאנחנו מתייחסים אליהן ב Google Cloud תוכן, אפשר לעיין במאמר תפקידים נפוצים של משתמשי GKE ומשימות.
הוראות להתקנת סנכרון תצורות עם הגדרות מתקדמות מופיעות במאמר התאמה אישית של התקנת סנכרון תצורות.
לפני שמתחילים
לפני שמתקינים את סנכרון תצורות, צריך להכין את מאגר ה-Git ואת אשכולות ה-GKE.
יצירת מאגר Git ומתן גישה ל-סנכרון תצורות
כדי לסנכרן את ההגדרה ממאגר Git לאשכולות, ל-סנכרון תצורות נדרשת גישה לקריאה בלבד למאגר. כדי לתת ל-סנכרון תצורות הרשאה לקרוא את ההגדרות, מבצעים את השלבים הבאים:
ליצור מאגר Git, או לקבל גישה למאגר Git, שמכיל את קובצי התצורה שרוצים שסנכרון תצורות יסנכרן עם האשכולות.
אם מאגר Git שלכם הוא ציבורי, לא נדרשת פעולה נוספת. לא נדרשות הרשאות נוספות ל-Config Sync.
אם מאגר ה-Git שלכם פרטי, פועלים לפי ההוראות במאמר הענקת גישה ל-Git ל-סנכרון תצורות.
יצירת אשכול
אם כבר הכנתם אשכול, למשל אם ביצעתם את השלבים להענקת גישה ל-סנכרון תצורות ל-Git, אפשר להמשיך להתקנת סנכרון תצורות.
כדי להשתמש בסנכרון תצורות, צריך לרשום את האשכולות בצי. כדי לרשום את האשכולות, מבצעים את השלב הבא:
console
לא נדרשת שום פעולה. האשכולות שלכם נרשמים אוטומטית לצי כלי רכב כשאתם מתקינים את סנכרון תצורות.
gcloud
כדי ליצור אשכול Autopilot שרשום לצי, מריצים את הפקודה הבאה:
gcloud container clusters create-auto CLUSTER_NAME --enable-fleetכדי ליצור אשכול רגיל שרשום לצי, מריצים את הפקודה הבאה:
gcloud container clusters create CLUSTER_NAME --enable-fleet \ --workload-pool=PROJECT_ID.svc.id.goog
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול. PROJECT_ID: מזהה הפרויקט.
מידע נוסף על רישום אשכולות זמין במאמר רישום אשכול לצי.
התקנת סנכרון תצורות
כדי להפעיל את Config Sync ולהגדיר אותו לסנכרון הגדרות ממאגר Git לאשכולות הרשומים, מבצעים את השלבים הבאים:
console
אם משתמשים במסוף Google Cloud , קודם מתקינים את סנכרון תצורות באשכולות ואז מגדירים חבילה שמאפשרת לסנכרון תצורות לסנכרן ממאגר Git.
התקנת סנכרון תצורות
עוברים לדף סנכרון תצורות במסוף Google Cloud .
לוחצים על Install Config Sync (התקנת סנכרון תצורות).
בוחרים באפשרות Install on all clusters in the fleet (התקנה בכל האשכולות בצי).
משאירים את כל ההגדרות האחרות בברירת המחדל.
לוחצים על Install Config Sync (התקנת סנכרון תצורות).
בכרטיסייה הגדרות, אחרי כמה דקות, מופיע הסטטוס מופעל בעמודה סטטוס עבור האשכולות בצי.
פריסת חבילה
לוחצים על Deploy cluster package (פריסת חבילת אשכול).
בכרטיסייה Select clusters (בחירת אשכולות), בוחרים את האשכול שרוצים לפרוס בו חבילה ולוחצים על Continue (המשך).
לוחצים על הכרטיסייה הגדרת חבילה ומזינים שם לחבילה.
בקטע מקור, מבצעים את הפעולות הבאות:
בשדה Repository URL (כתובת ה-URL של המאגר), מזינים את כתובת ה-URL של מאגר Git.
אופציונלי: בודקים ומעדכנים את ההגדרות של השדות האחרים. יכול להיות שלא תצטרכו לעדכן את ההגדרות האלה, בהתאם למבנה המאגר.
אופציונלי: אם המאגר פרטי, מרחיבים את הקטע הגדרות מתקדמות כדי להגדיר את שיטת האימות. במסוף Google Cloud מוצגות הוראות מוטמעות שיעזרו לכם להגדיר את הגדרות האימות.
משאירים את כל ההגדרות האחרות בברירת המחדל.
לוחצים על פריסת החבילה.
תועברו לדף Packages (חבילות) של סנכרון תצורות. אחרי כמה דקות, הסטטוס מסונכרן מופיע בעמודה סטטוס הסנכרון עבור האשכול שהגדרתם.
gcloud
אם משתמשים ב-CLI של gcloud, מתקינים את סנכרון תצורות על ידי יצירת מניפסט שמכיל את ההגדרות של סנכרון תצורות, ואז החלת ההגדרות האלה על האשכול.
הפעלת התכונה
ConfigManagementלצי הרכבים:gcloud beta container fleet config-management enableיוצרים קובץ מניפסט בשם
apply-spec.yaml. קובץ המניפסט לדוגמה הזה כולל את הגדרות ברירת המחדל המומלצות:applySpecVersion: 1 spec: configSync: enabled: true sourceFormat: unstructured syncRepo: REPO_URL # syncRev: REVISION secretType: none preventDrift: falseמחליפים את מה שכתוב בשדות הבאים:
-
REPO_URL: כתובת ה-URL של מאגר Git, לדוגמה,https://github.com/GoogleCloudPlatform/anthos-config-management-samples. (אופציונלי)
REVISION: הגרסה (תג או גיבוב) או הענף של Git שרוצים לסנכרן מהם. בטלו את הסימון כהערה והחליפו את השדה הזה אם צריך לסנכרן ממיקום אחר ולא מ-HEAD.במאגרים פרטיים, אפשר לשנות את השדה
secretTypeלשיטת אימות נתמכת. בדרך כלל מומלץ להשתמש בחשבון שירות של Google (gcpserviceaccount) עם Secure Source Manager. אפשר גם להשתמש ב-sshכי הוא פועל עם רוב ספקי Git. הוראות מפורטות יותר על שיטות אימות נתמכות זמינות במאמר מתן גישה ל-Git.
-
מחילים את המניפסט על האשכול:
gcloud beta container fleet config-management apply \ --membership=MEMBERSHIP_NAME \ --config=apply-spec.yaml \ --project=PROJECT_IDמחליפים את מה שכתוב בשדות הבאים:
-
MEMBERSHIP_NAME: השם של החברות ב-Fleet שבחרתם כשביצעתם רישום של האשכול. מקבלים את השם באמצעות הפקודהgcloud container fleet memberships list. -
PROJECT_ID: מזהה הפרויקט.
-
אימות ההתקנה
אחרי שמתקינים ומגדירים את סנכרון תצורות, צריך לוודא שההתקנה הושלמה בהצלחה.
console
עוברים לדף סנכרון תצורות במסוף Google Cloud .
בכרטיסייה חבילות, בודקים את העמודה סטטוס הסנכרון בטבלת האשכול. אם התקנת סנכרון תצורות בוצעה בהצלחה, הסטטוס יהיה Installed. אם מאגר Git הוגדר בהצלחה, הסטטוס שלו יהיה מסונכרן.
gcloud
מריצים את הפקודה הבאה:
nomos status
אם ההתקנה בוצעה בהצלחה, הסטטוס יהיה SYNCED או PENDING.
לפרטים נוספים על המידע שמוצג בפקודה nomos status, כולל שגיאות שדווחו, אפשר לעיין במאמר בדיקת הסטטוס של סנכרון תצורות במסמכי התיעוד של כלי שורת הפקודה nomos.
המאמרים הבאים
- התאמה אישית של ההתקנה של סנכרון תצורות
- משתמשים בפקודה
nomos. - כדאי לקרוא את המאמר בנושא פתרון בעיות ב-סנכרון תצורות.