‫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 (תצוגה מקדימה) הגדרת השדרוג של סנכרון תצורות. ערך ברירת המחדל והערך הנתמך היחיד הוא 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 של Config Sync admission כדי למנוע סטיות על ידי דחיית שינויים סותרים שנדחפים לאשכולות פעילים. ברירת מחדל: 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 רשימה של הגדרות לביטול ברירת המחדל של משאבים בפריסות של סנכרון תצורות. השדה רלוונטי רק לפריסות של סנכרון תצורות עם קונטיינרים שהם לא reconciler של root או של מרחב שמות, כמו 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