הפניה לשדות של הגדרת האשכול
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה מתוארים השדות שנתמכים בקובץ התצורה של האשכול בתוכנת Google Distributed Cloud ל-Bare Metal בלבד. בטבלה הבאה מצוין אם השדה הוא שדה חובה. בטבלה גם מוצג אילו שדות ניתנים לשינוי, כלומר אילו שדות אפשר לשנות אחרי שיוצרים אשכול. כפי שצוין בטבלה, אפשר לשנות חלק מהשדות הניתנים לשינוי רק במהלך שדרוג האשכול.
יצירת תבנית לקובץ התצורה של האשכול
אפשר ליצור קובץ תצורה של אשכול באמצעות הפקודה bmctl create config. למרות שלחלק מהשדות יש ערכי ברירת מחדל ואחרים, כמו metadata.name, יכולים להתמלא באופן אוטומטי, קובץ התצורה הזה בפורמט YAML הוא תבנית להזנת מידע על האשכול.
כדי ליצור קובץ תצורה חדש של אשכול, משתמשים בפקודה הבאה בתיקייה /baremetal:
bmctlcreateconfig-cCLUSTER_NAME
מחליפים את CLUSTER_NAME בשם של האשכול שרוצים ליצור. מידע נוסף על bmctl זמין במאמר הכלי bmctl.
במאמר דוגמה לקובץ תצורה של אשכול תוכלו לראות דוגמה לקובץ שנוצר.
מילוי קובץ התצורה
לפני שיוצרים או משדרגים את האשכול, מזינים בקובץ התצורה את ערכי השדות כפי שמתואר בטבלת ההפניות לשדות הבאה.
שדות התצורה של האשכול
שם השדה
סוג המשאב
חובה?
ניתן לשינוי?
anthosBareMetalVersion
חובה. מחרוזת. גרסת האשכול. הערך הזה מוגדר ליצירת אשכולות ולשדרוגי אשכולות.
יכולת שינוי: אי אפשר לשנות את הערך הזה באשכולות קיימים.
אפשר לעדכן את הגרסה רק באמצעות תהליך השדרוג של האשכול.
משאב אשכול
חובה
ניתן לשינוי
authentication
הקטע הזה מכיל את ההגדרות שנדרשות כדי להשתמש ב-OpenID Connect (OIDC).
באמצעות OIDC אתם יכולים להשתמש בספק הזהויות הקיים שלכם כדי לנהל את אימות המשתמשים והקבוצות באשכולות.
משאב אשכול
—
—
authentication.oidc.certificateAuthorityData
זה שינוי אופציונלי. אישור בקידוד PEM בקידוד base64 לספק ה-OIDC. כדי ליצור את המחרוזת, מקודדים את האישור, כולל הכותרות, ל-base64. כוללים את המחרוזת שנוצרה ב-certificateAuthorityData כשורה אחת.
זה שינוי אופציונלי. מחרוזת. המזהה של אפליקציית הלקוח ששולחת בקשות אימות לספק ה-OpenID.
משאב אשכול
אופציונלי
לא ניתן לשינוי
authentication.oidc.clientSecret
זה שינוי אופציונלי. מחרוזת. סוד משותף בין אפליקציית הלקוח של OIDC לבין ספק ה-OIDC.
משאב אשכול
אופציונלי
לא ניתן לשינוי
authentication.oidc.deployCloudConsoleProxy
זה שינוי אופציונלי. ערך בוליאני (true|false). מציין אם שרת proxy הפוך נפרס באשכול כדי לחבר את מסוף Google Cloud לספק זהויות מקומי שלא נגיש באופן ציבורי באינטרנט. אם אי אפשר להגיע לספק הזהויות דרך האינטרנט הציבורי, צריך להגדיר את השדה הזה לערך true כדי לבצע אימות באמצעות מסוף Google Cloud . כברירת מחדל, הערך הזה מוגדר ל-false.
משאב אשכול
אופציונלי
לא ניתן לשינוי
authentication.oidc.extraParams
זה שינוי אופציונלי. רשימה מופרדת בפסיקים. פרמטרים נוספים של מפתח/ערך שיישלחו לספק OpenID.
משאב אשכול
אופציונלי
לא ניתן לשינוי
authentication.oidc.groupPrefix
זה שינוי אופציונלי. מחרוזת. קידומת שנוספת לתביעות של קבוצות כדי למנוע התנגשויות עם שמות קיימים. לדוגמה, בהינתן קבוצה dev וקידומת oidc:, oidc:dev.
משאב אשכול
אופציונלי
לא ניתן לשינוי
authentication.oidc.group
זה שינוי אופציונלי. מחרוזת.
JWT
שהספק משתמש בה כדי להחזיר את קבוצות האבטחה.
משאב אשכול
אופציונלי
לא ניתן לשינוי
authentication.oidc.issuerURL
זה שינוי אופציונלי. מחרוזת של כתובת URL. כתובת ה-URL שאליה נשלחות בקשות ההרשאה ל-OpenID, למשל https://example.com/adfs. שרת ה-API של Kubernetes משתמש בכתובת ה-URL הזו כדי לגלות מפתחות ציבוריים לאימות אסימונים. כתובת ה-URL חייבת להשתמש ב-HTTPS.
משאב אשכול
אופציונלי
לא ניתן לשינוי
authentication.oidc.kubectlRedirectURL
זה שינוי אופציונלי. מחרוזת של כתובת URL. כתובת ה-URL להפניה אוטומטית שמשמשת את kubectl
להרשאה. כשמפעילים את OIDC, צריך לציין ערך של kubectlRedirectURL.
משאב אשכול
אופציונלי
לא ניתן לשינוי
authentication.oidc.proxy
זה שינוי אופציונלי. מחרוזת של כתובת URL. שרת ה-proxy שבו האשכול ישתמש כדי להתחבר לספק ה-OIDC, אם רלוונטי. הערך צריך לכלול שם מארח או כתובת IP, ואפשר גם להוסיף יציאה, שם משתמש וסיסמה. לדוגמה: http://user:password@10.10.10.10:8888.
משאב אשכול
אופציונלי
לא ניתן לשינוי
authentication.oidc.scopes
זה שינוי אופציונלי. רשימה מופרדת בפסיקים. היקפי הרשאות נוספים לשליחה אל ספק OpenID. ב-Microsoft Azure וב-Okta נדרש ההיקף offline_access.
משאב אשכול
אופציונלי
לא ניתן לשינוי
authentication.oidc.usernamePrefix
זה שינוי אופציונלי. מחרוזת. התחילית שנוספת לתביעות של שמות משתמשים.
משאב אשכול
אופציונלי
לא ניתן לשינוי
authentication.oidc.username
זה שינוי אופציונלי. מחרוזת.
הצהרת JWT שבה משתמשים כשם המשתמש. אם לא מציינים ערך, ברירת המחדל היא sub.
משאב אשכול
אופציונלי
לא ניתן לשינוי
bypassPreflightCheck
זה שינוי אופציונלי. ערך בוליאני (true|false). כשהערך מוגדר כ-true, המערכת מתעלמת מהבדיקות המקדימות הפנימיות כשהיא מחילה משאבים על אשכולות קיימים. ברירת המחדל היא false.
יכולת שינוי: אפשר לשנות את הערך הזה באשכולות קיימים באמצעות הפקודה bmctl update.
משאב אשכול
אופציונלי
ניתן לשינוי
clusterNetwork
הקטע הזה מכיל את הגדרות הרשת של האשכול.
משאב אשכול
חובה
ניתן לשינוי
clusterNetwork.advancedNetworking
בוליאני. כדי להפעיל תכונות מתקדמות של רשתות, כמו איזון עומסים מקובץ עם BGP או שער NAT לתעבורת נתונים יוצאת, צריך להגדיר את השדה הזה לערך true. שתי התכונות האלה משתמשות ב-Network Gateway ל-GDC.
Network Gateway for GDC הוא הרכיב העיקרי שמאפשר להשתמש בתכונות מתקדמות של רשתות ב-Google Distributed Cloud וב-Google Kubernetes Engine (GKE). אחד היתרונות העיקריים של Network Gateway ל-GDC הוא היכולת להקצות באופן דינמי כתובות IP צפות מתוך קבוצת כתובות שאתם מציינים במשאב בהתאמה אישית של NetworkGatewayGroup.
בוליאני. מגדירים את השדה הזה לערך false כדי להשבית את יכולות ה-Ingress שכלולות בתוכנת Google Distributed Cloud. יכולות ה-Ingress שכלולות באשכול תומכות רק ב-Ingress. אם אתם משלבים את Istio או את Cloud Service Mesh כדי ליהנות מהיתרונות הנוספים של רשת שירותים פונקציונלית מלאה, מומלץ להשבית את Ingress בחבילה. השדה הזה מוגדר כ-true כברירת מחדל. השדה הזה לא קיים בקובץ התצורה שנוצר לאשכול. אפשר להשבית את Ingress בחבילה רק באשכולות מגרסה 1.13.0 ואילך.
בוליאני. מגדירים את השדה הזה לערך true כדי להפעיל את מודל הרשת של האשכול במצב שטוח. במצב שטוח, לכל pod יש כתובת IP ייחודית משלו. פודים יכולים לתקשר זה עם זה ישירות, בלי צורך בשער מתווך או בתרגום כתובת רשת (NAT).
כברירת המחדל, flatIPv4 מוגדר כ-false. אפשר להפעיל את המצב השטוח רק כשיוצרים את האשכול. אחרי שמפעילים את המצב השטוח באשכול, אי אפשר להשבית אותו.
משאב אשכול
אופציונלי
לא ניתן לשינוי
clusterNetwork.forwardMode
זה שינוי אופציונלי. מחרוזת. מציין את מצב הרשת לאיזון עומסים ב-Dataplane V2. תרגום כתובת רשת של מקור (SNAT) הוא מצב ברירת המחדל של הרשת. מצב Direct Server Return (DSR) פותר בעיות שקשורות לאיזון עומסים של SNAT. במצב DSR (forwardMode: dsr), הצומת של מאזן העומסים משתמש באפשרויות IP כדי לשמור את כתובת המקור של הלקוח.
אפשר להגדיר את מצב הרשת לאיזון עומסים ב-Dataplane V2 רק בזמן יצירת האשכול.
חובה. טווח של כתובות IPv4 בפורמט בלוק CIDR. Pods מציינים את טווחי כתובות ה-IP שמהם מוקצות רשתות Pod.
טווח CIDR של Pod: ערך מסכה של /18, שתואם לגודל של 14 ביטים (16,384 כתובות IP).
טווח CIDR של Pod מקסימלי: ערך מסכה של /8, שתואם לגודל של 24 ביטים (16,777,216 כתובות IP).
לדוגמה:
pods:cidrBlocks:-192.168.0.0/16
משאב אשכול
חובה
לא ניתן לשינוי
clusterNetwork.sriovOperator
זה שינוי אופציונלי. בוליאני. כדי להפעיל רשת SR-IOV באשכול, מגדירים את השדה הזה כ-true.
מידע נוסף על הגדרה ושימוש ברשת SR-IOV זמין במאמר הגדרת רשת SR-IOV.
משאב אשכול
אופציונלי
ניתן לשינוי
clusterNetwork.services.cidrBlocks
חובה. טווח של כתובות IPv4 בפורמט בלוק CIDR. מציינים את טווח כתובות ה-IP שמהן מוקצות כתובות ה-IP הווירטואליות (VIP) של השירות. הטווחים לא יכולים לחפוף לרשתות משנה שאפשר להגיע אליהן מהרשת שלכם. למידע נוסף על הקצאת כתובות לרשתות אינטרנט פרטיות, ראו RFC 1918.
החל מגרסה 1.15.0 של תוכנת Google Distributed Cloud לשרת פיזי, אפשר לשנות את השדה הזה. במידת הצורך, אפשר להגדיל את מספר כתובות ה-IP שמוקצות לשירותים אחרי שיוצרים אשכול. מידע נוסף זמין במאמר הגדלת טווח הרשת של השירות.
אפשר רק להגדיל את הטווח של ה-CIDR של שירות IPv4. אי אפשר לצמצם את טווח הרשת, כלומר אי אפשר להגדיל את המסכה (הערך שאחרי "/").
טווח CIDR מינימלי לשירות: ערך מסכה של /24, שתואם לגודל של 8 ביטים (256 כתובות).
טווח ה-CIDR המקסימלי של השירות: ערך מסכה של /12, שתואם לגודל של 20 ביטים (1,048,576 כתובות IP).
לדוגמה:
services:cidrBlocks:-10.96.0.0/12
משאב אשכול
חובה
ניתן לשינוי
clusterOperations
בקטע הזה מופיע מידע על Cloud Logging ו-Cloud Monitoring.
משאב אשכול
חובה
ניתן לשינוי
clusterOperations.enableApplication
השדה הזה כבר לא בשימוש ואין לו השפעה. רישום ביומן ומעקב אחרי אפליקציות מופעלים במשאב המותאם אישית של Google Cloud Observability. למידע נוסף על הפעלת רישום ביומן ומעקב אחרי אפליקציות, קראו את המאמר הפעלת רישום ביומן ומעקב אחרי אפליקציות.
משאב אשכול
No-op
ניתן לשינוי
clusterOperations.disableCloudAuditLogging
בוליאני. יומני הביקורת של Cloud שימושיים לחקירת בקשות API חשודות ולאיסוף נתונים סטטיסטיים. יומני הביקורת של Cloud מופעלים (disableCloudAuditLogging: false) כברירת מחדל. צריך להגדיר את הערך true כדי להשבית את יומני הביקורת של Cloud.
מחרוזת. אזור Google Cloud שבו רוצים לנתב ולאחסן את המדדים של Monitoring. מומלץ לבחור אזור שקרוב למרכז הנתונים המקומי. במהלך יצירת האשכול, הערך הזה משמש להגדרת הערך של clusterLocation במפרט המשאבים של stackdriver.
הערך שתציינו ישמש גם את Google Cloud Observability כדי לתייג מדדים ויומנים. אפשר להשתמש בתוויות האלה כדי לסנן ב-Metrics Explorer וב-Logs Explorer.
מחרוזת. מזהה הפרויקט ב- Google Cloud שבו רוצים לראות את היומנים והמדדים. במהלך יצירת האשכול, הערך הזה משמש להגדרת הערך של projectID במפרט המשאבים של stackdriver.
משאב אשכול
חובה
לא ניתן לשינוי
controlPlane
בקטע הזה מפורט מידע על מישור הבקרה והרכיבים שלו.
משאב אשכול
חובה
ניתן לשינוי
controlPlane.apiServerCertExtraSANs
זה שינוי אופציונלי. מערך של מחרוזות (שמות דומיינים וכתובות IP). שם חלופי של בעלים (SAN) הוא תכונה של אישורי SSL שמאפשרת להגדיר את שמות הדומיינים ותת-הדומיינים שבהם רוצים שהאישור יהיה תקף. באשכול ל-bare metal, כברירת מחדל, ה-SAN של אישור שרת ה-API כוללים את כתובות ה-IP וה-VIP של הצמתים במישור הבקרה ואת שמות ה-DNS של Kubernetes. בשדה הזה אפשר להוסיף עוד שמות חלופיים של נושאים (SAN) לאישור של שרת ה-API של האשכול. שמות הדומיינים צריכים לעמוד בדרישות של RFC 1035.
מידע נוסף זמין במאמר הוספת דומיינים לאישור של שרת ה-API.
זה שינוי אופציונלי. מספר שלם. מציינת את מספר הודעות ה-ARP החינמיות (GARP) ש-Keepalived ישלח בכל פעם אחרי שצומת מישור הבקרה יעבור לתפקיד של שרת המאסטר. הערך הזה ממפה להגדרה vrrp_garp_master_repeat של Keepalived. ערך ברירת המחדל הוא 5. מידע נוסף מופיע במאמר התאמה אישית של Keepalived.
משאב אשכול
אופציונלי
ניתן לשינוי
controlPlane.loadBalancer.mode
זה שינוי אופציונלי. מחרוזת. אם הערך הוא bundled, ההגדרה הזו מציינת שמאזני העומסים של מישור הבקרה פועלים בצמתים של מישור הבקרה. אם השדה מוגדר ומגדירים מאגר של צומתי מאזן עומסים עם loadBalancer.nodePoolSpec, מאזני העומסים של מישור הבקרה פועלים בצומתי מישור הבקרה ומאזני העומסים של מישור הנתונים פועלים במאגר של צומתי מאזן העומסים. מידע נוסף זמין במאמר הפרדה של מאזני עומסים.
אם מגדירים את controlPlane.loadBalancer.mode ל-manual, צריך להגדיר גם את loadBalancer.mode ל-manual. ההגדרה הזו משמשת להפעלת איזון עומסים ידני. מידע נוסף זמין במאמר הגדרה של איזון עומסים ידני.
לא צריך להגדיר את controlPlane.loadBalancer.mode לערך manual כדי להגדיר איזון עומסים ידני.
ערכים מותרים: bundled | manual
משאב אשכול
אופציונלי
לא ניתן לשינוי
controlPlane.nodePoolSpec
בקטע הזה מפורטות כתובות ה-IP של מאגר הצמתים שמשמש את מישור הבקרה והרכיבים שלו. המפרט של מאגר הצמתים של מישור הבקרה (כמו המפרט של מאגר הצמתים של מאזן העומסים) הוא מיוחד. המפרט הזה מצהיר על משאבי אשכול קריטיים ושולט בהם. המקור הקנוני של המשאב הזה הוא הקטע הזה בקובץ התצורה של האשכול. אל תשנו ישירות את המשאבים של מאגר הצמתים ברמת הבקרה ברמה העליונה. במקום זאת, צריך לשנות את החלקים המשויכים בקובץ התצורה של האשכול.
משאב אשכול
חובה
ניתן לשינוי
controlPlane.nodePoolSpec.nodes
חובה. מערך של כתובות IP. בדרך כלל, המערך הזה הוא כתובת IP של מכונה אחת, או כתובות IP של שלוש מכונות לפריסה בזמינות גבוהה (HA).
אפשר לשנות את השדה הזה בכל פעם שמעדכנים או משדרגים אשכול.
משאב אשכול
חובה
ניתן לשינוי
controlPlane.nodePoolSpec.nodes.address
חובה. מחרוזת (כתובת IPv4). כשמציינים מאגר צמתים, משתמשים בשדה address כדי לציין את כתובת ה-IPv4 שמוגדרת כברירת מחדל לגישת SSH לכל צומת. גישת SSH נדרשת לפעולות ניהוליות באשכול, כמו התקנות ושדרוגים. כברירת מחדל, כתובת ה-IP הזו משמשת גם לתעבורת נתונים ולתעבורת Kubernetes. עם זאת, אם מציינים את הכתובת k8sIP לצומת מסוים, התנועה מתפצלת בין שתי הכתובות של הצומת, והכתובת k8sIP משמשת באופן בלעדי לתנועת נתונים ולתנועה של Kubernetes.
אפשר לשנות את השדה הזה בכל פעם שמעדכנים או משדרגים אשכול.
משאב אשכול
חובה
ניתן לשינוי
controlPlane.nodePoolSpec.nodes.k8sIP
זה שינוי אופציונלי. מחרוזת (כתובת IPv4). כשמציינים את הכתובת האופציונלית k8sIP לצומת, היא מוקדשת לטיפול בנתונים ובתעבורת הנתונים של Kubernetes לצומת, כמו בקשות ותגובות ל-Kubernetes API, ל-kubelet ולעומסי העבודה. כשמציינים את k8sIP, כתובת ה-IP הרגילה של הצומת nodePoolSpec.nodes.address משמשת לחיבורי SSH לצומת באופן בלעדי. אם לא מציינים כתובת k8sIP, כתובת ה-IP הרגילה של הצומת מטפלת בכל התנועה של הצומת.
זה שינוי אופציונלי. מספר שלם (לא שלילי). מציינת את הכמות המקסימלית של בקשות משיכה של תמונות שאפשר להוסיף לתור העיבוד כדי לטפל בעליות חדות בבקשות. ברגע שמתחילה משימת משיכה, אפשר להוסיף בקשה חדשה לתור. ערך ברירת המחדל הוא 10. השדה הזה תואם לאפשרות ההגדרה של kubelet (v1beta1)
registryBurst.
הערך של registryPullQPS מקבל קדימות על פני ההגדרה הזו. לדוגמה, בהגדרות ברירת המחדל, מותר לשלוח עד 10 שאילתות בו-זמנית, אבל הן חייבות להיות מעובדות בקצב ברירת המחדל של חמש שאילתות לשנייה. ההתנהגות הזו של פרץ נתונים מתרחשת רק כש-registryPullQPS גדול מ-0.
אפשר להגדיר את השדה הזה בכל פעם שיוצרים, מעדכנים או משדרגים אשכול, וההגדרה נשמרת גם אחרי שדרוג האשכול. מידע נוסף זמין במאמר הגדרת משיכת קובצי אימג' של kubelet.
זה שינוי אופציונלי. מספר שלם (לא שלילי). מציינת את קצב העיבוד של שאילתות לשליפת קובצי אימג' מ-Artifact Registry, בשאילתות לשנייה (QPS).
כשהערך של registryPullQPS גדול מ-0, קצב השאילתות מוגבל למספר הזה של שאילתות לשנייה. אם המדיניות registryPullQPS מוגדרת לערך 0, אין הגבלה על קצב השאילתות. ערך ברירת המחדל הוא 5.
השדה הזה תואם לאפשרות ההגדרה של kubelet (v1beta1)
registryPullQPS.
אפשר להגדיר את השדה הזה בכל פעם שיוצרים, מעדכנים או משדרגים אשכול, וההגדרה נשמרת גם אחרי שדרוג האשכול. מידע נוסף זמין במאמר הגדרת משיכת קובצי אימג' של kubelet.
זה שינוי אופציונלי. ערך בוליאני (true|false). השדה הזה מציין אם הפעולות של Artifact Registry pull מעובדות במקביל או אחת בכל פעם. ברירת המחדל היא true, שמציינת שכל בקשת משיכה מעובדת בנפרד. כשהערך מוגדר ל-false, kubelet שולף תמונות במקביל. השדה הזה תואם לאפשרות ההגדרה של kubelet (v1beta1)
serializeImagePulls.
אפשר להגדיר את השדה הזה בכל פעם שיוצרים, מעדכנים או משדרגים אשכול, וההגדרה נשמרת גם אחרי שדרוג האשכול. מידע נוסף זמין במאמר הגדרת משיכת קובצי אימג' של kubelet.
משאב אשכול
אופציונלי
ניתן לשינוי
controlPlane.schedulerConfiguration
מציין ארגומנטים והגדרות נוספים ל-kube-scheduler.
בשדה הזה אפשר להגדיר אילוצי פריסה של טופולוגיית Pod כברירת מחדל ברמת האשכול.
זה שינוי אופציונלי. מחרוזת. ערך ברירת המחדל: global.
החברות ב-fleet של האשכולות מנוהלת על ידי שירות Fleet (gkehub.googleapis.com) ושירות Connect (gkeconnect.googleapis.com). החברות ב-fleet יכולה להיות גלובלית או אזורית. אפשר להשתמש ב-gkeConnect.location כדי לציין את האזור ב- Google Cloud שבו פועלים השירותים Fleet ו-Connect, כדי שהתנועה תוגבל לאזור שלכם.
רשימת האזורים הנתמכים מופיעה במאמר אזורים נתמכים ל-GKE On-Prem API.
אם לא מציינים את המיקום, המערכת משתמשת במופעים הגלובליים של השירותים.
שימו לב לנקודות הבאות:
אשכולות שנוצרו בגרסאות שקודמות ל-1.28 מנוהלים על ידי שירותי Fleet ו-Connect הגלובליים.
אשכולות חדשים שנוצרו באמצעות לקוחות API של GKE On-Prem, כמו מסוף Google Cloud , Google Cloud CLI או Terraform, משתמשים באותו אזור שציינתם ל-GKE On-Prem API.
באשכולות חדשים, אם כוללים את השדה הזה, האזור שמציינים חייב להיות זהה לאזור שהוגדר ב-gkeOnPremAPI.location. אם האזורים לא זהים, יצירת האשכול תיכשל.
בגרסה 1.16 ואילך, אם GKE On-Prem API מופעל בפרויקט Google Cloud , כל האשכולות בפרויקט רשומים ל-GKE On-Prem API באופן אוטומטי באזור שהוגדר ב-clusterOperations.location.
אם רוצים לרשום את כל האשכולות בפרויקט ב-GKE On-Prem API, צריך לבצע את השלבים שמפורטים בקטע לפני שמתחילים כדי להפעיל את GKE On-Prem API בפרויקט ולהשתמש בו.
אם לא רוצים לרשום את האשכול ב-GKE On-Prem API, צריך לכלול את הקטע הזה ולהגדיר את gkeOnPremAPI.enabled לערך false.
אם אתם לא רוצים לרשום אשכולות בפרויקט, השביתו את gkeonprem.googleapis.com (שם השירות של GKE On-Prem API) בפרויקט. איך משביתים שירותים?
אם רוצים לרשום את כל האשכולות בפרויקט ב-GKE On-Prem API, צריך לבצע את השלבים שמפורטים בקטע לפני שמתחילים כדי להפעיל את GKE On-Prem API בפרויקט ולהשתמש בו.
אם לא רוצים לרשום את האשכול ב-GKE On-Prem API, צריך לכלול את הקטע הזה ולהגדיר את gkeOnPremAPI.enabled לערך false.
אם אתם לא רוצים לרשום אשכולות בפרויקט, השביתו את gkeonprem.googleapis.com (שם השירות של GKE On-Prem API) בפרויקט. איך משביתים שירותים?
רישום של אשכול אדמין או אשכול משתמש ב-GKE On-Prem API מאפשר לכם להשתמש בכלים סטנדרטיים – מסוף Google Cloud , Google Cloud CLI או Terraform – כדי להציג את פרטי האשכול ולנהל את מחזור החיים שלו. לדוגמה, אתם יכולים להריץ פקודות ב-CLI של gcloud כדי לקבל מידע על האשכול.
GKE On-Prem API מאחסן מטא-נתונים של מצב האשכול ב- Google Cloud.
המטא-נתונים האלה מאפשרים ל-API לנהל את מחזור החיים של האשכול. הכלים הרגילים משתמשים ב-GKE On-Prem API, וביחד הם נקראים לקוחות API של GKE On-Prem.
אם מגדירים את gkeOnPremAPI.enabled ל-true, לפני שיוצרים או מעדכנים את האשכול באמצעות bmctl, חשוב לבצע את השלבים שמפורטים בקטע לפני שמתחילים כדי להפעיל ולהתחיל את GKE On-Prem API.
אם מוסיפים את הקטע הזה ויוצרים או מעדכנים את האשכול, ואחר כך מסירים את הקטע ומעדכנים את האשכול, העדכון ייכשל.
אם אתם מעדיפים ליצור את האשכול באמצעות כלי רגיל במקום bmctl, עיינו במאמרים הבאים:
כשיוצרים אשכול באמצעות כלי רגיל, האשכול נרשם באופן אוטומטי ל-GKE On-Prem API.
משאב אשכול
אופציונלי
gkeOnPremAPI.enabled
כברירת מחדל, האשכול רשום ל-GKE On-Prem API אם GKE On-Prem API מופעל בפרויקט. אם לא רוצים לרשום את האשכול, מגדירים את הערך false.
אחרי שהאשכול רשום ב-GKE On-Prem API, אם צריך לבטל את הרישום של האשכול, מבצעים את השינוי הבא ואז מעדכנים את האשכול:
gkeOnPremAPI:enabled:false
משאב אשכול
חובה
ניתן לשינוי
gkeOnPremAPI.location
האזור Google Cloud שבו פועל GKE On-Prem API ושבו מאוחסנים המטא-נתונים של האשכול. בוחרים באחד מהאזורים הנתמכים. הערך חייב להיות מחרוזת לא ריקה אם
gkeOnPremAPI.enabled הוא true. אם הערך של gkeOnPremAPI.enabled הוא false, אל תכללו את השדה הזה.
אם הקטע הזה לא נכלל בקובץ התצורה, השדה הזה מוגדר לערך clusterOperations.location.
משאב אשכול
אופציונלי
לא ניתן לשינוי
kubevirt.useEmulation (הוצאה משימוש)
הוצא משימוש. החל מגרסה 1.11.2, אפשר להפעיל או להשבית את VM Runtime on GDC רק על ידי עדכון המשאב המותאם אישית של VMRuntime.
בוליאני. ההגדרה קובעת אם להשתמש באמולציית תוכנה כדי להריץ מכונות וירטואליות. אם הצומת תומך בווירטואליזציה של חומרה, מגדירים את useEmulation ל-false כדי לשפר את הביצועים. אם אין תמיכה בווירטואליזציה של חומרה או אם אתם לא בטוחים, הגדירו את הערך true.
משאב אשכול
אופציונלי
ניתן לשינוי
loadBalancer
בקטע הזה יש הגדרות לאיזון עומסים באשכול.
משאב אשכול
חובה
ניתן לשינוי
loadBalancer.addressPools
אובייקט. השם ומערך של כתובות IP של מאגר מאזני העומסים של האשכול. הגדרת מאגר הכתובות תקפה רק למצב LB של bundled באשכולות שאינם של אדמין. אפשר להוסיף מאגרי כתובות חדשים בכל שלב, אבל אי אפשר להסיר מאגרי כתובות קיימים.
אפשר לערוך מאגר כתובות קיים כדי לשנות רק את השדות avoidBuggyIPs ו-manualAssign.
משאב אשכול
אופציונלי
לא ניתן לשינוי
loadBalancer.addressPools.addresses
מערך של טווחי כתובות IP. מציינים רשימה של טווחי כתובות IP שלא חופפים למאזן העומסים של מישור הנתונים. כל הכתובות צריכות להיות באותה רשת משנה כמו הצמתים של מאזן העומסים.
זה שינוי אופציונלי. ערך בוליאני (true או false). אם הערך הוא true, המאגר משמיט כתובות IP שמסתיימות ב-.0 וב-.255.
חלק מחומרת הרשת מפילה את התנועה לכתובות המיוחדות האלה. אפשר להשמיט את השדה הזה, ערך ברירת המחדל שלו הוא false.
משאב אשכול
אופציונלי
ניתן לשינוי
loadBalancer.addressPools.manualAssign
זה שינוי אופציונלי. ערך בוליאני (true או false). אם הערך הוא true, הכתובות במאגר הזה לא מוקצות באופן אוטומטי לשירותי Kubernetes. אם הערך הוא true, כתובת IP במאגר הזה משמשת רק כששירות מציין אותה במפורש. אפשר להשמיט את השדה הזה, ערך ברירת המחדל שלו הוא false.
משאב אשכול
אופציונלי
ניתן לשינוי
loadBalancer.mode
חובה. מחרוזת. מציין את מצב איזון העומסים. במצב bundled, התוכנה של Google Distributed Cloud מתקינה מאזן עומסים בצמתים של מאזן העומסים במהלך יצירת האשכול. במצב manual, האשכול מסתמך על מאזן עומסים חיצוני שהוגדר באופן ידני. מידע נוסף זמין במאמר סקירה כללית של מאזני עומסים.
ערכים מותרים: bundled | manual
משאב אשכול
חובה
לא ניתן לשינוי
loadBalancer.type
זה שינוי אופציונלי. מחרוזת. מציין את סוג איזון העומסים המצורף שבו נעשה שימוש, שכבה 2 או Border Gateway Protocol (BGP). אם אתם משתמשים באיזון עומסים סטנדרטי בחבילה, הגדירו את type לערך layer2. אם אתם משתמשים באיזון עומסים בחבילה עם BGP, הגדירו את type ל-bgp. אם לא מגדירים את type, ברירת המחדל היא layer2.
ערכים מותרים: layer2 | bgp
משאב אשכול
אופציונלי
לא ניתן לשינוי
loadBalancer.nodePoolSpec
זה שינוי אופציונלי. בקטע הזה מוסבר איך להגדיר מאגר צמתים של מאזן עומסים. הצמתים שאתם מציינים הם חלק מאשכול Kubernetes, והם מריצים עומסי עבודה רגילים ומאזני עומסים. אם לא מציינים מאגר צמתים, הצמתים של מישור הבקרה משמשים לאיזון עומסים. הקטע הזה רלוונטי רק כשמצב איזון העומסים מוגדר ל-bundled.
אם אתם רוצים למנוע מעומסי עבודה לפעול בצומת במאגר הצמתים של מאזן העומסים, הוסיפו את ה-taint הבא לצומת:
node-role.kubernetes.io/load-balancer:NoSchedule
תוכנת Google Distributed Cloud מוסיפה סבילות לטיינט הזה לפודים שנדרשים לאיזון עומסים.
משאב אשכול
אופציונלי
ניתן לשינוי
loadBalancer.nodePoolSpec.nodes
הקטע הזה מכיל מערך של כתובות IP של הצמתים במאגר הצמתים של מאזן העומסים.
כברירת מחדל, כל הצמתים במאגר הצמתים של מאזן העומסים צריכים להיות באותה רשת משנה של שכבה 2 כמו כתובות ה-VIP של מאזן העומסים שהוגדרו בקטע loadBalancer.addressPools של קובץ התצורה. עם זאת, אם מציינים כתובת IP של Kubernetes k8sIP לצומת, רק הכתובת הזו צריכה להיות באותה רשת משנה של שכבה 2 כמו כתובות ה-VIP האחרות של מאזן העומסים.
משאב אשכול
אופציונלי
ניתן לשינוי
loadBalancer.nodePoolSpec.nodes.address
זה שינוי אופציונלי. מחרוזת (כתובת IPv4). כשמציינים מאגר צמתים, משתמשים בשדה address כדי לציין את כתובת ה-IPv4 שמוגדרת כברירת מחדל לגישת SSH לכל צומת. גישת SSH נדרשת לפעולות ניהוליות באשכול, כמו התקנות ושדרוגים. כברירת מחדל, כתובת ה-IP הזו משמשת גם לתעבורת נתונים ולתעבורת Kubernetes. עם זאת, אם מציינים את הכתובת k8sIP לצומת מסוים, התנועה מתפצלת בין שתי הכתובות של הצומת, והכתובת k8sIP משמשת באופן בלעדי לתנועת נתונים ולתנועה של Kubernetes.
למרות שהצמתים במאגר הצמתים של מאזן העומסים יכולים להריץ עומסי עבודה, הם נפרדים מהצמתים במאגרי הצמתים של העובדים. אי אפשר לכלול צומת אשכול נתון ביותר ממאגר צמתים אחד. כתובות IP חופפות של צמתים חוסמות את יצירת האשכול ופעולות אחרות באשכול.
זה שינוי אופציונלי. מחרוזת (כתובת IPv4). כשמציינים את הכתובת האופציונלית k8sIP לצומת, היא מוקדשת לטיפול בנתונים ובתעבורת הנתונים של Kubernetes לצומת, כמו בקשות ותגובות ל-Kubernetes API, ל-kubelet ולעומסי העבודה. כשמציינים את k8sIP, כתובת ה-IP הרגילה של הצומת nodePoolSpec.nodes.address משמשת לחיבורי SSH לצומת באופן בלעדי. אם לא מציינים כתובת k8sIP, כתובת ה-IP הרגילה של הצומת מטפלת בכל התנועה של הצומת.
זה שינוי אופציונלי. מספר שלם (לא שלילי). מציינת את המספר המקסימלי של בקשות משיכה של תמונות שאפשר להוסיף לתור העיבוד כדי לטפל בעליות חדות בבקשות. ברגע שמתחילה משימת משיכה, אפשר להוסיף בקשה חדשה לתור. ערך ברירת המחדל הוא 10. השדה הזה תואם לאפשרות ההגדרה של kubelet (v1beta1)
registryBurst.
הערך של registryPullQPS מקבל קדימות על פני ההגדרה הזו. לדוגמה, בהגדרות ברירת המחדל, מותר לשלוח עד 10 שאילתות בו-זמנית, אבל הן חייבות להיות מעובדות בקצב ברירת המחדל של חמש שאילתות לשנייה. ההתנהגות הזו של פרץ נתונים מתרחשת רק כש-registryPullQPS גדול מ-0.
אפשר להגדיר את השדה הזה בכל פעם שיוצרים, מעדכנים או משדרגים אשכול, וההגדרה נשמרת גם אחרי שדרוג האשכול. מידע נוסף זמין במאמר הגדרת משיכת קובצי אימג' של kubelet.
זה שינוי אופציונלי. מספר שלם (לא שלילי). מציינת את קצב העיבוד של שאילתות לשליפת קובצי אימג' מ-Artifact Registry, בשאילתות לשנייה (QPS).
כשהערך של registryPullQPS גדול מ-0, קצב השאילתות מוגבל למספר הזה של שאילתות לשנייה. אם המדיניות registryPullQPS מוגדרת לערך 0, אין הגבלה על קצב השאילתות. ערך ברירת המחדל הוא 5.
השדה הזה תואם לאפשרות ההגדרה של kubelet (v1beta1)
registryPullQPS.
אפשר להגדיר את השדה הזה בכל פעם שיוצרים, מעדכנים או משדרגים אשכול, וההגדרה נשמרת גם אחרי שדרוג האשכול. מידע נוסף זמין במאמר הגדרת משיכת קובצי אימג' של kubelet.
זה שינוי אופציונלי. ערך בוליאני (true|false). השדה הזה מציין אם הפעולות של Artifact Registry pull מעובדות במקביל או אחת בכל פעם. ברירת המחדל היא true, שמציינת שכל בקשת משיכה מעובדת בנפרד. כשהערך מוגדר ל-false, kubelet שולף תמונות במקביל. השדה הזה תואם לאפשרות ההגדרה של kubelet (v1beta1)
serializeImagePulls.
אפשר להגדיר את השדה הזה בכל פעם שיוצרים, מעדכנים או משדרגים אשכול, וההגדרה נשמרת גם אחרי שדרוג האשכול. מידע נוסף זמין במאמר הגדרת משיכת קובצי אימג' של kubelet.
משאב אשכול
אופציונלי
ניתן לשינוי
loadBalancer.ports.controlPlaneLBPort
מספר. יציאת היעד שמשמשת לתנועה שנשלחת למישור הבקרה של Kubernetes (שרתי ה-API של Kubernetes).
משאב אשכול
חובה
לא ניתן לשינוי
loadBalancer.vips.controlPlaneVIP
חובה. מציינת את כתובת ה-IP הווירטואלית (VIP) להתחברות לשרת ה-API של Kubernetes. הכתובת הזו לא יכולה להיות בטווח של כתובות ה-IP שמשמשות למאגרי הכתובות של מאזן העומסים, loadBalancer.addressPools.addresses.
משאב אשכול
חובה
לא ניתן לשינוי
loadBalancer.vips.ingressVIP
זה שינוי אופציונלי. מחרוזת (כתובת IPv4). כתובת ה-IP שבחרתם להגדיר במאזן העומסים לתעבורת נתונים נכנסת (ingress).
משאב אשכול
אופציונלי
לא ניתן לשינוי
loadBalancer.localASN
זה שינוי אופציונלי. מחרוזת. מציין את מספר המערכת האוטונומית (ASN) של האשכול שנוצר. השדה הזה משמש להגדרת פתרון איזון העומסים בחבילה שמשתמש ב-Border Gateway Protocol (BGP).
מידע נוסף זמין במאמר הגדרת מאזני עומסים מקובצים באמצעות BGP.
משאב אשכול
אופציונלי
ניתן לשינוי
loadBalancer.bgpPeers
זה שינוי אופציונלי. אובייקט (רשימת מיפויים). בקטע הזה מצוין לפחות עמית אחד של פרוטוקול שער הגבול (BGP) מהרשת המקומית (מחוץ לאשכול). אתם מציינים את עמיתי ה-BGP כשאתם מגדירים את איזון העומסים במישור הבקרה, כחלק מפתרון איזון העומסים בחבילה שמשתמש ב-BGP. כל עמית מוגדר באמצעות מיפוי, שמורכב מכתובת IP, מספר מערכת אוטונומית (ASN) ואופציונלית, רשימה של כתובת IP אחת או יותר לצומתי מישור הבקרה. אי אפשר לעדכן את הגדרת ה-BGP-peering לאיזון עומסים במישור הבקרה אחרי שיוצרים את האשכול.
זה שינוי אופציונלי. מחרוזת. מספר המערכת האוטונומית (ASN) של הרשת שמכילה את המכשיר החיצוני המקביל. כשמגדירים את פתרון איזון העומסים בחבילה שמשתמש ב-BGP, צריך לציין ASN לכל נתב BGP שמגדירים לאיזון עומסים במישור הבקרה.
מידע נוסף זמין במאמר הגדרת מאזני עומסים מקובצים באמצעות BGP.
משאב אשכול
אופציונלי
ניתן לשינוי
loadBalancer.bgpPeers.controlPlaneNodes
זה שינוי אופציונלי. מערך של כתובות IP (IPv4). כתובת IP אחת או יותר לצומתי מישור הבקרה שמתחברים ל-BGP peer החיצוני, כשמגדירים את פתרון איזון העומסים בחבילה שמשתמש ב-BGP. אם לא מציינים צומתי מישור בקרה, כל צומתי מישור הבקרה יתחברו לעמית החיצוני. אם מציינים כתובת IP אחת או יותר, רק הצמתים שצוינו משתתפים בסשנים של קישור שכנים.
מידע נוסף זמין במאמר הגדרת מאזני עומסים מקובצים באמצעות BGP.
משאב אשכול
אופציונלי
ניתן לשינוי
maintenanceBlocks.cidrBlocks
זה שינוי אופציונלי. כתובת IPv4 אחת או טווח של כתובות IPv4. ציינו את כתובות ה-IP של מכונות הצומת שאתם רוצים להעביר למצב תחזוקה. מידע נוסף זמין במאמר העברת צמתים למצב תחזוקה.
לדוגמה:
maintenanceBlocks:cidrBlocks:-192.168.1.200# Single machine-192.168.1.100-192.168.1.109# Ten machines
זה שינוי אופציונלי. מציין את הגדרת המתאם להתאמה אופקית של קבוצות Pod לעומס על סמך מדדים מותאמים אישית. היכולת הזו זמינה בגרסת טרום-השקה (Preview) לאשכולות בגרסה 1.34.
לדוגמה:
apiVersion:baremetal.cluster.gke.io/v1kind:Clustermetadata:name:cluster1namespace:cluster-cluster1annotations:preview.baremetal.cluster.gke.io/metrics-adapter:"true"spec:# ... other existing cluster configurations ...metricsAdapter:prometheus:url:"http://prometheus-k8s.monitoring.svc.cluster.local:9090"orgID:"production-environment"auth:configSecretRef:name:prometheus-auth-secretkey:configrules:configMapKeyRefs:-name:my-app-ruleskey:config.yaml
משאב אשכול
אופציונלי
ניתן לשינוי
metricsAdapter.prometheus
זה שינוי אופציונלי. מציינים את ההגדרות לחיבור לשרת Prometheus.
כך אפשר להשתמש במכונה של Prometheus כספק של מדדים מותאמים אישית להתאמה אופקית של קבוצות Pod לעומס. כשמציינים את השדה metricsAdapter.prometheus, צריך לציין גם את השדה metricsAdapter.rules.
משאב אשכול
אופציונלי
ניתן לשינוי
metricsAdapter.prometheus.url
נדרש כשמציינים את הגדרות Prometheus. כתובת ה-URL של נקודת הקצה של Prometheus. במקרה כזה, כשמשתמשים ב-Prometheus כספק של מדדים מותאמים אישית להתאמה אופקית של קבוצות Pod לעומס, צריך להשתמש בשם הדומיין הבא שמוגדר במלואו (FQDN):
prometheus: השם של שירות Kubernetes (שירות האפליקציה של Prometheus עצמו).
k8s: השם של מרחב השמות של Kubernetes שבו השירות פועל.
svc: מציין שזהו סוג משאב של שירות בתוך האשכול.
cluster.local: סיומת ברירת המחדל של הדומיין לרשת הפנימית של אשכול Kubernetes.
משאב אשכול
חובה
ניתן לשינוי
metricsAdapter.prometheus.orgID
זה שינוי אופציונלי. מחרוזת. מציינים את מזהה הארגון שייכלל בכותרת `X-Scope-OrgID`.
משאב אשכול
אופציונלי
ניתן לשינוי
metricsAdapter.prometheus.auth
זה שינוי אופציונלי. בקטע הזה מופיעות הגדרות האימות שנדרשות למערכת ההמלצות כדי להתחבר ל-Prometheus. התאמה אופקית של קבוצות Pod לעומס תומכת במנגנוני אימות בסיסיים (שם משתמש וסיסמה) ובמנגנוני אימות של טוקן למוכ"ז. צריך לאחסן את כל פרטי הכניסה ב-Secret בפורמט kubeconfig. אם במכונה של Prometheus לא נדרש אימות, הסירו את הקטע הזה.
משאב אשכול
אופציונלי
ניתן לשינוי
metricsAdapter.prometheus.auth.configSecretRef
זה שינוי אופציונלי. מציינים את הסוד ואת המפתח בסוד לאימות.
זה שינוי אופציונלי. ערך בוליאני (true|false). ערך ברירת המחדל הוא false, האימות נכשל אם הסוד או המפתח לא מוגדרים.
משאב אשכול
אופציונלי
ניתן לשינוי
metricsAdapter.rules
זה שינוי אופציונלי. מציינים את כללי גילוי המדדים של המתאם. אם צוין metricsAdapter.prometheus, השדה הזה הוא שדה חובה.
משאב אשכול
אופציונלי
ניתן לשינוי
metricsAdapter.rules.configMapKeyRefs
חובה כשמציינים את השדה metricsAdapter. השדה configMapKeyRefs מכיל רשימה של הפניות למפתחות ConfigMap שמכילים הגדרות של כללים. הכללים האלה מוזגו לפי הסדר על ידי נאמן המידע.
משאב אשכול
אופציונלי
ניתן לשינוי
metricsAdapter.rules.configMapKeyRefs.name
חובה. מחרוזת. השם של ה-ConfigMap שמכיל את הכללים.
משאב אשכול
חובה
ניתן לשינוי
metricsAdapter.rules.configMapKeyRefs.key
חובה. מחרוזת. המפתח בשדה data של ConfigMap שממנו צריך לבחור כדי לאחזר כללים. חייב להיות מפתח ConfigMap תקין.
משאב אשכול
חובה
ניתן לשינוי
nodeAccess.loginUser
זה שינוי אופציונלי. מחרוזת. מציינים את שם המשתמש שאינו משתמש בסיסי (root) שבו רוצים להשתמש כדי לקבל גישה ליכולת SUDO ללא סיסמה למכונות הצומת באשכול. מפתח ה-SSH, sshPrivateKeyPath, צריך לפעול בשביל המשתמש שצוין. פעולות היצירה והעדכון של האשכול בודקות אם אפשר לגשת למכונות של הצמתים באמצעות המשתמש ומפתח ה-SSH שצוינו.
משאב אשכול
אופציונלי
ניתן לשינוי
osEnvironmentConfig.addPackageRepo
זה שינוי אופציונלי. ערך בוליאני (true או false). מציין אם להשתמש בשרת Package Repository שלכם, במקום במאגר ברירת המחדל של Docker apt. כדי להשתמש ב-Package Repository משלכם, צריך להגדיר את addPackageRepo לערך false. אתם יכולים להשתמש בתכונה הזו כדי לדלג על הוספת מאגרי חבילות לכל מכונה פיזית בפריסה. מידע נוסף זמין במאמר שימוש בשרת מאגר חבילות פרטי.
משאב אשכול
אופציונלי
לא ניתן לשינוי
nodeConfig
בקטע הזה יש הגדרות לצומת אשכול.
משאב אשכול
אופציונלי
ניתן לשינוי (שדרוג בלבד)
nodeConfig.containerRuntime (הוצאה משימוש)
הוצאה משימוש, החל מגרסה 1.13.0, Google Distributed Cloud תומך ב-containerd רק כסביבת זמן הריצה של קונטיינרים. השדה containerRuntime הוצא משימוש והוסר מקובץ התצורה שנוצר לאשכול. בגרסאות תוכנה 1.13.0 ואילך של Google Distributed Cloud, אם קובץ התצורה של האשכול מכיל את השדה הזה, הערך חייב להיות containerd.
משאב אשכול
אופציונלי
ניתן לשינוי (שדרוג בלבד)
nodeConfig.podDensity
בקטע הזה מפורטת הגדרת צפיפות הפודים.
משאב אשכול
אופציונלי
לא ניתן לשינוי
nodeConfig.podDensity.maxPodsPerNode
זה שינוי אופציונלי. מספר שלם. מציינת את המספר המקסימלי של Pods שאפשר להריץ בצומת אחד. באשכולות בניהול עצמי, הערכים המותרים של maxPodsPerNode הם 32 עד 250 לאשכולות בזמינות גבוהה (HA), ו-64 עד 250 לאשכולות שהם לא בזמינות גבוהה. באשכולות של משתמשים, הערכים המותרים של maxPodsPerNode הם 32 עד 250. ערך ברירת המחדל אם לא צוין ערך הוא 110. אחרי שיוצרים את האשכול, אי אפשר לעדכן את הערך הזה.
בקטע הזה מצוינת הגדרה של מרשם פרטי ברמת הצומת לאשכולות משתמשים. מאגרי נתונים פרטיים ברמת הצומת מיועדים לשימוש עם עומסי העבודה שלכם, כדי לתת לכם יותר שליטה על שליפות של קובצי אימג' ועל האבטחה שקשורה אליהן.
אם רלוונטי, משתמשים בקטע הזה כדי לציין את השם ואת מרחב השמות של הסוד שנוצר כדי לאחסן את אישור ה-CA (אישור ה-CA הבסיסי של השרת) של המרשם הפרטי. אם המרשם המקומי לא דורש אישור TLS פרטי, אפשר להשמיט את הבלוק הזה.
אם כמה מאגרי מראה של מרשמים מפנים לסודות של אישורי CA במרחבי שמות שונים, כולל סודות עם שמות זהים, המערכת מוסיפה קידומת עם מרחב השמות של המקור כדי ששם הסוד של אישור ה-CA יהיה ייחודי במרחבי השמות של האשכול. אם כמה מאגרי מידע פרטיים מפנים לסודות של אישורי CA עם אותו שם במרחבי שמות שונים (חוץ ממרחב השמות `anthos-creds` או מרחב השמות של האשכול), המערכת מוסיפה קידומת לשם הסוד של היעד כדי לוודא שהשמות של הסודות של אישורי ה-CA ייחודיים בכל מרחבי השמות. המערכת לא תוסיף קידומת לסודות במרחב השמות של האשכול או במרחב השמות של המקור ב-`anthos-creds`.
ברשימה הבאה מוצג שלב ההשקה לכל גרסה להגדרת מאגר פרטי ברמת הצומת:
זה שינוי אופציונלי. בקטע הזה מופיעות ההגדרות לקביעת אסטרטגיית השדרוג של מאגרי הצמתים העובדים באשכול. מידע נוסף זמין במאמר שדרוגים מקבילים.
משאב אשכול
אופציונלי
ניתן לשינוי
nodePoolUpgradeStrategy.concurrentNodePools
זה שינוי אופציונלי. ערך בוליאני (0 או 1). ברירת המחדל: 1.
השדה הזה מציין אם לשדרג את כל מאגרי צמתים עובדים באשכול בו-זמנית. כברירת מחדל (1), השדרוג מתבצע ברצף, אחד אחרי השני. כשמגדירים את concurrentNodePools לערך 0, כל מאגר של צומתי עובדים באשכול משודרג במקביל.
הקטע הזה מכיל מידע על הגדרות של בדיקות תקינות תקופתיות. במשאב Cluster, ההגדרה היחידה שזמינה לבדיקות תקינות תקופתיות היא השדה enable. למידע נוסף, קראו את המאמר בדיקות תקינות תקופתיות.
משאב אשכול
אופציונלי
ניתן לשינוי
periodicHealthCheck.enable
זה שינוי אופציונלי. ערך בוליאני (true|false). הפעלה או השבתה של בדיקות תקינות תקופתיות לאשכול. בדיקות תקינות תקופתיות מופעלות כברירת מחדל בכל האשכולות. כדי להשבית את בדיקות התקינות התקופתיות באשכול, מגדירים את השדה periodicHealthCheck.enable לערך false.
מידע נוסף זמין במאמר השבתת בדיקות תקינות תקופתיות.
משאב אשכול
אופציונלי
ניתן לשינוי
profile
זה שינוי אופציונלי. מחרוזת. כשהערך של profile מוגדר כ-edge באשכול עצמאי, צריכת המשאבים של האשכול מצטמצמת. הפרופיל של Edge זמין רק לאשכולות עצמאיים.
לפרופיל הקצה יש דרישות מופחתות למשאבי מערכת, והוא מומלץ למכשירי קצה עם אילוצי משאבים מגבילים.
דרישות החומרה שקשורות לפרופיל הקצה מפורטות במאמר דרישות המשאבים לאשכולות עצמאיים שמשתמשים בפרופיל הקצה.
משאב אשכול
אופציונלי
לא ניתן לשינוי
proxy
אם הרשת שלכם נמצאת מאחורי שרת proxy, מלאו את הפרטים בקטע הזה.
אחרת, צריך להסיר את הקטע הזה.
משאב אשכול
אופציונלי
ניתן לשינוי
proxy.noProxy
מחרוזת. רשימה מופרדת בפסיקים של כתובות IP, טווחי כתובות IP, שמות מארחים ושמות דומיינים שלא צריכים לעבור דרך שרת ה-proxy. כשהאשכול שולח בקשה לאחת מהכתובות, המארחים או הדומיינים האלה, הבקשה נשלחת ישירות.
משאב אשכול
אופציונלי
לא ניתן לשינוי
proxy.url
מחרוזת. כתובת ה-HTTP של שרת ה-proxy. צריך לכלול את מספר היציאה, גם אם הוא זהה ליציאת ברירת המחדל של הסכימה.
זה שינוי אופציונלי. ערך בוליאני (true|false). הפעלה או השבתה של seccomp בכל האשכול. כשהשדה הזה מושבת, קונטיינרים בלי פרופיל seccomp בקובץ התצורה של האשכול פועלים ללא הגבלה. כשהשדה הזה מופעל, אותם קונטיינרים מאובטחים באמצעות פרופיל seccomp שמוגדר כברירת מחדל בסביבת זמן הריצה של הקונטיינר. התכונה הזו מופעלת כברירת מחדל.
אחרי שיוצרים את האשכול, אפשר להחליף את המצב של השדה הזה רק במהלך השדרוג.
מידע נוסף זמין במאמר שימוש ב-seccomp להגבלת קונטיינרים.
משאב אשכול
אופציונלי
ניתן לשינוי (שדרוג בלבד)
clusterSecurity.enableRootlessContainers
זה שינוי אופציונלי. ערך בוליאני (true|false). הפעלה או השבתה של קונטיינרים של מערכת Bare Metal ללא הרשאות בסיס. כשהשדה הזה מופעל, קונטיינרים של מערכת Bare Metal פועלים כמשתמשים ללא הרשאות root עם מזהה משתמש בטווח 2000-5000. כשהאפשרות הזו מושבתת, קונטיינרים של מערכת Bare Metal פועלים כמשתמש Root. התכונה הזו מופעלת כברירת מחדל. אנחנו ממליצים מאוד לא להשבית את התכונה הזו, כי הפעלת קונטיינרים כמשתמש root מהווה סיכון אבטחה. אחרי שיוצרים את האשכול, אפשר להחליף את המצב של השדה הזה רק במהלך השדרוג. מידע נוסף זמין במאמר אל תריצו קונטיינרים כמשתמשי Root.
משאב אשכול
אופציונלי
ניתן לשינוי (שדרוג בלבד)
clusterSecurity.authorization
זה שינוי אופציונלי. הרשאה מגדירה את הגישה של המשתמש לאשכול.
זה שינוי אופציונלי. בשדה gcpAccounts מצוינת רשימה של חשבונות שקיבלו את התפקיד clusterrole/cluster-admin בבקרת גישה מבוססת-תפקידים (RBAC) ב-Kubernetes. לחשבונות עם התפקיד הזה יש גישה מלאה לכל משאב באשכול בכל מרחבי השמות. השדה הזה גם מגדיר את כללי המדיניות של RBAC שמאפשרים לחשבונות שצוינו להשתמש בשער הקישור כדי להריץ פקודות kubectl באשכול. האפשרות הזו נוחה אם אתם צריכים לנהל כמה אשכולות, במיוחד בסביבה היברידית עם אשכולות GKE ואשכולות מקומיים.
השדה הזה מקבל מערך של שמות חשבונות. יש תמיכה בחשבונות משתמשים ובחשבונות שירות. למשתמשים, מציינים את Google Cloud כתובות האימייל של החשבונות שלהם. בחשבונות שירות, מציינים את כתובות האימייל בפורמט הבא: SERVICE_ACCOUNT@PROJECT_ID..
לדוגמה:
כשמעדכנים אשכול כדי להוסיף חשבון, חשוב לכלול את כל החשבונות ברשימה (גם החשבונות הקיימים וגם החשבונות החדשים), כי פקודת העדכון מחליפה את הרשימה במה שמציינים בעדכון.
השדה הזה רלוונטי רק לאשכולות שיכולים להריץ עומסי עבודה. לדוגמה, אי אפשר לציין את gcpAccounts לאשכולות אדמין.
משאב אשכול
אופציונלי
ניתן לשינוי
clusterSecurity.startUIDRangeRootlessContainers
זה שינוי אופציונלי. מספר שלם. ערך ברירת המחדל: 2000. קונטיינרים של המערכת בתוכנת Google Distributed Cloud עוזרים להתקין ולנהל אשכולות.
אפשר לשלוט במזהי המשתמשים (UID) ובמזהי הקבוצות (GID) שבהם משתמשים בקונטיינרים האלה באמצעות השדה startUIDRangeRootlessContainers במפרט האשכול. הקונטיינרים של המערכת משתמשים במזהי UID ו-GID בטווח שבין startUIDRangeRootlessContainers ל-startUIDRangeRootlessContainers + 2999, שנותן טווח של 2000-4999 כברירת מחדל. כשמעדכנים את startUIDRangeRootlessContainers, צריך לבחור ערך שמוודא שמרחבי ה-UID וה-GID שמשמשים את קונטיינרי המערכת לא חופפים לאלה שהוקצו לעומסי העבודה של המשתמשים. אפשר לשנות את הערך של startUIDRangeRootlessContainers רק במהלך שדרוגים.
חובה. מחרוזת. בשדה path מציינים את הנתיב של המכונה המארחת שבו אפשר לגלות דיסקים שנטענו. לכל נקודת טעינה נוצר PersistentVolume (PV) מקומי. נתיב ברירת המחדל הוא /mnt/localpv-share. להוראות להגדרת נקודות הטעינה של הצמתים, קראו את המאמר הגדרת נקודות הטעינה של צומתי LVP.
משאב אשכול
חובה
לא ניתן לשינוי
storage
בקטע הזה יש הגדרות לאחסון באשכול.
משאב אשכול
חובה
לא ניתן לשינוי
storage.lvpNodeMounts
בקטע הזה מצוינת התצורה (הנתיב) של אמצעי אחסון מקומיים קבועים שמגובים בדיסקים שנטענו. אתם צריכים לפרמט ולטעון את הדיסקים האלה בעצמכם. אפשר לבצע את המשימה הזו לפני או אחרי יצירת האשכול. מידע נוסף זמין במאמר התקנות של צומתי LVP.
משאב אשכול
חובה
לא ניתן לשינוי
storage.lvpShare
בקטע הזה מפורטת ההגדרה של אמצעי אחסון מקומיים קבועים שמגובים על ידי ספריות משנה במערכת קבצים משותפת. ספריות המשנה האלה נוצרות באופן אוטומטי במהלך יצירת האשכול.
מידע נוסף זמין במאמר שיתוף LVP.
משאב אשכול
חובה
לא ניתן לשינוי
storage.lvpShare.path
חובה. מחרוזת. בשדה path מציינים את הנתיב של המכונה המארחת שבו אפשר ליצור ספריות משנה. לכל ספריית משנה נוצר PersistentVolume (PV) מקומי. הוראות להגדרת שיתוף LVP מפורטות במאמר הגדרת שיתוף LVP.
משאב אשכול
חובה
לא ניתן לשינוי
storage.lvpShare.numPVUnderSharedPath
חובה. מחרוזת. מציינים את מספר תיקיות המשנה שרוצים ליצור ב-lvpShare.path. ערך ברירת המחדל הוא 5. הוראות להגדרת שיתוף LVP מפורטות במאמר הגדרת שיתוף LVP.
משאב אשכול
חובה
לא ניתן לשינוי
storage.lvpShare.storageClassName
חובה. מחרוזת. מציינים את ה-StorageClass שבו משתמשים כדי ליצור נפחי אחסון מתמידים. ה-StorageClass נוצר במהלך יצירת האשכול. ערך ברירת המחדל הוא local-shared. להוראות להגדרת שיתוף LVP, ראו הגדרת שיתוף LVP.
משאב אשכול
אופציונלי
לא ניתן לשינוי
type
חובה. מחרוזת. מציין את סוג האשכול. מודל הפריסה הרגיל מורכב מאשכול אדמין אחד ומאשכול משתמש אחד או יותר, שמנוהלים על ידי אשכול האדמין.
תוכנת Google Distributed Cloud תומכת בסוגי האשכולות הבאים:
אדמין – אשכול שמשמש לניהול אשכולות של משתמשים.
משתמש – אשכול שמשמש להרצת עומסי עבודה.
היברידי – אשכול יחיד גם לאדמין וגם לעומסי עבודה, שיכול גם לנהל אשכולות של משתמשים.
עצמאי – אשכול יחיד שיכול לנהל את עצמו, וגם להריץ עומסי עבודה, אבל לא יכול ליצור או לנהל אשכולות משתמשים אחרים.
סוג האשכול מצוין בזמן יצירת האשכול, ואי אפשר לשנות אותו כשמעדכנים או משדרגים. מידע נוסף על יצירת אשכולות זמין במאמר יצירת אשכולות: סקירה כללית.
זה שינוי אופציונלי. בקטע הזה מציינים את מצב הפעולה של התאמה אנכית של קבוצות Pod לעומס. התכונה הזו זמינה בגרסת טרום-השקה (Preview) לאשכולות מגרסה 1.33 ואילך.
לדוגמה:
apiVersion:baremetal.cluster.gke.io/v1kind:Clustermetadata:name:cluster1namespace:cluster-cluster1annotations:preview.baremetal.cluster.gke.io/vertical-pod-autoscaler:enablespec:# ... other cluster spec fieldsverticalPodAutoscaling:# Set to true for automated updatesenableUpdater:true# Set to true to reduce recommender memory usageenableMemorySaver:true
אתם יכולים לעדכן את האשכול בכל שלב כדי להפעיל, להשבית או להגדיר התאמה אנכית של Pods לעומס. מידע נוסף על הפעלה ושימוש בהתאמה אנכית של קבוצות Pod לעומס זמין במאמר הגדרת התאמה אנכית של קבוצות Pod לעומס.
זה שינוי אופציונלי. ערך בוליאני (true|false). הפעלה או השבתה של מצב חיסכון בזיכרון להתאמה אנכית של קבוצות Pod לעומס. מצב חיסכון בזיכרון מקטין את הזיכרון שבשימוש של רכיב ההמלצות של התאמה אנכית של קבוצות Pod לעומס. כשמגדירים את enableMemorySaver לערך true, שירות ההמלצות עוקב רק אחרי פודים שיש להם משאב מותאם אישית תואם מסוג VerticalPodAutoscaler, ומחשב את הצבירות שלהם. מצב החיסכון בזיכרון מושבת (false) כברירת מחדל.
זה שינוי אופציונלי. ערך בוליאני (true|false). מציינים את המצב שבו רוצים להחיל את ההמלצות לגבי משאבי Pod:
במצב המלצה (enableUpdater: false), ההתאמה האנכית של קבוצות Pod לעומס מנתחת את השימוש במשאבים ומפרסמת ערכים מומלצים לבקשות ולמגבלות של מעבד וזיכרון בקטע הסטטוס של המשאבים המותאמים אישית של VerticalPodAutoscaler שאתם יוצרים. במצב המלצה, כדי ליישם את הגדרות המשאבים המומלצות, צריך לערוך את המשאבים באופן ידני.
במצב עדכון אוטומטי (enableUpdater: true), התאמה אנכית של קבוצות Pod לעומס מנתחת את השימוש במשאבים ומפרסמת ערכים מומלצים לבקשות ולמגבלות של מעבד וזיכרון בקטע הסטטוס של המשאבים המותאמים אישית של VerticalPodAutoscaler שאתם יוצרים. לאחר מכן, ההתאמה האנכית של קבוצות Pod לעומס מיישמת את ההמלצות באופן אוטומטי.
כברירת מחדל, הכלי Vertical Pod Autoscaler פועל במצב המלצה (enableUpdater: false).
זה שינוי אופציונלי. מציינים את ההגדרות לחיבור לשרת Prometheus.
שדה התצורה הזה של האשכול מאפשר להשתמש במכונה של Prometheus כספק היסטוריה קבוע להתאמה אנכית של קבוצות Pod לעומס. היכולת הזו זמינה בגרסת טרום-השקה (Preview) לאשכולות בגרסה 1.34. כשהרכיב מופעל, הוא יכול לשלוח שאילתה לשרת Prometheus בזמן ההפעלה או ההפעלה מחדש, כדי לאחזר נתונים היסטוריים לטווח ארוך של שימוש במשאבים (מדדי שימוש במעבד ושימוש בזיכרון) לכל ה-Pods המנוהלים.
בדוגמה הבאה מוצגת הגדרת Prometheus שמשתמשת באימות בסיסי:
apiVersion:baremetal.cluster.gke.io/v1kind:Clustermetadata:name:cluster1namespace:cluster-cluster1annotations:preview.baremetal.cluster.gke.io/vertical-pod-autoscaler:enablespec:# ... other cluster spec fieldsverticalPodAutoscaling:...# other vertical Pod autoscaling fieldsprometheus:url:"http://prometheus.prometheus.svc.cluster.local:9090"auth:basicAuth:usernameRef:name:prom-basic-credskey:usernamepasswordRef:name:prom-basic-credskey:password
נדרש כשמציינים את הגדרות Prometheus. כתובת ה-URL של נקודת הקצה של Prometheus. כשמשתמשים ב-Prometheus כספק היסטוריה קבוע להתאמה אנכית של קבוצות Pod לעומס, צריך להשתמש בשם הדומיין הבא שמוגדר במלואו (FQDN):
prometheus: השם של שירות Kubernetes (שירות האפליקציה של Prometheus עצמו).
prometheus: השם של מרחב השמות של Kubernetes שבו השירות פועל.
svc: מציין שזהו סוג משאב של שירות בתוך האשכול.
cluster.local: סיומת ברירת המחדל של הדומיין לרשת הפנימית של אשכול Kubernetes.
משאב אשכול
חובה
ניתן לשינוי
verticalPodAutoscaling.prometheus.auth
זה שינוי אופציונלי. בקטע הזה מופיעות הגדרות האימות שנדרשות למערכת ההמלצות כדי להתחבר ל-Prometheus. התאמה אנכית של קבוצות Pod לעומס תומכת במנגנוני אימות בסיסיים (שם משתמש וסיסמה) ובמנגנוני אימות של טוקן למוכ"ז. אם במכונה של Prometheus לא נדרש אימות, צריך להסיר את הקטע הזה.
אם במכונה של Prometheus משתמשים בשיטת אימות אחרת, כמו Transport Layer Security (TLS), אי אפשר להשתמש בה עם התכונה "התאמה אנכית של קבוצות Pod לעומס". לדרישות נוספות, קראו את המאמר שימוש ב-Prometheus כספק היסטוריה קבוע.
משאב אשכול
אופציונלי
ניתן לשינוי
verticalPodAutoscaling.prometheus.auth.basicAuth
זה שינוי אופציונלי. מציינים את שם המשתמש והסיסמה לאימות בסיסי.
זה שינוי אופציונלי. ערך בוליאני (true|false). ערך ברירת המחדל הוא false, האימות נכשל אם הסוד או המפתח לא מוגדרים.
משאב אשכול
אופציונלי
ניתן לשינוי
name
חובה. מחרוזת. בדרך כלל, שם מרחב השמות משתמש בתבנית cluster-CLUSTER_NAME, אבל התחילית cluster- לא נדרשת באופן מחמיר מאז גרסת התוכנה 1.7.2 של Google Distributed Cloud.
אי אפשר לשנות את הערך הזה באשכולות קיימים.
משאב של מרחב שמות
חובה
לא ניתן לשינוי
clusterName
מחרוזת. חובה. שם האשכול שאליו מוסיפים את מאגר הצמתים. צריך ליצור את המשאב של מאגר הצמתים באותו מרחב שמות כמו האשכול המשויך, ולהפנות לשם האשכול בשדה הזה. למידע נוסף, קראו את המאמר הוספה והסרה של מאגרי צמתים באשכול.
זה שינוי אופציונלי. מספר שלם (לא שלילי). מציינת את הכמות המקסימלית של בקשות משיכה של תמונות שאפשר להוסיף לתור העיבוד כדי לטפל בעליות חדות בבקשות. ברגע שמתחילה משימת משיכה, אפשר להוסיף בקשה חדשה לתור. ערך ברירת המחדל הוא 10. השדה הזה תואם לאפשרות ההגדרה של kubelet (v1beta1)
registryBurst.
הערך של registryPullQPS מקבל קדימות על פני ההגדרה הזו. לדוגמה, בהגדרות ברירת המחדל, מותר לשלוח עד 10 שאילתות בו-זמנית, אבל הן חייבות להיות מעובדות בקצב ברירת המחדל של חמש שאילתות לשנייה. ההתנהגות הזו של פרץ נתונים מתרחשת רק כש-registryPullQPS גדול מ-0.
אפשר להגדיר את השדה הזה בכל פעם שיוצרים, מעדכנים או משדרגים אשכול, וההגדרה נשמרת גם אחרי שדרוג האשכול. מידע נוסף זמין במאמר הגדרת משיכת קובצי אימג' של kubelet.
משאב NodePool
אופציונלי
ניתן לשינוי
kubeletConfig.registryPullQPS
זה שינוי אופציונלי. מספר שלם (לא שלילי). מציינת את קצב העיבוד של שאילתות לשליפת קובצי אימג' מ-Artifact Registry, בשאילתות לשנייה (QPS).
כשהערך של registryPullQPS גדול מ-0, קצב השאילתות מוגבל למספר הזה של שאילתות לשנייה. אם המדיניות registryPullQPS מוגדרת לערך 0, אין הגבלה על קצב השאילתות. ערך ברירת המחדל הוא 5.
השדה הזה תואם לאפשרות ההגדרה של kubelet (v1beta1)
registryPullQPS.
אפשר להגדיר את השדה הזה בכל פעם שיוצרים, מעדכנים או משדרגים אשכול, וההגדרה נשמרת גם אחרי שדרוג האשכול. מידע נוסף זמין במאמר הגדרת משיכת קובצי אימג' של kubelet.
משאב NodePool
אופציונלי
ניתן לשינוי
kubeletConfig.serializeImagePulls
זה שינוי אופציונלי. ערך בוליאני (true|false). השדה הזה מציין אם הפעולות של Artifact Registry pull מעובדות במקביל או אחת בכל פעם. ברירת המחדל היא true, שמציינת שכל בקשת משיכה מעובדת בנפרד. כשהערך מוגדר ל-false, kubelet שולף תמונות במקביל. השדה הזה תואם לאפשרות ההגדרה של kubelet (v1beta1)
serializeImagePulls.
אפשר להגדיר את השדה הזה בכל פעם שיוצרים, מעדכנים או משדרגים אשכול, וההגדרה נשמרת גם אחרי שדרוג האשכול. מידע נוסף זמין במאמר הגדרת משיכת קובצי אימג' של kubelet.
משאב NodePool
אופציונלי
ניתן לשינוי
taints
זה שינוי אופציונלי. אובייקט. הכתמת צומת מאפשרת לסמן צומת כך שהמתזמן יימנע משימוש בו או ימנע שימוש בו לפודים מסוימים. הכתם מורכב מצמד מפתח/ערך ומהשפעה משויכת. הערכים key ו-value הם מחרוזות שמשמשות לזיהוי ה-taint, והערך effect מציין איך ה-pods מטופלים בצומת. לאובייקט taints יכולים להיות כמה טיינטים.
השדה effect יכול להכיל אחד מהערכים הבאים:
NoSchedule – אי אפשר לתזמן pod בצומת, אלא אם יש לו toleration תואם.
PreferNoSchedule – המערכת נמנעת מהצבת pod שלא סובל את ה-taint בצומת, אבל זה לא חובה.
NoExecute – פודים שלא יכולים להתמודד עם ה-taint מפונים מיד, ופודים שיכולים להתמודד עם ה-taint לא מפונים אף פעם.
בתוכנת Google Distributed Cloud, הטיינטים מותאמים לצמתים של מאגר הצמתים, אלא אם ההערה baremetal.cluster.gke.io/label-taint-no-sync חלה על האשכול. מידע נוסף על דחיות (taints) מופיע במאמר דחיות (taints) וטולרנטיות.
לדוגמה:
taints:-key:statusvalue:testpooleffect:NoSchedule
משאב NodePool
אופציונלי
ניתן לשינוי
labels
זה שינוי אופציונלי. מיפוי (צמדי מפתח/ערך).
התוויות מותאמות לצמתים של מאגר הצמתים, אלא אם ההערה baremetal.cluster.gke.io/label-taint-no-sync חלה על האשכול. למידע נוסף על תוויות, ראו תוויות ובוררים.
משאב NodePool
אופציונלי
ניתן לשינוי
upgradeStrategy
זה שינוי אופציונלי. בקטע הזה יש הגדרות לקביעת אסטרטגיית השדרוג של הצמתים במאגר צומתי העובדים. מידע נוסף זמין במאמר שדרוגים מקבילים.
הערה: אל תוסיפו את הקטע הזה למאגרי צמתים של מישור הבקרה או של מאזן העומסים.
משאב NodePool
אופציונלי
ניתן לשינוי
upgradeStrategy.parallelUpgrade
זה שינוי אופציונלי. בקטע הזה מופיעות הגדרות לשדרוג מקביל של צמתים במאגר צמתים עובדים. בשדרוג אשכול רגיל שמוגדר כברירת מחדל, כל צומת באשכול משודרג ברצף, אחד אחרי השני. אתם יכולים להגדיר מאגרים של צומתי עובדים כך שכמה צמתים ישודרגו במקביל כשתשדרגו את האשכול. שדרוג צמתים במקביל מאיץ משמעותית את שדרוגי האשכולות, במיוחד באשכולות עם מאות צמתים.
במאגר צומתי עובדים, אפשר לציין את מספר הצמתים שרוצים לשדרג בו-זמנית, ולהגדיר סף מינימלי למספר הצמתים שיכולים להריץ עומסי עבודה במהלך תהליך השדרוג.
זה שינוי אופציונלי. מספר שלם (חיובי). ברירת המחדל: 1. מקסימום: 15.
כברירת מחדל (1), הצמתים משודרגים ברצף, אחד אחרי השני. כשמגדירים את concurrentNodes למספר שגדול מ-1, השדה הזה מציין את מספר הצמתים שצריך לשדרג במקביל. שימו לב למגבלות הבאות של concurrentNodes:
הערך לא יכול להיות גדול מ-50% ממספר הצמתים במאגר הצמתים, או מהמספר הקבוע 15 (הקטן מביניהם). לדוגמה, אם במאגר הצמתים יש 20 צמתים, אי אפשר לציין ערך שגדול מ-10. אם במאגר הצמתים יש 100 צמתים, הערך המקסימלי שאפשר לציין הוא 15.
כשמשתמשים בשדה הזה יחד עם השדה minimumAvailableNodes, הערכים המשולבים שלהם לא יכולים לחרוג מהמספר הכולל של הצמתים במאגר הצמתים. לדוגמה, אם במאגר הצמתים יש 20 צמתים והערך של minimumAvailableNodes מוגדר כ-18, הערך של concurrentNodes לא יכול להיות גדול מ-2.
שדרוגים במקביל לא מכבדים את התקציב לשיבוש Pod (PDB).
אם עומסי העבודה שלכם רגישים לשיבושים, מומלץ לציין את minimumAvailableNodes כדי לוודא שכמות מסוימת של צמתים תישאר זמינה להרצת עומסי עבודה במהלך תהליך השדרוג. מידע נוסף זמין במאמר שדרוגים מקבילים.
זה שינוי אופציונלי. מספר שלם (לא שלילי). ברירת המחדל: תלויה ב-concurrentNodes. למידע נוסף על ערכי ברירת המחדל של minimumAvailableNodes, קראו את המאמר ערכי ברירת המחדל של שדרוג מקביל. השדה minimumAvailableNodes מאפשר לציין את כמות הצמתים במאגר שצריכים להישאר זמינים במהלך תהליך השדרוג. צומת נחשב ללא זמין כשהוא משודרג באופן פעיל. צומת נחשב גם כלא זמין אם מתקיים אחד מהתנאים הבאים:
הצומת במצב תחזוקה
הצומת בתהליך התאמה
הצומת נתקע באמצע השדרוג
כשמשתמשים בשדה הזה יחד עם השדה concurrentNodes, הערכים המשולבים שלהם לא יכולים לחרוג מהמספר הכולל של הצמתים במאגר הצמתים. לדוגמה, אם במאגר הצמתים יש 20 צמתים והערך של concurrentNodes מוגדר כ-10, הערך של minimumAvailableNodes לא יכול להיות גדול מ-10.
ערך גבוה של minimumAvailableNodes ממזער את בעיות הקיבולת בתזמון Pods, ולכן עוזר להגן על עומסי העבודה במהלך שדרוג האשכול. עם זאת, ערך גבוה של minimumAvailableNodes מגדיל את הסיכון שהשדרוג יתעכב בזמן ההמתנה שהצמתים יהיו זמינים. מידע נוסף זמין במאמר שדרוגים מקבילים.
משאב NodePool
אופציונלי
ניתן לשינוי
privateRegistries
זה שינוי אופציונלי. בקטע הזה אפשר לציין מאגר פרטי שבו ישתמשו בשביל קובצי אימג' של עומסי עבודה. השיטה הזו להגדרת המאגר הפרטי בקטע של פרטי הכניסה בקובץ התצורה של האשכול מיועדת לאשכולות היברידיים או עצמאיים שיש להם רק מאגרי צומתי עובדים.
מחרוזת. בשדה הזה מציינים את המארח והיציאה של מרשם פרטי אחד. אפשר לציין את המארח באמצעות שם דומיין או כתובת IP. אין לכלול את הקידומת http או https.
השדה host נדרש כשמציינים מרשם פרטי לאשכול היברידי או לאשכול עצמאי.
לדוגמה:
-host:10.200.0.2:5007
פרטי כניסה
אופציונלי
ניתן לשינוי
privateRegistries.caCertPath
זה שינוי אופציונלי. מחרוזת. הנתיב של קובץ אישור ה-CA (רשות אישורי בסיס לשרתים) אם שרת המרשם משתמש באישור TLS פרטי. אם המרשם המקומי לא דורש אישור TLS פרטי, אפשר להשמיט את השדה הזה.
פרטי כניסה
אופציונלי
ניתן לשינוי
privateRegistries.pullCredentialConfigPath
זה שינוי אופציונלי. מחרוזת. הנתיב של קובץ התצורה של Docker CLI, config.json. Docker שומר את הגדרות האימות בקובץ התצורה. השדה הזה רלוונטי רק לשימוש במאגרים פרטיים ברמת הצומת.
משתמשים בשדה pullCredentialConfigPath כשמגדירים אשכול היברידי או אשכול עצמאי, כדי לתת לצמתים גישה למרשם פרטי שדורש אימות.
פרטי כניסה
אופציונלי
ניתן לשינוי
registryMirrors
זה שינוי אופציונלי. בקטע הזה מציינים את מאגר ה-mirror שבו רוצים להשתמש כדי להתקין אשכולות, במקום Artifact Registry (gcr.io). מידע נוסף על השימוש במאגר mirror זמין במאמר שימוש במאגר mirror לקובצי אימג' של קונטיינרים.
מחרוזת. נקודת הקצה של המראה, שמורכבת מכתובת ה-IP וממספר היציאה של שרת המרשם. אפשר גם להשתמש במרחב שמות משלכם בשרת המרשם במקום במרחב השמות הבסיסי. בלי מרחב שמות, הפורמט של נקודת הקצה הוא REGISTRY_IP:PORT. כשמשתמשים במרחב שמות, הפורמט של נקודת הקצה הוא REGISTRY_IP:PORT/v2/NAMESPACE.
כשמציינים מרחב שמות, צריך לציין גם את /v2.
השדה endpoint נדרש כשמציינים מאגר מראה של מרשם. אפשר לציין כמה שרתי מראה ונקודות קצה.
זה שינוי אופציונלי. מחרוזת. הנתיב של קובץ אישור ה-CA (רשות אישורי בסיס לשרתים) אם שרת המרשם משתמש באישור TLS פרטי. אם המרשם המקומי לא דורש אישור TLS פרטי, אפשר להשמיט את השדה הזה.
Registry mirror
אופציונלי
ניתן לשינוי
registryMirrors.pullCredentialConfigPath
זה שינוי אופציונלי. מחרוזת. הנתיב של קובץ התצורה של Docker CLI, config.json. Docker שומר את הגדרות האימות בקובץ התצורה. השדה הזה רלוונטי רק לשימוש במאגרי מראות. אם שרת המרשם לא דורש קובץ תצורה של Docker לצורך אימות, ברירת המחדל היא false.
זה שינוי אופציונלי. מערך של שמות דומיינים למארחים שמשוכפלים באופן מקומי למאגר המראה הנתון (endpoint). כשסביבת זמן הריצה של הקונטיינר נתקלת בבקשות משיכה של קובצי אימג' ממארח מסוים, היא בודקת קודם את מאגר המראה המקומי. למידע נוסף, קראו את המאמר יצירת אשכולות מהמראה של המרשם.
קובץ התצורה של האשכול שנוצר על ידי bmctl כולל שדות לציון נתיבים לקובצי מפתחות ופרטי כניסה במערכת הקבצים המקומית. פרטי הכניסה והמפתחות האלה נדרשים כדי לחבר את האשכולות זה לזה ולפרויקט ב- Google Cloud .
מחרוזת. הנתיב למפתח של חשבון שירות שיש לו את הרשאות ה-IAM הנדרשות כדי לגשת למשאבים של Artifact Registry.
פרטי כניסה
אופציונלי
ניתן לשינוי
sshPrivateKeyPath
מחרוזת. הנתיב למפתח הפרטי של SSH. כדי לגשת לצומת צריך SSH.
פרטי כניסה
אופציונלי
ניתן לשינוי
gkeConnectAgentServiceAccountKeyPath
מחרוזת. הנתיב למפתח של חשבון השירות של הנציג.
Google Distributed Cloud משתמש בחשבון השירות הזה כדי לשמור על החיבור בין האשכולות המקומיים לבין Google Cloud.
מחרוזת. הנתיב למפתח של חשבון השירות לפעולות.
ב-Google Distributed Cloud, חשבון השירות לפעולות משמש לאימות מול Google Cloud Observability כדי לגשת ל-Logging API ול-Monitoring API. המפתח של חשבון השירות לפעולות נדרש, למעט באשכולות של משתמשים. אשכולות של משתמשים משתמשים בפרטי הכניסה שצוינו לאשכול המנהל (אדמין או היברידי).
אי אפשר להשבית את Cloud Logging ו-Cloud Monitoring באשכולות.
מגדיר את טווח ה-CIDR של IPv4. צריך לספק לפחות אחד מהשדות ipv4 או ipv6 למשאב ClusterCidrConfig.
משאב ClusterCIDRConfig
אופציונלי
לא ניתן לשינוי
ipv4.cidr
מחרוזת. הגדרת בלוק ה-CIDR של צומת IPv4. לצמתים יכול להיות רק טווח אחד מכל משפחה. בלוק ה-CIDR הזה חייב להתאים ל-CIDR של ה-Pod שמתואר במשאב Cluster.
לדוגמה:
ipv4:cidr:"10.1.0.0/16"
משאב ClusterCIDRConfig
חובה
לא ניתן לשינוי
ipv4.perNodeMaskSize
מספר שלם. מגדיר את גודל המסכה של בלוק ה-CIDR של כתובת ה-IPv4 של הצומת. לדוגמה, הערך 24 מתורגם למסכת הרשת /24. מוודאים שמסכת הרשת של בלוק ה-CIDR של הצומת גדולה מהכמות המקסימלית של הפודים ש-kubelet יכול לתזמן, שמוגדרת בדגל --max-pods של kubelet.
משאב ClusterCIDRConfig
חובה
לא ניתן לשינוי
ipv6
מגדירה את טווח ה-CIDR של IPv6. צריך לספק לפחות אחד מהשדות ipv4 או ipv6 למשאב ClusterCidrConfig.
משאב ClusterCIDRConfig
אופציונלי
לא ניתן לשינוי
ipv6.cidr
מחרוזת. מגדירה את בלוק ה-CIDR של צומת IPv6. לצמתים יכול להיות רק טווח אחד מכל משפחה.
לדוגמה:
ipv6:cidr:"2620:0:1000:2631:3:10:3:0/112"
משאב ClusterCIDRConfig
חובה
לא ניתן לשינוי
ipv6.perNodeMaskSize
מספר שלם. מגדיר את גודל המסכה של בלוק ה-CIDR של IPv6 בצומת. לדוגמה, הערך 120 מתורגם למסכת הרשת /120. מוודאים שמסכת הרשת של בלוק ה-CIDR של הצומת גדולה מהכמות המקסימלית של הפודים ש-kubelet יכול לתזמן, שמוגדרת בדגל --max-pods של kubelet.
משאב ClusterCIDRConfig
חובה
לא ניתן לשינוי
nodeSelector.matchLabels
מגדיר לאילו צמתים חלה הגדרת ה-CIDR. בורר צמתים ריק פועל כברירת מחדל שחלה על כל הצמתים.