אתם יכולים להתקין את סנכרון תצורות כברירת מחדל לצי, כך שכל האשכולות החדשים שנוספים לצי יקבלו באופן אוטומטי את סנכרון תצורות עם ההגדרות שאתם רוצים. הגדרת ברירות מחדל ברמת הצי עוזרת לוודא שכל אשכול GKE חדש ב-Google Cloud שנרשם לצי מקבל בירושה הגדרה סטנדרטית של סנכרון תצורות, כולל הגרסה והחיבורים למקור האמת. התהליך הזה מפשט את הקצאת האשכולות ועוזר לשמור על בסיס אחיד לניהול ההגדרות.
בדף הזה מוסבר:
- איך מגדירים את הגדרות ברירת המחדל האלה ברמת הצי באמצעות Google Cloud CLI, Google Cloud מסוף Google Cloud או Terraform.
- איך מחילים הגדרות ברירת מחדל על אשכולות קיימים.
- איך משביתים את הגדרות ברירת המחדל של הצי אם צריך.
מידע כללי על הגדרות ברירת מחדל של צי זמין במאמר ניהול תכונות ברמת הצי.
לפני שמתחילים
לפני שמתקינים את סנכרון תצורות, צריך להכין מקור אמת ואשכול מתאים.
הענקת גישה ל-Config Sync למקור המידע האמין
כדי לסנכרן תצורות ממקור מידע אמין לאשכולות, סנכרון תצורות צריך הרשאת קריאה בלבד למאגר. כדי לתת ל-סנכרון תצורות הרשאה לקרוא את ההגדרות, מבצעים את השלבים הבאים:
ליצור מקור מידע אמין או לקבל גישה למקור מידע אמין שמכיל את קובצי התצורה שרוצים ש-סנכרון תצורות יסנכרן עם האשכולות. מידע נוסף זמין במקורות המידע הבאים:
- הוספת הגדרות למקור האמת: מידע תיאורטי על הגדרות.
- שיטות מומלצות ל-GitOps: טיפים ושיטות מומלצות כלליות לארגון ולניהול של המאגר.
- שימוש במאגר לא מובנה: המלצות לשימוש במאגר לא מובנה ולארגון שלו.
אם מקור האמת שלכם הוא ציבורי, לא צריך לבצע פעולות נוספות. לא נדרשות הרשאות נוספות ל-Config Sync.
אם מקור האמת שלכם הוא פרטי, צריך לפעול לפי ההוראות באחד מהדפים הבאים:
בדיקת הדרישות לאשכול
לפני שיוצרים אשכול, כדאי לעיין בדרישות לאשכול.
מגבלות
- אי אפשר להגדיר את Helm כסוג מקור כברירת מחדל של צי.
- במסוף Google Cloud אין תמיכה בחיבור למקור אמת כהגדרת ברירת מחדל. במקום זאת, צריך להשתמש בתכונה פריסת חבילות אחרי שיוצרים אשכול.
הגדרת ברירות מחדל ברמת הצי למאגר Git
כדי להגדיר ערכי ברירת מחדל ברמת הצי ל-סנכרון תצורות, מבצעים את השלבים הבאים:
gcloud
יוצרים קובץ מניפסט בשם
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.-
מריצים את הפקודה הבאה כדי להחיל את קובץ
apply-specעם הגדרות ברירת המחדל של הצי:gcloud beta container fleet config-management enable \ --fleet-default-member-config=apply-spec.yaml
המסוף
נכנסים לדף Feature Manager במסוף Google Cloud .
בחלונית סנכרון תצורות, לוחצים על Configure.
בודקים את ההגדרות ברמת הצי. כל האשכולות החדשים שיוצרים בצי מקבלים בירושה את ההגדרות האלה.
אופציונלי: כדי לשנות את הגדרות ברירת המחדל, לוחצים על התאמה אישית של הגדרות הצי. בתיבת הדו-שיח שמופיעה, מבצעים את הפעולות הבאות:
- בוחרים את הגרסה של סנכרון תצורות שרוצים להשתמש בה.
- לוחצים על שמירת השינויים.
לוחצים על Configure (הגדרה).
בתיבת הדו-שיח לאישור הגדרת הגדרות צי, לוחצים על אישור. אם לא הפעלתם בעבר את סנכרון תצורות, לחיצה על Confirm תפעיל גם את
anthosconfigmanagement.googleapis.comAPI.
למרות שאי אפשר להגדיר את ההגדרות של מקור האמת כברירת מחדל לכל האוסף במסוף Google Cloud , אפשר לבחור כמה אשכולות כשמשתמשים בתכונה פריסת חבילה.
Terraform
כדי להפעיל את סנכרון תצורות כברירת מחדל בצי, נעזרים בדוגמה הבאה:
מחליפים את מה שכתוב בשדות הבאים:
-
REPO: כתובת ה-URL למאגר Git שמכיל את קובצי ההגדרות. -
BRANCH: הענף במאגר, לדוגמהmain. -
DIRECTORY: הנתיב במאגר Git שמייצג את הרמה העליונה של המאגר שרוצים לסנכרן. SECRET: סוג האימות הסודי.
מידע נוסף על שימוש ב-Terraform זמין במאמר הקצאת משאבים של סנכרון תצורות באמצעות Terraform.
הגדרת ברירות מחדל ברמת הצי לתמונת OCI
כדי להגדיר ערכי ברירת מחדל ברמת הצי ל-סנכרון תצורות, מבצעים את השלבים הבאים:
gcloud
יוצרים קובץ מניפסט בשם
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.מריצים את הפקודה הבאה כדי להחיל את קובץ
apply-specעם הגדרות ברירת המחדל של הצי:gcloud beta container fleet config-management enable \ --fleet-default-member-config=apply-spec.yaml
המסוף
נכנסים לדף Feature Manager במסוף Google Cloud .
בחלונית סנכרון תצורות, לוחצים על Configure.
בודקים את ההגדרות ברמת הצי. כל האשכולות החדשים שתיצרו בצי יקבלו את ההגדרות האלה בירושה.
אופציונלי: כדי לשנות את הגדרות ברירת המחדל, לוחצים על התאמה אישית של הגדרות הצי. בתיבת הדו-שיח שמופיעה, מבצעים את הפעולות הבאות:
- בוחרים את הגרסה של סנכרון תצורות שרוצים להשתמש בה.
- לוחצים על שמירת השינויים.
לוחצים על Configure (הגדרה).
בתיבת הדו-שיח לאישור הגדרת הגדרות צי, לוחצים על אישור. אם לא הפעלתם בעבר את סנכרון תצורות, לחיצה על Confirm תפעיל גם את
anthosconfigmanagement.googleapis.comAPI.
למרות שאי אפשר להגדיר את ההגדרות של מקור האמת כברירת מחדל לכל האוסף במסוף Google Cloud , אפשר לבחור כמה אשכולות כשמשתמשים בתכונה פריסת חבילה.
Terraform
כדי להפעיל את סנכרון תצורות כברירת מחדל בצי, נעזרים בדוגמה הבאה:
מחליפים את מה שכתוב בשדות הבאים:
-
REPO: כתובת ה-URL למאגר תמונות OCI שמכיל את קובצי ההגדרות. -
DIRECTORY: הנתיב המוחלט של הספרייה שמכילה את המשאבים שרוצים לסנכרן. כדי להשתמש בספריית הבסיס, צריך להשאיר את השדה הזה ריק. SECRET: סוג האימות הסודי.
מידע נוסף על שימוש ב-Terraform זמין במאמר הקצאת משאבים של סנכרון תצורות באמצעות Terraform.
עדכון של אשכולות קיימים כדי שיקבלו את ברירות המחדל של הצי
כדי לעדכן קלאסטרים קיימים כך שישתמשו בהגדרות ברירת המחדל של סנכרון תצורות, אפשר להשתמש במסוף Google Cloud או ב-CLI של gcloud כדי לסנכרן קלאסטרים נבחרים של Fleet עם הגדרות ברירת המחדל של Fleet. אפשרות אחרת היא להגדיר ידנית כל אשכול עם אותן הגדרות באמצעות Terraform, ולפעול לפי ההוראות להתקנת סנכרון תצורות בקטע הקודם. אם השתמשתם בעבר ב-Terraform כדי לציין את הגדרות ברירת המחדל של צי, אתם יכולים להשתמש באותו בלוק configmanagement ו-config_sync שבו השתמשתם כדי להגדיר את ברירות המחדל, כדי להגדיר את האשכולות שבחרתם.
כדי לסנכרן את הגדרות ברירת המחדל של סנכרון תצורות בכל הצי, פועלים לפי השלבים הבאים:
gcloud
סנכרון של מינוי קיים עם הגדרת ברירת המחדל של המאגר:
gcloud beta container fleet config-management apply \ --origin=FLEET \ --membership=MEMBERSHIP_NAMEמחליפים את
MEMBERSHIP_NAMEבשם החברות בצי של האשכול שרוצים לסנכרן עם הגדרת ברירת המחדל של הצי.מוודאים שהגדרות המינוי מסונכרנות עם ברירת המחדל של הצי:
gcloud beta container fleet config-management statusהפלט של הפקודה הזו צריך להיות
Yesבשדה הסטטוסSynced_to_Fleet_Defaultשל החברות שסונכרנה.
console
עוברים אל המרכז לניהול תכונות:
בטבלת האשכולות, בוחרים את האשכולות שרוצים לסנכרן עם הגדרות הצי.
לוחצים על סנכרון עם הגדרות המאגר.
השבתת ברירות המחדל של הצי
כדי להשבית את הגדרות ברירת המחדל של סנכרון תצורות בכל המכשירים, פועלים לפי השלבים הבאים:
כדי להשבית את הגדרות ברירת המחדל של הצי, מריצים את הפקודה הבאה:
gcloud beta container fleet config-management disable --fleet-default-member-configמוודאים שהגדרת ברירת המחדל של הצי מושבתת:
gcloud beta container fleet config-management status
המאמרים הבאים
- איך משדרגים את Config Sync
- איך מגדירים סנכרון מכמה מאגרי מידע
- משתמשים בפקודה
nomos. - סקירת הרשאות ברירת המחדל של סנכרון תצורות