התקנת סנכרון תצורות עם הגדרות ברירת מחדל

‫סנכרון תצורות מסנכרן את הגדרות ה-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.

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

  1. עוברים לדף סנכרון תצורות במסוף Google Cloud .

    מעבר אל Config

  2. לוחצים על Install Config Sync (התקנת סנכרון תצורות).

  3. בוחרים באפשרות Install on all clusters in the fleet (התקנה בכל האשכולות בצי).

  4. משאירים את כל ההגדרות האחרות בברירת המחדל.

  5. לוחצים על Install Config Sync (התקנת סנכרון תצורות).

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

פריסת חבילה

  1. לוחצים על Deploy cluster package (פריסת חבילת אשכול).

  2. בכרטיסייה Select clusters (בחירת אשכולות), בוחרים את האשכול שרוצים לפרוס בו חבילה ולוחצים על Continue (המשך).

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

  4. בקטע מקור, מבצעים את הפעולות הבאות:

    1. בשדה Repository URL (כתובת ה-URL של המאגר), מזינים את כתובת ה-URL של מאגר Git.

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

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

  6. משאירים את כל ההגדרות האחרות בברירת המחדל.

  7. לוחצים על פריסת החבילה.

תועברו לדף Packages (חבילות) של סנכרון תצורות. אחרי כמה דקות, הסטטוס מסונכרן מופיע בעמודה סטטוס הסנכרון עבור האשכול שהגדרתם.

gcloud

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

  1. הפעלת התכונה ConfigManagement לצי הרכבים:

    gcloud beta container fleet config-management enable
    
  2. יוצרים קובץ מניפסט בשם 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.

  3. מחילים את המניפסט על האשכול:

    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

  1. עוברים לדף סנכרון תצורות במסוף Google Cloud .

    מעבר אל סנכרון תצורות

  2. בכרטיסייה חבילות, בודקים את העמודה סטטוס הסנכרון בטבלת האשכול. אם התקנת סנכרון תצורות בוצעה בהצלחה, הסטטוס יהיה Installed. אם מאגר Git הוגדר בהצלחה, הסטטוס שלו יהיה מסונכרן.

gcloud

מריצים את הפקודה הבאה:

nomos status

אם ההתקנה בוצעה בהצלחה, הסטטוס יהיה SYNCED או PENDING.

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

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