‫gcloud apply spec fields

בדף הזה מוסבר על השדות השונים שבהם אפשר להשתמש כדי להגדיר את סנכרון תצורות באמצעות הדגל --config בפקודה apply של Google Cloud CLI והדגל --fleet-default-member-config בפקודה enable במסלול ההפצה beta. לא מומלץ יותר להשתמש בסכימת השדות הזו ב alpha במסלול ההפצה של הפקודה enable , ועדיף להשתמש ב סכימת ה-API החדשה .

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

הגדרה משותפת לניהול הגדרות

מפתח תיאור
spec.version הגרסה של ניהול ההגדרות. אם אתם מגדירים את Config Management לאשכול, גרסת ברירת המחדל היא הגרסה הנוכחית של התקנת Config Management באשכול. אחרת, אם מדובר בהגדרה לכלל הצי או אם אין התקנה קיימת באשכול היעד, ברירת המחדל היא הגרסה האחרונה.

הגדרות של סנכרון תצורות

מפתח תיאור
spec.cluster שם האשכול שמשמש את סנכרון תצורות cluster-name-selector annotation או ClusterSelector, כדי להחיל הגדרות רק על קבוצת משנה של אשכולות. מגדירים את השדה הזה אם סנכרון תצורות משתמש בשם שונה משם החברות ב-Fleet של האשכול באמצעות אנוטציה של cluster-name-selector או ClusterSelector.
spec.upgrades ‫(Preview) הגדרת השדרוג של סנכרון תצורות, לא בשימוש אחרי סנכרון תצורות גרסה 1.21.0. הערך הנתמך היחיד הוא manual, ששווה ללא הגדרת השדה הזה.
spec.configSync.enabled אם true, מתקין ומנהל את סנכרון התצורות. אם false, מסירה כל סנכרון תצורות שנוהל בעבר ומתעלמת משאר ההגדרות של .spec.configSync. נדרש ל-CLI של gcloud בגרסה 429.0.0 ובגרסאות קודמות. אופציונלי ל-CLI של gcloud בגרסה 430.0.0 ואילך. ברירת מחדל: true
spec.configSync.sourceType סוג המקור שממנו סנכרון תצורות צריך לבצע סנכרון. מקבלים git או oci. ברירת מחדל: git.
spec.configSync.syncRepo כתובת ה-URL של מאגר Git או של תמונת OCI לשימוש כמקור אמין. אם אין לכם מאגר מוכן, אתם יכולים להשמיט את השדה הזה.
spec.configSync.syncBranch הענף במאגר Git שממנו יתבצע הסנכרון. המערכת מתעלמת מהשדה הזה אם הערך של .spec.configSync.sourceType הוא oci. השדה הזה הוא אופציונלי, וערך ברירת המחדל הוא master. מומלץ להשתמש בשדה spec.configSync.syncRev כדי לציין שם של ענף. אם משתמשים בשני השדות, השדה spec.configSync.syncRev מקבל קדימות על פני השדה spec.configSync.syncBranch.
spec.configSync.policyDir הנתיב במאגר Git או בתמונת OCI לספריית הבסיס שמכילה את ההגדרה שרוצים לסנכרן. ברירת מחדל: ספריית הבסיס של המאגר.
spec.configSync.syncWait התקופה בשניות בין סנכרונים עוקבים. ברירת מחדל: 15.
spec.configSync.syncRev העריכה ב-Git (תג או גיבוב) או ההסתעפות שממנה רוצים לסנכרן. המערכת מתעלמת מהשדה הזה אם הערך של .spec.configSync.sourceType הוא oci. השדה הזה הוא אופציונלי וערך ברירת המחדל שלו הוא HEAD. כשמשתמשים בגיבוב, הוא חייב להיות גיבוב מלא, ולא צורה מקוצרת.
spec.configSync.preventDrift אם true, מפעיל את תגובת ה-webhook של סנכרון תצורות כדי למנוע סחף. הערה: לא מומלץ להשתמש בתכונה הזו בסביבות ייצור, כי היא עלולה לגרום לתקורה משמעותית של זיכרון ולשגיאות של חוסר זיכרון (OOM). ברירת מחדל: false.
spec.configSync.stopSyncing אם true, מפסיק לסנכרן הגדרות עבור אשכול יחיד. ברירת המחדל היא false.
spec.configSync.secretType סוג הסוד שהוגדר לגישה אל .spec.configSync.syncRepo. אם בחרתם באפשרות git כסוג המקור, הערך חייב להיות ssh,‏ cookiefile,‏ gcenode,‏ gcpserviceaccount,‏ token או none. אם בחרתם באפשרות oci כסוג המקור, הערך חייב להיות gcenode,‏ gcpserviceaccount או none. האימות של השדה הזה הוא תלוי אותיות רישיות. חובה.
spec.configSync.gcpServiceAccountEmail Google Cloud חשבון השירות שמשמש להוספת הערות לחשבון השירות של Kubernetes של בקר RootSync או RepoSync. השדה הזה משמש רק אם הערך של spec.configSync.secretType הוא gcpserviceaccount.
spec.configSync.metricsGcpServiceAccountEmail הוצא משימוש: אם מופעל איחוד זהויות של עומסי עבודה ל-GKE, לא נדרש חשבון שירות לייצוא מדדי סנכרון תצורות. Google Cloud במקום זאת, כדאי להשתמש בחשבון שירות של Kubernetes.
spec.configSync.sourceFormat אם המדיניות מוגדרת לערך unstructured, מוגדר מאגר לא היררכי. ברירת מחדל: hierarchy.
spec.configSync.deploymentOverrides רשימה של הגדרות לביטול ברירת המחדל של משאבים בפריסות של סנכרון תצורות. השדה רלוונטי רק לפריסות של סנכרון תצורות עם קונטיינרים שהם לא root או namespace reconciler, כמו reconciler-manager. אם אתם חייבים לבטל את ההגדרה של כלי להשוואה בין קבצים של שורש או מרחב שמות, השתמשו במקום זאת ב שדות rootsync או reposync. זה שינוי אופציונלי.
spec.configSync.deploymentOverrides.name השם של פריסת סנכרון תצורות שרוצים לבטל. אי אפשר להשאיר את השדה הזה ריק.
spec.configSync.deploymentOverrides.namespace מרחב השמות של פריסת סנכרון תצורות שרוצים לבטל. אי אפשר להשאיר את השדה הזה ריק.
spec.configSync.deploymentOverrides.containers רשימה של הגדרות לביטול ברירת מחדל עבור בקשות ומגבלות של קונטיינרים של סנכרון תצורות. זה שינוי אופציונלי.
spec.configSync.deploymentOverrides.containers.name השם של קונטיינר סנכרון תצורות שרוצים לבטל את ההגדרה שלו. אי אפשר להשאיר את השדה הזה ריק.
spec.configSync.deploymentOverrides.containers.cpuRequest בקשת ה-CPU של הקונטיינר. שימוש ב יחידות משאבי CPU ב-Kubernetes. זה שינוי אופציונלי.
spec.configSync.deploymentOverrides.containers.cpuLimit המגבלה על יחידת העיבוד המרכזית (CPU) של המאגר. שימוש ב יחידות משאבי CPU ב-Kubernetes. זה שינוי אופציונלי.
spec.configSync.deploymentOverrides.containers.memoryRequest בקשת הזיכרון עבור הקונטיינר. שימוש ב יחידות משאבי זיכרון ב-Kubernetes. זה שינוי אופציונלי.
spec.configSync.deploymentOverrides.containers.memoryLimit מגבלת הזיכרון של המאגר. שימוש ב יחידות משאבי זיכרון ב-Kubernetes. זה שינוי אופציונלי.

הגדרת שרת Proxy למאגר Git

אם מדיניות האבטחה של הארגון מחייבת ניתוב תעבורת נתונים דרך שרת proxy מסוג HTTPS, אפשר להשתמש ב-URI של ה-proxy כדי להגדיר את סנכרון תצורות לתקשורת עם מארח Git. יש תמיכה ב-Proxy רק כשמשתמשים בסוג הרשאה cookiefile, none או token.

מפתח תיאור
spec.configSync.httpsProxy הגדרת משתנה סביבה HTTPS_PROXY שמשמש לגישה למאגר Git. לדוגמה: https://proxy.internal.business.co:443.
שרת ה-proxy של HTTPS מקבל רק כתובות URL מסוג https או כתובות URL ללא קישוט. כתובות URL שמכילות http:// נדחות.
אם משתמשים בכתובת URL פשוטה, צריך לוודא שהתקשורת בין שרת ה-proxy לבין מארח Git מאובטחת.

דוגמה למפרט של gcloud apply

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    sourceFormat: unstructured
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root

דוגמה למפרט של gcloud apply עם שינויים בברירת המחדל של משאב הפריסה

אם רוצים להתאים אישית את הבקשות והמגבלות של משאבי סנכרון תצורות, מוסיפים את השדה deploymentOverrides במפרט ההחלה. לדוגמה, קובץ ה-YAML הבא מבטל את המגבלות של המעבד והזיכרון עבור קונטיינר reconciler-manager:

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    deploymentOverrides:
    - name: reconciler-manager
      namespace: config-management-system
      containers:
      - name: reconciler-manager
        cpuRequest: 50m
        cpuLimit: 100m
        memoryRequest: 256Mi
        memoryLimit: 512Mi