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

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

בדף הזה מוסבר:

  • איך מגדירים את הגדרות ברירת המחדל האלה ברמת הצי באמצעות Google Cloud CLI,‏ Google Cloud מסוף Google Cloud או Terraform.
  • איך מחילים הגדרות ברירת מחדל על אשכולות קיימים.
  • איך משביתים את הגדרות ברירת המחדל של הצי אם צריך.

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

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

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

הענקת גישה ל-Config Sync למקור המידע האמין

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

בדיקת הדרישות לאשכול

לפני שיוצרים אשכול, כדאי לעיין בדרישות לאשכול.

מגבלות

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

הגדרת ברירות מחדל ברמת הצי למאגר Git

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

gcloud

  1. יוצרים קובץ מניפסט בשם apply-spec.yaml עם התוכן הבא. אם כבר יצרתם קובץ מניפסט, אתם לא צריכים ליצור קובץ חדש.

    applySpecVersion: 1
    spec:
      configSync:
        enabled: true
        sourceType: git
        sourceFormat: unstructured
        syncRepo: REPO
        syncRev: REVISION
        secretType: SECRET_TYPE
        # only required if gcpserviceaccount is the secretType
        # gcpServiceAccountEmail: EMAIL
        metricsGcpServiceAccountEmail: METRICS_EMAIL
        preventDrift: false
    

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

    • REPO: כתובת ה-URL של מאגר Git, לדוגמה https://github.com/GoogleCloudPlatform/anthos-config-management-samples. משתמשים בפורמט HTTPS לכתובת ה-URL, או בפורמט SSH אם ssh הוא sourceType.
    • REVISION: גרסת ה-Git (תג או גיבוב) או שם ההסתעפות שממנה מתבצע הסנכרון. כשמשתמשים בגיבוב, הוא חייב להיות גיבוב מלא ולא קיצור.
    • SECRET_TYPE: שיטת האימות שמשמשת להתחברות למאגר Git. למאגרים ציבוריים, צריך להשתמש ב-none. למאגרי קוד פרטיים, אפשר להשתמש באחת מהאפשרויות הבאות:

      • ssh: שימוש בזוג מפתחות SSH.
      • cookiefile: צריך להשתמש ב-cookiefile.
      • token: שימוש באסימון.
      • gcpserviceaccount: שימוש בחשבון שירות של Google אם מופעל איחוד זהויות של עומסי עבודה ל-GKE. ‫Secure Source Manager או Cloud Source Repositories בלבד.
      • gcenode: שימוש בחשבון שירות של Google אם לא מופעל איחוד זהויות של עומסי עבודה ל-GKE. ‫Secure Source Manager או Cloud Source Repositories בלבד.
      • githubapp: שימוש באפליקציית GitHub לאימות למאגר GitHub.

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

    • EMAIL: אם gcpserviceaccount הוא secretType, מבטלים את ההערה בשדה הזה ומוסיפים את כתובת האימייל של חשבון השירות של Google, לדוגמה config-sync@PROJECT_ID.iam.gserviceaccount.com.

    • METRICS_EMAIL: כתובת האימייל של Google Cloud חשבון השירות (GSA) שמשמש לייצוא מדדי סנכרון תצורות אל Cloud Monitoring. מידע נוסף על הגדרת ייצוא מדדים זמין במאמר מעקב אחרי סנכרון תצורות.

    רשימה מלאה של השדות שאפשר להוסיף למניפסט apply-spec מופיעה במאמר שדות המפרט של gcloud apply.

  2. מריצים את הפקודה הבאה כדי להחיל את קובץ apply-spec עם הגדרות ברירת המחדל של הצי:

    gcloud beta container fleet config-management enable \
        --fleet-default-member-config=apply-spec.yaml
    

המסוף

  1. נכנסים לדף Feature Manager במסוף Google Cloud .

    מעבר אל Feature Manager

  2. בחלונית סנכרון תצורות, לוחצים על Configure.

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

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

    1. בוחרים את הגרסה של סנכרון תצורות שרוצים להשתמש בה.
    2. לוחצים על שמירת השינויים.
  5. לוחצים על Configure (הגדרה).

  6. בתיבת הדו-שיח לאישור הגדרת הגדרות צי, לוחצים על אישור. אם לא הפעלתם בעבר את סנכרון תצורות, לחיצה על Confirm תפעיל גם את anthosconfigmanagement.googleapis.com API.

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

Terraform

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

resource "google_gke_hub_feature" "default" {
  name     = "configmanagement"
  location = "global"

  fleet_default_member_config {
    configmanagement {
      config_sync {
        # The field `enabled` was introduced in Terraform version 5.41.0, and
        # needs to be set to `true` explicitly to install Config Sync.
        enabled = true
        git {
          sync_repo   = "REPO"
          sync_branch = "BRANCH"
          policy_dir  = "DIRECTORY"
          secret_type = "SECRET"
        }
      }
    }
  }
}

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

  • REPO: כתובת ה-URL למאגר Git שמכיל את קובצי ההגדרות.
  • BRANCH: הענף במאגר, לדוגמה main.
  • DIRECTORY: הנתיב במאגר Git שמייצג את הרמה העליונה של המאגר שרוצים לסנכרן.
  • SECRET: סוג האימות הסודי.

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

הגדרת ברירות מחדל ברמת הצי לתמונת OCI

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

gcloud

  1. יוצרים קובץ מניפסט בשם apply-spec.yaml עם התוכן הבא. אם כבר יצרתם קובץ מניפסט, אתם לא צריכים ליצור קובץ חדש.

    applySpecVersion: 1
    spec:
      configSync:
        enabled: true
        sourceType: oci
        sourceFormat: unstructured
        syncRepo: REPO
        secretType: SECRET_TYPE
        # only required if gcpserviceaccount is the secretType
        # gcpServiceAccountEmail: EMAIL
        metricsGcpServiceAccountEmail: METRICS_EMAIL
        preventDrift: false
    

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

    • REPO: כתובת ה-URL של תמונת ה-OCI בפורמט LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME. כברירת מחדל, התמונה נמשכת מהתג latest, אבל אפשר למשוך תמונות גם באמצעות התגים TAG או DIGEST. מציינים TAG או DIGEST בPACKAGE_NAME:

      • כדי למשוך לפי TAG: LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME:TAG
      • כדי למשוך לפי DIGEST: LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME@sha256:DIGEST
    • SECRET_TYPE: שיטת האימות שבה נעשה שימוש כדי להתחבר לתמונה של OCI. בתמונות ציבוריות, משתמשים בערך none. לתמונות פרטיות, אפשר להשתמש באחת מהאפשרויות הבאות:

      • gcpserviceaccount: Secure Source Manager או Cloud Source Repositories בלבד. אם מפעילים את איחוד שירותי אימות הזהות של עומסי עבודה ל-GKE, צריך להשתמש בחשבון שירות של Google.
      • gcenode: Secure Source Manager או Cloud Source Repositories בלבד. אם איחוד שירותי אימות הזהות של עומסי עבודה ל-GKE לא מופעל, צריך להשתמש בחשבון שירות של Google.

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

    • EMAIL: אם gcpserviceaccount הוא secretType, מבטלים את ההערה בשדה הזה ומוסיפים את כתובת האימייל של חשבון השירות של Google, לדוגמה config-sync@PROJECT_ID.iam.gserviceaccount.com.

    • METRICS_EMAIL: כתובת האימייל של Google Cloud חשבון השירות (GSA) שמשמש לייצוא מדדי סנכרון תצורות אל Cloud Monitoring. מידע נוסף על הגדרת ייצוא מדדים זמין במאמר מעקב אחרי סנכרון תצורות.

    רשימה מלאה של השדות שאפשר להוסיף למניפסט apply-spec מופיעה במאמר שדות המפרט של gcloud apply.

  2. מריצים את הפקודה הבאה כדי להחיל את קובץ apply-spec עם הגדרות ברירת המחדל של הצי:

    gcloud beta container fleet config-management enable \
        --fleet-default-member-config=apply-spec.yaml
    

המסוף

  1. נכנסים לדף Feature Manager במסוף Google Cloud .

    מעבר אל Feature Manager

  2. בחלונית סנכרון תצורות, לוחצים על Configure.

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

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

    1. בוחרים את הגרסה של סנכרון תצורות שרוצים להשתמש בה.
    2. לוחצים על שמירת השינויים.
  5. לוחצים על Configure (הגדרה).

  6. בתיבת הדו-שיח לאישור הגדרת הגדרות צי, לוחצים על אישור. אם לא הפעלתם בעבר את סנכרון תצורות, לחיצה על Confirm תפעיל גם את anthosconfigmanagement.googleapis.com API.

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

Terraform

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

resource "google_gke_hub_feature" "configmanagement_feature_member" {
  name     = "configmanagement"
  location = "global"

  fleet_default_member_config {
    configmanagement {
      config_sync {
        # The field `enabled` was introduced in Terraform version 5.41.0, and
        # needs to be set to `true` explicitly to install Config Sync.
        enabled = true
        oci {
          sync_repo   = "REPO"
          policy_dir  = "DIRECTORY"
          secret_type = "SECRET"
        }
      }
    }
  }
}

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

  • REPO: כתובת ה-URL למאגר תמונות OCI שמכיל את קובצי ההגדרות.
  • DIRECTORY: הנתיב המוחלט של הספרייה שמכילה את המשאבים שרוצים לסנכרן. כדי להשתמש בספריית הבסיס, צריך להשאיר את השדה הזה ריק.
  • SECRET: סוג האימות הסודי.

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

עדכון של אשכולות קיימים כדי שיקבלו את ברירות המחדל של הצי

כדי לעדכן קלאסטרים קיימים כך שישתמשו בהגדרות ברירת המחדל של סנכרון תצורות, אפשר להשתמש במסוף Google Cloud או ב-CLI של gcloud כדי לסנכרן קלאסטרים נבחרים של Fleet עם הגדרות ברירת המחדל של Fleet. אפשרות אחרת היא להגדיר ידנית כל אשכול עם אותן הגדרות באמצעות Terraform, ולפעול לפי ההוראות להתקנת סנכרון תצורות בקטע הקודם. אם השתמשתם בעבר ב-Terraform כדי לציין את הגדרות ברירת המחדל של צי, אתם יכולים להשתמש באותו בלוק configmanagement ו-config_sync שבו השתמשתם כדי להגדיר את ברירות המחדל, כדי להגדיר את האשכולות שבחרתם.

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

gcloud

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

    gcloud beta container fleet config-management apply \
        --origin=FLEET \
        --membership=MEMBERSHIP_NAME
    

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

  2. מוודאים שהגדרות המינוי מסונכרנות עם ברירת המחדל של הצי:

    gcloud beta container fleet config-management status
    

    הפלט של הפקודה הזו צריך להיות Yes בשדה הסטטוס Synced_to_Fleet_Default של החברות שסונכרנה.

console

  1. עוברים אל המרכז לניהול תכונות:

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

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

  3. לוחצים על סנכרון עם הגדרות המאגר.

השבתת ברירות המחדל של הצי

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

  1. כדי להשבית את הגדרות ברירת המחדל של הצי, מריצים את הפקודה הבאה:

    gcloud beta container fleet config-management disable --fleet-default-member-config
    
  2. מוודאים שהגדרת ברירת המחדל של הצי מושבתת:

    gcloud beta container fleet config-management status
    

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