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

‫סנכרון תצורות מסנכרן את תצורות ה-Kubernetes עם האשכולות. במאמר הזה מוסבר איך להפעיל את סנכרון תצורות ולהגדיר אותו באמצעות הגדרות ברירת מחדל. הוא מתמקד בסנכרון הגדרות ממאגר Git לא מובנה.

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

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

לפני שמתחילים

לפני שמתקינים את סנכרון תצורות, צריך להכין את מאגר ה-Git ואת אשכולות ה-GKE.

יצירת מאגר Git ומתן גישה ל-Config Sync

כדי לסנכרן תצורות ממאגר Git לאשכולות, סנכרון תצורות צריך גישת קריאה בלבד למאגר. כדי לתת ל-סנכרון תצורות הרשאה לקרוא את ההגדרות, מבצעים את השלבים הבאים:

  • ליצור מאגר Git או לקבל גישה למאגר Git שמכיל את קובצי התצורה שרוצים ש-סנכרון תצורות יסנכרן עם האשכולות.

  • אם מאגר Git שלכם הוא ציבורי, לא נדרשת פעולה נוספת. לא נדרשות הרשאות נוספות ל-Config Sync.

  • אם מאגר ה-Git שלכם פרטי, פועלים לפי ההוראות במאמר הענקת גישה של סנכרון תצורות ל-Git.

יצירת אשכול

אם כבר הכנתם אשכול, למשל אם ביצעתם את השלבים להענקת גישה ל-סנכרון תצורות ל-Git, אפשר להמשיך להתקנת סנכרון תצורות.

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

console

לא נדרשת שום פעולה. האשכולות שלכם נרשמים אוטומטית ל-Fleet כשאתם מתקינים את סנכרון תצורות.

gcloud

  • כדי ליצור אשכול Autopilot שרשום לצי, מריצים את הפקודה הבאה:

    gcloud container clusters create-auto CLUSTER_NAME --enable-fleet
    
  • כדי ליצור אשכול Standard שרשום ל-Fleet, מריצים את הפקודה הבאה:

    gcloud container clusters create CLUSTER_NAME --enable-fleet \
        --workload-pool=PROJECT_ID.svc.id.goog
    

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

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

מידע נוסף על רישום אשכולות זמין במאמר רישום אשכול ל-Fleet.

התקנת Config Sync

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

console

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

התקנת Config Sync

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

    מעבר אל Config

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

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

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

  5. לוחצים על Install Config Sync (התקנת 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.

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