כדי לצמצם את כמות הפעולות לניהול התשתית באופן ידני באשכולות Standard של Google Kubernetes Engine (GKE), אפשר לאפשר ל-GKE ליצור באופן אוטומטי מאגרי צמתים בשביל פודים בהמתנה. במאמר הזה מוסבר איך להפעיל יצירה אוטומטית של מאגרי צמתים עבור אשכולות ועומסי עבודה, איך להגדיר ערכי ברירת מחדל לצמתים שנוצרים באופן אוטומטי ואיך להפעיל יצירה אוטומטית עבור כמה תרחישי שימוש נפוצים.
המסמך הזה מיועד לאדמינים, למפעילים ולמפתחים של אשכולות שמנהלים תשתית באשכולות רגילים ופורסים עליהם עומסי עבודה. מידע נוסף על אופן הפעולה של יצירה אוטומטית של מאגרי צמתים ועל שיטות ההפעלה השונות (כמו ComputeClasses והקצאת משאבים אוטומטית של צמתים ברמת האשכול) זמין במאמר מידע על יצירה אוטומטית של מאגרי צמתים.
מגבלות
יש כמה מגבלות על יצירה אוטומטית של מאגר צמתים:
- כל ההגבלות של המידרוג האוטומטי של אשכולות חלות גם על יצירה אוטומטית של מאגר צמתים.
- יכול להיות שבאשכולות עם יותר מ-200 מאגרי צמתים סך הכול, זמן האחזור יגדל במהלך התאמה אוטומטית לעומס. כל הגדרה שמפעילה יצירה של מאגר צמתים חדש, כמו הפרדה של עומסי עבודה או שימוש בכמה ComputeClasses, מגדילה את המספר הזה. מידע נוסף על מגבלות של אשכולות זמין במאמר מגבלות ושיטות מומלצות בקטע 'תכנון אשכולות גדולים'.
- כל מגבלות המשאבים שאתם מגדירים לאשכול כשאתם מפעילים הקצאה אוטומטית של צמתים חלות גם על מאגרי הצמתים ש-GKE יוצר עבור ComputeClasses.
- ההגדרות הבאות לא נתמכות על ידי ComputeClasses:
- שדרוגים בהדרגה (rolling) או שדרוגים כחול-ירוק (blue-green).
- תקינות הצומת והפעלה מאובטחת.
- כדי להפעיל יצירה אוטומטית של מאגר צמתים עבור ComputeClass בגרסאות GKE קודמות ל-1.33.3-gke.1136000, צריך גם להפעיל הקצאת צמתים אוטומטית (NAP) ברמת האשכול. המגבלה הזו לא חלה בגרסה 1.33.3-gke.1136000 של GKE ואילך.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:
- מפעילים את ממשק Google Kubernetes Engine API. הפעלת Google Kubernetes Engine API
- אם רוצים להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
דרישות
אתם יכולים להפעיל יצירה אוטומטית של מאגר צמתים לכל האשכול בכל גרסה של GKE באמצעות התכונה הקצאת צמתים אוטומטית (NAP). אם רוצים להשתמש ב-ComputeClass כדי להפעיל יצירה אוטומטית של מאגר צמתים ברמת עומס העבודה, ולא רוצים להפעיל הקצאת צמתים אוטומטית (NAP), האשכול צריך להיות בגרסה GKE 1.33.3-gke.1136000 ואילך.
כדי להפעיל יצירה אוטומטית של מאגר צמתים להגדרות צמתים ספציפיות, צריך לעמוד בדרישות הגרסה המתאימות. מידע נוסף על תמיכה בגרסאות עבור תצורות שונות זמין בהערות על הגרסה של GKE (תכונות חדשות) או במסמכים שרלוונטיים לתרחיש השימוש שלכם.
הפעלת יצירה אוטומטית ברמת עומס העבודה
אפשר להפעיל יצירה אוטומטית של מאגר צמתים לעומסי עבודה ספציפיים באשכול באמצעות ComputeClass. השדה nodePoolAutoCreation במפרט ComputeClass קובע אם GKE יכול ליצור מאגרי צמתים חדשים בשביל Pods שבוחרים את ComputeClass הזה. ב-GKE בגרסה 1.33.3-gke.1136000 ואילך, אפשר להפעיל יצירה אוטומטית של מאגר צמתים עבור ComputeClass גם אם לא מופעלת הקצאת צמתים אוטומטית (NAP) באשכול.
בגרסאות קודמות ל-1.33.3-gke.1136000, צריך גם להפעיל הקצאת צמתים אוטומטית ברמת האשכול.
כדי להפעיל יצירה אוטומטית של מאגר צמתים עבור ComputeClass, פועלים לפי השלבים הבאים:
להשתמש באשכול חדש או קיים מסוג Standard בגרסה 1.33.3-gke.1136000 ומעלה.
אפשר גם ליצור אשכול חדש מסוג Standard.
אם האשכול לא עומד בדרישות שבשלב הקודם, צריך להפעיל הקצאת צמתים אוטומטית (NAP) ברמת האשכול.
שומרים את הדוגמה הבאה של ComputeClass כקובץ YAML:
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: priorities: - machineFamily: n4 - machineFamily: n2 whenUnsatisfiable: ScaleUpAnyway nodePoolAutoCreation: enabled: trueמחליפים את
COMPUTE_CLASSבשם של ComputeClass חדש. מידע נוסף על השדות הזמינים ב-ComputeClasses אפשר למצוא ב-ComputeClass CustomResourceDefinition.מחילים את מניפסט ComputeClass על האשכול:
kubectl apply -f PATH_TO_COMPUTECLASS_MANIFESTמחליפים את
PATH_TO_COMPUTECLASS_MANIFESTבנתיב לקובץ המניפסט של ComputeClass.שומרים את פריסת הדוגמה הבאה, שבוחרת ComputeClass, בתור
helloweb-deploy.yaml:יוצרים את הפריסה באשכול:
kubectl apply -f helloweb-deploy.yamlכדי לוודא ש-GKE יצר מאגר צמתים חדש בשביל ה-Pod, מקבלים רשימה של מאגרי הצמתים באשכול:
gcloud container node-pools list \ --cluster=CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול. -
CONTROL_PLANE_LOCATION: האזור או האזור של מישור הבקרה של האשכול, למשלus-central1אוus-central1-a.
-
הפעלת הקצאת משאבים אוטומטית של צמתים ברמת האשכול
כדי להפעיל יצירה אוטומטית של מאגר צמתים לכל אשכול GKE, משתמשים בהגדרה הקצאת צמתים אוטומטית (NAP). התכונה הקצאת צמתים אוטומטית (NAP) מאפשרת ל-GKE ליצור מאגרי צמתים חדשים לעומסי עבודה בהמתנה בכל האשכול, על סמך ההגדרה במפרט ה-Pod או ב-ComputeClass. אפשר להפעיל הקצאת משאבים אוטומטית של צמתים באשכולות חדשים או קיימים.
לפני שמפעילים הקצאת צמתים אוטומטית (NAP), צריך לתכנן את הגודל של טווח כתובות ה-IPv4 הראשי של רשת המשנה ב-VPC. GKE משתמש בטווח כתובות ה-IP הזה כטווח כתובות ה-IP הראשי של הצמתים. בהתאם לגודל ולאופן הפריסה של האשכול, יכול להיות שבטווח כתובות ה-IP שמוגדר כברירת מחדל לצמתים לא יהיו מספיק כתובות IP להקצאה לצמתים חדשים. אם מעדכנים את הגודל של טווח כתובות ה-IP של הצומת אחרי שיוצרים את האשכול, צריך לעדכן את כללי חומת האש של אשכול GKE כדי לאפשר תעבורה מכתובות ה-IP החדשות.
כדי לקבל מאגרי צמתים שנוצרו אוטומטית בגרסאות GKE מוקדמות יותר מ-1.33.3-gke.1136000, צריך לבצע את השלבים שבקטע הזה. אפשר גם להפעיל הקצאת משאבים אוטומטית של צמתים באשכול קיים. לשם כך, צריך לערוך את הגדרת האשכול במסוף Google Cloud .
כדי להפעיל הקצאת משאבים אוטומטית של צמתים כשיוצרים אשכול חדש, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Create a Kubernetes cluster במסוף Google Cloud .
בדף Cluster basics (הגדרות בסיסיות של אשכול), מציינים שם ומיקום לאשכול החדש.
בתפריט הניווט, לוחצים על אוטומציה.
מסמנים את תיבת הסימון הפעלת הקצאת צמתים אוטומטית (NAP). מוצג קטע מגבלות.
מציינים מגבלות למעבד ולזיכרון.
לוחצים על שמירת השינויים.
gcloud
gcloud container clusters create CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--enable-autoprovisioning \
--min-cpu=MINIMUM_CPU \
--min-memory=MINIMUM_MEMORY \
--max-cpu=MAXIMUM_CPU \
--max-memory=MAXIMUM_MEMORY \
--autoprovisioning-scopes=https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring,https://www.googleapis.com/auth/devstorage.read_only
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול שרוצים להפעיל בו הקצאת צמתים אוטומטית (NAP). -
CONTROL_PLANE_LOCATION: האזור או האזור של מישור הבקרה של האשכול, למשלus-central1אוus-central1-a. -
MINIMUM_CPU: מספר הליבות המינימלי באשכול. -
MINIMUM_MEMORY: נפח הזיכרון המינימלי ב-GiB באשכול. -
MAXIMUM_CPU: המספר המקסימלי של ליבות באשכול. המגבלה הזו חלה על סכום ליבות ה-CPU בכל הצמתים החדשים והקיימים באשכול, כולל מאגרי צמתים שנוצרו באופן ידני. -
MAXIMUM_MEMORY: קיבולת הזיכרון המקסימלית באשכול, ב-GiB. המגבלה הזו חלה על סכום קיבולת הזיכרון בכל מאגרי הצמתים החדשים והקיימים באשכול, כולל מאגרי צמתים שנוצרו באופן ידני.
הגדרת הגדרות באמצעות קובץ תצורה של הקצאת צמתים אוטומטית (NAP)
אתם יכולים להגדיר מגבלות משאבים והגדרות של צמתים להקצאת צמתים אוטומטית (NAP) באמצעות קובץ תצורה YAML. קובץ התצורה מאפשר לציין באופן הצהרתי ערכי ברירת מחדל למאגרי צמתים שנוצרו אוטומטית, ולבצע הגדרות מתקדמות, כמו הפעלה של תיקון אוטומטי של צמתים. הקובץ הזה לא קשור ל-ComputeClasses, שהם משאבים מותאמים אישית של Kubernetes. במקום זאת, קובץ התצורה הוא חלופה גמישה יותר לשימוש בדגלים של שורת הפקודה כדי לציין הגדרות להקצאת צמתים אוטומטית (NAP). מידע נוסף מופיע במאמר הגדרות ברירת מחדל ברמת האשכול באמצעות קובץ הגדרה.
כדי ליצור קובץ תצורה ולהשתמש בו, פועלים לפי השלבים הבאים:
- בכלי לעריכת טקסט, יוצרים קובץ YAML בנתיב שאליו Google Cloud CLI יכול לגשת.
מוסיפים את ההגדרות שרוצים להגדיר או לשנות, כמו בדוגמה הבאה:
resourceLimits: - resourceType: 'cpu' minimum: 4 maximum: 10 - resourceType: 'memory' maximum: 64 - resourceType: 'nvidia-tesla-t4' maximum: 4 management: autoRepair: true autoUpgrade: true shieldedInstanceConfig: enableSecureBoot: true enableIntegrityMonitoring: trueבדוגמה הזו, ההגדרות של הקצאת משאבים אוטומטית של צמתים הן:
-
resourceLimits: הגדרת מגבלות משאבים למעבד, לקיבולת הזיכרון ולמעבדי NVIDIA T4 GPU באשכול. המגבלות האלה חלות על סכום קיבולת המשאבים באשכול, כולל במאגרי צמתים שנוצרו באופן ידני. -
management: מפעיל תיקון אוטומטי של צמתים ושדרוג אוטומטי של צמתים לכל מאגרי הצמתים החדשים שנוצרו אוטומטית באשכול. -
shieldedInstanceConfig: הפעלה של אתחול מאובטח ומעקב אחר תקינות הצמתים בכל מאגרי הצמתים החדשים שנוצרו אוטומטית באשכול.
-
כדי לספק את קובץ התצורה ל-GKE, מציינים את הדגל
--autoprovisioning-config-fileואת הדגל--enable-autoprovisioningעבור אשכול חדש או קיים:gcloud container clusters create CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILEמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
PATH_TO_CONFIGURATION_FILE: הנתיב לקובץ התצורה.
-
אחרי שמחילים את קובץ ההגדרות על האשכול, GKE משתמש בהגדרות שבקובץ עבור מאגרי צמתים חדשים שנוצרו אוטומטית באשכול. ההגדרות האלה לא חלות על מאגרי צמתים קיימים שנוצרו על ידי GKE באשכול.
הגדרת מגבלות משאבים להקצאת צמתים אוטומטית (NAP)
כשמשתמשים בהקצאת צמתים אוטומטית (NAP) ברמת האשכול, צריך להגדיר מגבלות לכמות הכוללת של המשאבים שהאשכול יכול להכיל בכל מאגרי הצמתים שלו. כדי להפעיל הקצאת צמתים אוטומטית לאשכול, צריך לציין מגבלות של קיבולת המעבד והזיכרון באשכול. בנוסף, כדי להשתמש בסוגים אחרים של משאבים מצורפים כמו GPU ו-TPU, צריך לציין מגבלות למשאבים האלה. ההגבלות האלה נדרשות רק אם מפעילים את ההגדרה של הקצאת משאבים אוטומטית של צמתים עבור האשכול. אם אתם משתמשים רק ב-ComputeClasses כדי לקבל מאגרי צמתים שנוצרים אוטומטית, אתם לא צריכים להגדיר מגבלות משאבים.
אפשר להוסיף או לשנות את מגבלות המשאבים ליצירה אוטומטית של מאגר צמתים באחת מהשיטות הבאות:
- מסוף Google Cloud
- דגלים של ה-CLI של gcloud
- קובץ התצורה ברמת האשכול
כדי להגדיר מגבלות על משאבים באשכול קיים, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Kubernetes clusters במסוף Google Cloud .
לוחצים על שם האשכול. ייפתח הדף Cluster details.
לוחצים על הכרטיסייה פרטים.
בקטע Automation, בשורה הקצאת צמתים אוטומטית (NAP), לוחצים על Edit. החלונית עריכת הקצאת צמתים אוטומטית (NAP) נפתחת.
מסמנים את תיבת הסימון הפעלת הקצאת צמתים אוטומטית (NAP).
בקטע Limits (מגבלות), מציינים ערכי מינימום ומקסימום לקיבולת של CPU וזיכרון באשכול.
כדי להגדיר מגבלות למשאב אחר, כמו GPU או TPU, מבצעים את הפעולות הבאות:
- לוחצים על הוספת משאב.
- בתפריט הנפתח Resource type בוחרים את מודל ה-GPU או את סוג מכונת ה-TPU, לדוגמה NVIDIA A100 80GB או ct5p.
- מציינים ערכי מינימום ומקסימום למשאב.
אופציונלי: בקטע Node pool locations (מיקומי מאגר הצמתים), בוחרים אזורים ספציפיים שבהם GKE ייצור צמתים. לדוגמה, אם אתם מתכננים להריץ עומסי עבודה של GPU, כדאי לבחור אזורים עם זמינות גבוהה לסוג ה-GPU שבחרתם.
לוחצים על שמירת השינויים.
gcloud
מריצים אחת מהפקודות הבאות:
מציינים את מגבלות המשאבים של המעבד (CPU) והזיכרון:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --min-cpu=MINIMUM_CPU \ --min-memory=MINIMUM_MEMORY \ --max-cpu=MAXIMUM_CPU \ --max-memory=MAXIMUM_MEMORYמחליפים את מה שכתוב בשדות הבאים:
-
MINIMUM_CPU: מספר הליבות המינימלי באשכול. -
MINIMUM_MEMORY: נפח הזיכרון המינימלי ב-GiB באשכול. -
MAXIMUM_CPU: המספר המקסימלי של ליבות באשכול. המגבלה הזו חלה על סכום ליבות ה-CPU בכל מאגרי הצמתים באשכול, כולל מאגרי צמתים שנוצרו באופן ידני. -
MAXIMUM_MEMORY: קיבולת הזיכרון המקסימלית באשכול, ב-GiB. המגבלה הזו חלה על סכום קיבולת הזיכרון בכל מאגרי הצמתים באשכול, כולל מאגרי צמתים שנוצרו באופן ידני.
-
מציינים מגבלות על משאבי GPU:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --min-cpu=MINIMUM_CPU \ --min-memory=MINIMUM_MEMORY \ --max-cpu=MAXIMUM_CPU \ --max-memory=MAXIMUM_MEMORY \ --min-accelerator=type=GPU_TYPE,count=MINIMUM_GPU_COUNT \ --max-accelerator=type=GPU_TYPE,count=MAXIMUM_GPU_COUNTמחליפים את מה שכתוב בשדות הבאים:
-
GPU_TYPE: סוג המעבד הגרפי (GPU) שרוצים להגדיר לו מגבלה, למשלnvidia-l4. -
MINIMUM_GPU_COUNT: מספר המינימום של מעבדים גרפיים מהסוג שצוין שיכולים להיות באשכול. -
MAXIMUM_GPU_COUNT: המספר המקסימלי של מעבדים גרפיים מהסוג שצוין שיכולים להיות באשכול.
-
מציינים את מגבלות המשאבים של TPU:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --min-cpu=MINIMUM_CPU \ --min-memory=MINIMUM_MEMORY \ --max-cpu=MAXIMUM_CPU \ --max-memory=MAXIMUM_MEMORY \ --min-accelerator=type=TPU_TYPE,count=MINIMUM_TPU_COUNT \ --max-accelerator=type=TPU_TYPE,count=MAXIMUM_TPU_COUNTמחליפים את מה שכתוב בשדות הבאים:
-
TPU_TYPE: סוג ה-TPU שעבורו רוצים להגדיר מגבלה. יש תמיכה בערכים הבאים:-
tpu-v4-podslice: TPU v4. -
tpu-v5-lite-podslice: TPU v5e עם סוגי מכונות שמתחילים ב-ct5lp-. -
tpu-v5p-slice: TPU v5e עם סוגי מכונות שמתחילים ב-ct5p-. -
tpu-v6e-slice: TPU Trillium.
-
-
MINIMUM_TPU_COUNT: המספר המינימלי של שבבי TPU מהסוג שצוין שיכולים להיות באשכול. אם הערך שאתם מציינים גדול ממספר שבבי ה-TPU ב-TPU slice עם כמה מארחים, יכול להיות שה-TPU slice לא יוקטן. -
MAXIMUM_TPU_COUNT: המספר המקסימלי של שבבי TPU מהסוג שצוין שיכולים להיות באשכול. במקרים של חלקי TPU עם כמה מארחים, צריך לציין ערך שגדול ממספר הצ'יפים בכל חלק, כדי ש-GKE יוכל לשנות את גודל החלק באופן אטומי. מספר השבבים בפרוסה הוא תוצאה של טופולוגיית ה-TPU. לדוגמה, אם הטופולוגיה היא2x2x2, מספר השבבים בפרוסת ה-TPU הוא8, כלומר הערך של MAXIMUM_TPU_COUNT צריך להיות גדול מ-8.
-
קובץ תצורה
בקובץ התצורה, מציינים אחת מהקבוצות הבאות של שדות בשדה
resourceLimits:מציינים את מגבלות המשאבים של המעבד (CPU) והזיכרון:
resourceLimits: - resourceType: 'cpu' minimum: MINIMUM_CPU maximum: MAXIMUM_CPU - resourceType: 'memory' minimum: MINIMUM_MEMORY maximum: MAXIMUM_MEMORYמחליפים את מה שכתוב בשדות הבאים:
-
MINIMUM_CPU: מספר הליבות המינימלי באשכול. -
MINIMUM_MEMORY: נפח הזיכרון המינימלי ב-GiB באשכול. -
MAXIMUM_CPU: המספר המקסימלי של ליבות באשכול. המגבלה הזו חלה על סכום ליבות ה-CPU בכל מאגרי הצמתים באשכול, כולל מאגרי צמתים שנוצרו באופן ידני. -
MAXIMUM_MEMORY: קיבולת הזיכרון המקסימלית באשכול, ב-GiB. המגבלה הזו חלה על סכום קיבולת הזיכרון בכל מאגרי הצמתים באשכול, כולל מאגרי צמתים שנוצרו באופן ידני.
-
מציינים מגבלות על משאבי GPU:
resourceLimits: - resourceType: 'cpu' minimum: MINIMUM_CPU maximum: MAXIMUM_CPU - resourceType: 'memory' minimum: MINIMUM_MEMORY maximum: MAXIMUM_MEMORY - resourceType: 'GPU1_TYPE' minimum: MINIMUM_GPU1_COUNT maximum: MAXIMUM_GPU1_COUNT - resourceType: 'GPU2_TYPE' minimum: MINIMUM_GPU2_COUNT maximum: MAXIMUM_GPU2_COUNTמחליפים את מה שכתוב בשדות הבאים:
-
GPU1_TYPE,GPU2_TYPE: סוגי יחידות ה-GPU שרוצים להגדיר להן מגבלות, למשלnvidia-l4. -
MINIMUM_GPU1_COUNT,MINIMUM_GPU2_COUNT: מספר יחידות ה-GPU המינימלי מהסוגים שצוינו שיכול להיות באשכול. -
MAXIMUM_GPU1_COUNT,MAXIMUM_GPU2_COUNT: המספר המקסימלי של יחידות GPU מהסוגים שצוינו שיכולות להיות באשכול.
-
מציינים את מגבלות המשאבים של TPU:
resourceLimits: - resourceType: 'cpu' minimum: MINIMUM_CPU maximum: MAXIMUM_CPU - resourceType: 'memory' minimum: MINIMUM_MEMORY maximum: MAXIMUM_MEMORY - resourceType: 'TPU1_TYPE' minimum: MINIMUM_TPU1_COUNT maximum: MAXIMUM_TPU1_COUNT - resourceType: 'TPU2_TYPE' minimum: MINIMUM_TPU2_COUNT maximum: MAXIMUM_TPU2_COUNTמחליפים את מה שכתוב בשדות הבאים:
-
TPU1_TYPE,TPU2_TYPE: סוגי ה-TPU שרוצים להגדיר להם מגבלות. יש תמיכה בערכים הבאים:-
tpu-v4-podslice: TPU v4. -
tpu-v5-lite-podslice: TPU v5e עם סוגי מכונות שמתחילים ב-ct5lp-. -
tpu-v5p-slice: TPU v5e עם סוגי מכונות שמתחילים ב-ct5p-. -
tpu-v6e-slice: TPU Trillium.
-
-
MINIMUM_TPU1_COUNT,MINIMUM_TPU2_COUNT: מספר שבבי ה-TPU המינימלי מהסוג שצוין שיכולים להיות באשכול. אם הערך שאתם מציינים גדול ממספר שבבי ה-TPU בפלח TPU מרובה מארחים, יכול להיות שהפלח לא יוקטן. -
MAXIMUM_TPU1_COUNT,MAXIMUM_TPU2_COUNT: המספר המקסימלי של שבבי TPU מהסוג שצוין שיכולים להיות באשכול. במקרים של חלקי TPU עם כמה מארחים, צריך לציין ערך שגדול ממספר השבבים בכל חלק, כדי ש-GKE יוכל להגדיל את החלק באופן אטומי. מספר השבבים בפרוסה הוא תוצאה של טופולוגיית ה-TPU. לדוגמה, אם הטופולוגיה שלTPU1_TYPEהיא2x2x2, מספר השבבים בפרוסה הוא8, כלומר הערך שלMAXIMUM_TPU1_COUNTחייב להיות גדול מ-8.
-
כדי לספק את קובץ התצורה ל-GKE, מציינים את הדגל
--autoprovisioning-config-fileואת הדגל--enable-autoprovisioningעבור אשכול חדש או קיים:gcloud container clusters create CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILEמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
PATH_TO_CONFIGURATION_FILE: הנתיב לקובץ התצורה.
-
סימון מאגרי צמתים קיימים כמאגרי צמתים שנוצרו אוטומטית
אחרי שמפעילים הקצאת צמתים אוטומטית ברמת האשכול, אפשר לסמן כל מאגר צמתים קיים באשכול כמאגר שנוצר אוטומטית. GKE מנהל את שינוי הגודל במאגרי הצמתים האלה, כולל מחיקת מאגרי הצמתים כשהם ריקים. אתם יכולים לסמן מאגרי צמתים שנוצרו באופן ידני כמאגרי צמתים שנוצרו באופן אוטומטי, כדי לאפשר ל-GKE לנהל את מאגרי הצמתים בשבילכם.
אם משביתים את ההקצאה האוטומטית של משאבים לאשכול, GKE מפסיק לנהל את כל מאגרי הצמתים הקיימים שנוצרו אוטומטית באשכול. אם תפעילו מחדש את ההקצאה האוטומטית של משאבים לאשכול בשלב מאוחר יותר, GKE לא ימשיך באופן אוטומטי את הניהול של מאגרי הצמתים הקיימים האלה. צריך לסמן את מאגרי הצמתים הקיימים כמאגרים שנוצרו אוטומטית.
כדי לסמן מאגר צמתים קיים כמאגר שנוצר אוטומטית, מריצים את הפקודה הבאה:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--enable-autoprovisioning
מחליפים את NODE_POOL_NAME בשם של מאגר הצמתים.
הגדרת הגדרות ברירת מחדל למאגרי צמתים שנוצרו אוטומטית
GKE משתמש במפרטים של ComputeClasses ו-Pods כדי לקבוע את סוגי הצמתים שיכולים להריץ בצורה אופטימלית את ה-Pods בהמתנה. אפשר גם להגדיר הגדרות ברירת מחדל ש-GKE מחיל על מאגרי צמתים שנוצרו אוטומטית, כמו חשבון שירות מותאם אישית לניהול זהויות והרשאות גישה (IAM) לצמתים או הגדרות מותאמות אישית של דיסק האתחול. הגדרות ברירת המחדל האלה מבטלות את ערכי ברירת המחדל התואמים ש-Google מגדירה לאשכולות שלכם. לדוגמה, אפשר להגדיר תמונת צומת של Ubuntu כברירת המחדל למאגרי צמתים שנוצרו אוטומטית, וכך לבטל את ברירת המחדל של GKE תמונת צומת של מערכת הפעלה שמותאמת לקונטיינרים.
אפשר להגדיר הגדרות ברירת מחדל ברמת האשכול באמצעות הקצאה אוטומטית של צמתים, או ברמת עומס העבודה ב-ComputeClasses. לפני שמגדירים הגדרה באחת מהרמות האלה, כדאי לקחת בחשבון את הנקודות הבאות:
- ההגדרות ברמת האשכול חלות על כל מאגר הצמתים שנוצר אוטומטית באשכול, וההגדרות של ComputeClass חלות רק על עומסי עבודה שמשתמשים ב-ComputeClass הזה.
- אם מציינים את אותה הגדרת ברירת מחדל ב-ComputeClass וברמת האשכול, GKE משתמש בהגדרה של ComputeClass לעומסי עבודה שמשתמשים ב-ComputeClass.
- ערכי ברירת המחדל שתגדירו יחולו רק על מאגרי צמתים שנוצרו אוטומטית חדשים. השינוי לא ישפיע על מאגרי צמתים קיימים.
בקטעים הבאים מוסבר איך להגדיר הגדרות ברירת מחדל ספציפיות.
הגדרת תמונת ברירת המחדל של הצומת
בוחרים באחת מהאפשרויות הבאות:
ComputeClass
במניפסט של ComputeClass, משתמשים בשדה
nodePoolConfig.imageType. השדה הזה זמין ב-GKE מגרסה 1.32.4-gke.1198000 ואילך.apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: priorities: - machineFamily: n4 - machineFamily: n4d nodePoolConfig: imageType: IMAGE_TYPE whenUnsatisfiable: ScaleUpAnyway nodePoolAutoCreation: enabled: trueמחליפים את
IMAGE_TYPEבערך של node image, שיכול להיות אחד מהערכים הבאים:-
cos_containerd: מערכת הפעלה שמותאמת לקונטיינרים עם containerd. -
ubuntu_containerd: Ubuntu עם containerd.
-
מחילים את מניפסט ComputeClass על האשכול:
kubectl apply -f PATH_TO_COMPUTECLASS_MANIFESTמחליפים את
PATH_TO_COMPUTECLASS_MANIFESTבנתיב לקובץ המניפסט של ComputeClass.
gcloud
כדי להגדיר את תמונת ברירת המחדל של הצומת בשורת הפקודה, משתמשים בדגל --autoprovisioning-image-type:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--enable-autoprovisioning \
--autoprovisioning-image-type=IMAGE_TYPE
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
IMAGE_TYPE: תמונת הצומת, שיכולה להיות אחת מהאפשרויות הבאות:-
cos_containerd: מערכת הפעלה שמותאמת לקונטיינרים עם containerd. -
ubuntu_containerd: Ubuntu עם containerd.
-
כדי להגדיר את תמונת ברירת המחדל של הצומת בקובץ תצורה:
מציינים את השדה
imageTypeבקובץ התצורה:imageType: 'IMAGE_TYPE'אם בקובץ התצורה יש הגדרות אחרות, אל תשנו אותן. כל שינוי או הסרה בקובץ התצורה ישנו גם את ההגדרות התואמות ברמת האשכול.
כדי לספק את קובץ התצורה ל-GKE, מציינים את הדגל
--autoprovisioning-config-fileואת הדגל--enable-autoprovisioningעבור אשכול חדש או קיים:gcloud container clusters create CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILEמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
PATH_TO_CONFIGURATION_FILE: הנתיב לקובץ התצורה.
-
הגדרת חשבון שירות ברירת המחדל ב-IAM לצמתים
צמתי GKE משתמשים בחשבון שירות של IAM למשימות מערכת כמו רישום ביומן ומעקב. כדי לשנות את חשבון השירות של IAM למאגרי צמתים שנוצרו אוטומטית, בוחרים באחת מהאפשרויות הבאות:
ComputeClass
במניפסט של Computeclass, משתמשים בשדה
nodePoolConfig.serviceAccount. השדה הזה זמין ב-GKE מגרסה 1.31.4-gke.1072000 ואילך.apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: priorities: - machineFamily: n4 - machineFamily: n4d nodePoolConfig: serviceAccount: SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com whenUnsatisfiable: ScaleUpAnyway nodePoolAutoCreation: enabled: trueמחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_ACCOUNT_NAME: השם של חשבון השירות ב-IAM, כמוmy-node-account. -
PROJECT_ID: מזהה הפרויקט של פרויקט חשבון השירות.
-
מחילים את מניפסט ComputeClass על האשכול:
kubectl apply -f PATH_TO_COMPUTECLASS_MANIFESTמחליפים את
PATH_TO_COMPUTECLASS_MANIFESTבנתיב לקובץ המניפסט של ComputeClass.
gcloud
כשמשתמשים ב-CLI של gcloud כדי להגדיר חשבון שירות שמשמש כברירת מחדל למאגרי צמתים שנוצרו אוטומטית, צריך גם לציין היקפי גישה שמאגרי הצמתים צריכים כדי לפעול בצורה תקינה.
כדי להגדיר את חשבון השירות ואת היקפי הגישה שמוגדרים כברירת מחדל בשורת הפקודה, משתמשים בדגלים --autoprovisioning-service-account ו---autoprovisioning-scopes:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--enable-autoprovisioning \
--autoprovisioning-service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
--autoprovisioning-scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/trace.append
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_ACCOUNT_NAME: השם של חשבון השירות ב-IAM, כמוmy-node-account. -
PROJECT_ID: מזהה הפרויקט של פרויקט חשבון השירות.
כדי להגדיר את חשבון השירות ואת היקפי הגישה שמוגדרים כברירת מחדל בקובץ תצורה:
בקובץ התצורה, מציינים את השדות
serviceAccountו-scopes:serviceAccount: SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com scopes: https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/trace.appendאם בקובץ התצורה יש הגדרות אחרות, אל תשנו אותן. כל שינוי או הסרה בקובץ התצורה ישנו גם את ההגדרות התואמות ברמת האשכול.
כדי לספק את קובץ התצורה ל-GKE, מציינים את הדגל
--autoprovisioning-config-fileואת הדגל--enable-autoprovisioningעבור אשכול חדש או קיים:gcloud container clusters create CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILEמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
PATH_TO_CONFIGURATION_FILE: הנתיב לקובץ התצורה.
-
הגדרת אזורי ברירת המחדל לצמתים שנוצרים אוטומטית
כברירת מחדל, מערכת GKE יוצרת צמתים באופן אוטומטי באזורים הבאים, בהתאם לסוג האשכול:
- אשכולות אזוריים: GKE יוצר צמתים בשלושה אזורים אקראיים באזור האשכול.
- אשכולות אזוריים: GKE יוצר צמתים באותו אזור שבו נמצא מישור הבקרה של האשכול.
אפשר לציין באופן ידני רשימה של אזורים שבהם GKE יוצר צמתים באופן אוטומטי. האזורים האלה צריכים להיות באותו אזור כמו מישור הבקרה של האשכול. לדוגמה, אם יש לכם אשכול אזורי עם מישור הבקרה באזור us-central1-a, אתם יכולים לציין כל אזור באזור us-central1 כדי שמערכת GKE תיצור אוטומטית צמתים. אם משנים את אזורי ברירת המחדל לצמתים שנוצרו אוטומטית באשכול קיים, השינויים חלים רק על מאגרי צמתים חדשים ש-GKE יוצר.
כדי לציין את אזורי ברירת המחדל לצמתים שנוצרים באופן אוטומטי, בוחרים באחת מהאפשרויות הבאות:
ComputeClass
במניפסט של ComputeClass, משתמשים בשדה
spec.priorityDefaults.location.zones. השדה הזה זמין ב-GKE בגרסה 1.33.1-gke.1545000 ואילך.apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: priorityDefaults: location: zones: ['ZONE1','ZONE2','...'] priorities: - machineFamily: n4 - machineFamily: n4d whenUnsatisfiable: ScaleUpAnyway nodePoolAutoCreation: enabled: trueמחליפים את
ZONE1,ZONE2,...ברשימה מופרדת בפסיקים של אזורי ברירת המחדל לצמתים שנוצרו אוטומטית, כמוus-central1-a','us-central1-b', 'us-central1-f'. GKE משתמש באזורים האלה אם כללים ספציפיים בשדהspec.prioritiesלא כוללים רשימה מפורשת של אזורים.אופציונלי: אם אתם מקצים מכונות וירטואליות של TPU, אתם יכולים להשתמש באזור AI, כמו
us-central1-ai1a. אזורי AI הם מיקומים מיוחדים שעברו אופטימיזציה לעומסי עבודה של AI/ML בתוך אזורים Google Cloud .מחילים את מניפסט ComputeClass על האשכול:
kubectl apply -f PATH_TO_COMPUTECLASS_MANIFESTמחליפים את
PATH_TO_COMPUTECLASS_MANIFESTבנתיב לקובץ המניפסט של ComputeClass.
gcloud
כדי להגדיר את אזורי ברירת המחדל ליצירה אוטומטית של מאגר צמתים בשורת הפקודה, משתמשים בדגל --autoprovisioning-locations:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--enable-autoprovisioning \
--autoprovisioning-locations=ZONE1,ZONE2,...
מחליפים את ZONE1,ZONE2,... ברשימה של אזורים שמופרדים בפסיקים, שמוגדרים כברירת מחדל לצמתים שנוצרים אוטומטית, כמו us-central1-a','us-central1-b', 'us-central1-f'.
כדי להגדיר את אזורי ברירת המחדל ליצירה אוטומטית של מאגר צמתים באמצעות קובץ תצורה:
מציינים את השדה
autoprovisioningLocationsבקובץ התצורה:autoprovisioningLocations: - ZONE1 - ZONE2מחליפים את
ZONE1,ZONE2באזורי ברירת המחדל של צמתים שנוצרו אוטומטית, כמו 'us-central1-a' ו-'us-central1-b'.אם בקובץ התצורה יש הגדרות אחרות, אל תשנו אותן. כל שינוי או הסרה בקובץ התצורה ישנו גם את ההגדרות התואמות ברמת האשכול.
כדי לספק את קובץ התצורה ל-GKE, מציינים את הדגל
--autoprovisioning-config-fileואת הדגל--enable-autoprovisioningעבור אשכול חדש או קיים:gcloud container clusters create CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILEמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
PATH_TO_CONFIGURATION_FILE: הנתיב לקובץ התצורה.
-
הגדרת מפתחות הצפנה בניהול הלקוח להצפנת דיסק האתחול
אתם יכולים לציין מפתח הצפנה בניהול הלקוח (CMEK) ב-Cloud Key Management Service, ש-GKE משתמש בו כדי להצפין את דיסקי האתחול של הצמתים במאגרי צמתים שנוצרו אוטומטית. צריך ליצור את המפתח לפני שמשתמשים בו עם יצירה אוטומטית של מאגר צמתים. כדי להגדיר CMEK לדיסקים של אתחול הצומת, בוחרים באחת מהאפשרויות הבאות:
ComputeClass
ב-ComputeClasses, צריך לציין את המפתח בכל כלל עדיפות בשדה spec.priorities ב-ComputeClass.
במניפסט של ComputeClass, משתמשים בשדה
priorities.storage.bootDiskKMSKey:apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: priorities: - machineFamily: n4 storage: bootDiskKMSKey: projects/KEY_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME - machineFamily: n4d storage: bootDiskKMSKey: projects/KEY_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME whenUnsatisfiable: ScaleUpAnyway nodePoolAutoCreation: enabled: trueמחליפים את מה שכתוב בשדות הבאים:
-
KEY_PROJECT_ID: מזהה הפרויקט שמכיל את המפתח. -
KEY_LOCATION: המיקום שבו נמצא אוסף המפתחות. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
KEY_NAME: השם של המפתח.
-
מחילים את מניפסט ComputeClass על האשכול:
kubectl apply -f PATH_TO_COMPUTECLASS_MANIFESTמחליפים את
PATH_TO_COMPUTECLASS_MANIFESTבנתיב לקובץ המניפסט של ComputeClass.
gcloud
מציינים את השדה
bootDiskKmsKeyבקובץ התצורה:bootDiskKmsKey: projects/KEY_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
KEY_PROJECT_ID: מזהה הפרויקט שמכיל את המפתח. -
KEY_LOCATION: המיקום שבו נמצא אוסף המפתחות. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
KEY_NAME: השם של המפתח.
אם בקובץ התצורה יש הגדרות אחרות, אל תשנו אותן. כל שינוי או הסרה בקובץ התצורה ישנו גם את ההגדרות התואמות ברמת האשכול.
-
כדי לספק את קובץ התצורה ל-GKE, מציינים את הדגל
--autoprovisioning-config-fileואת הדגל--enable-autoprovisioningעבור אשכול חדש או קיים:gcloud container clusters create CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILEמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
PATH_TO_CONFIGURATION_FILE: הנתיב לקובץ התצורה.
-
הגדרה של יושרה של צומת והפעלה מאובטחת
אפשר להפעיל הפעלה מאובטחת וניטור תקינות למאגרי צמתים שנוצרו באופן אוטומטי רק באמצעות קובץ ההגדרות של הקצאת צמתים אוטומטית (NAP).
מציינים את השדה
shieldedInstanceConfigבקובץ התצורה:shieldedInstanceConfig: enableSecureBoot: true enableIntegrityMonitoring: trueאם בקובץ התצורה יש הגדרות אחרות, אל תשנו אותן. כל שינוי או הסרה בקובץ התצורה ישנו גם את ההגדרות התואמות ברמת האשכול.
כדי לספק את קובץ התצורה ל-GKE, מציינים את הדגל
--autoprovisioning-config-fileואת הדגל--enable-autoprovisioningעבור אשכול חדש או קיים:gcloud container clusters create CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILEמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
PATH_TO_CONFIGURATION_FILE: הנתיב לקובץ התצורה.
-
הגדרת תיקון אוטומטי ושדרוג אוטומטי של צמתים
אפשר לשנות את ההגדרות של תיקונים אוטומטיים של צמתים ושל שדרוגים אוטומטיים של צמתים במאגרי צמתים שנוצרו אוטומטית. התכונות האלה מופעלות כברירת מחדל בכל אשכולות GKE ובמאגרי הצמתים. מומלץ להשאיר את התכונות האלה מופעלות כדי לשפר את האמינות והיציבות של האשכולות.
כדי לשנות את ההגדרות של תיקון אוטומטי של צמתים ושדרוג אוטומטי של צמתים, בוחרים באחת מהאפשרויות הבאות:
ComputeClass
במניפסט של ComputeClass, משתמשים בשדה
autoRepairובשדהautoUpgradeבשדהspec.nodePoolConfig. השדות האלה זמינים בגרסה 1.34.0-gke.2201000 של GKE ואילך.apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: nodePoolConfig: autoRepair: true autoUpgrade: true priorities: - machineFamily: n4 - machineFamily: n4d whenUnsatisfiable: ScaleUpAnyway nodePoolAutoCreation: enabled: trueמחילים את מניפסט ComputeClass על האשכול:
kubectl apply -f PATH_TO_COMPUTECLASS_MANIFESTמחליפים את
PATH_TO_COMPUTECLASS_MANIFESTבנתיב לקובץ המניפסט של ComputeClass.
gcloud
כדי להפעיל את ההגדרות של תיקון אוטומטי ושדרוג אוטומטי בשורת הפקודה, משתמשים בדגלים
--enable-autoprovisioning-autorepairו---enable-autoprovisioning-autoupgrade:gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --enable-autoprovisioning-autorepair \ --enable-autoprovisioning-autoupgradeכדי להשבית את ההגדרות של תיקון אוטומטי ושדרוג אוטומטי בשורת הפקודה, משתמשים בדגלים
--no-enable-autoprovisioning-autorepairו---no-enable-autoprovisioning-autoupgrade:gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --no-enable-autoprovisioning-autorepair \ --no-enable-autoprovisioning-autoupgradeכדי לשנות את ההגדרות של תיקון אוטומטי ושדרוג אוטומטי של צמתים באמצעות קובץ תצורה, פועלים לפי השלבים הבאים:
מציינים את השדות
management.autoRepairו-management.autoUpgradeבקובץ התצורה:management: autoRepair: true autoUpgrade: trueאם בקובץ התצורה יש הגדרות אחרות, אל תשנו אותן. כל שינוי או הסרה בקובץ התצורה ישנו גם את ההגדרות התואמות ברמת האשכול.
כדי לספק את קובץ התצורה ל-GKE, מציינים את הדגל
--autoprovisioning-config-fileואת הדגל--enable-autoprovisioningעבור אשכול חדש או קיים:gcloud container clusters create CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILEמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
PATH_TO_CONFIGURATION_FILE: הנתיב לקובץ התצורה.
-
הגדרת שדרוג מתח
אפשר לציין הגדרות לשדרוג מהיר במאגרי צמתים שנוצרו אוטומטית. שדרוגים מצטברים הם שיטת השדרוג של הצמתים שמוגדרת כברירת מחדל ב-GKE. כדי לשנות את הגדרות שדרוג המתח, צריך להגדיר הקצאת צמתים אוטומטית (NAP) ברמת האשכול.
כדי לציין הגדרות של שדרוג מתח בשורת הפקודה, משתמשים בדגלים
--autoprovisioning-max-surge-upgradeו---autoprovisioning-max-unavailable-upgrade:gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --autoprovisioning-max-surge-upgrade=MAX_SURGE \ --autoprovisioning-max-unavailable-upgrade=MAX_UNAVAILABLEמחליפים את מה שכתוב בשדות הבאים:
-
MAX_SURGE: המספר המקסימלי של הצמתים שאפשר להוסיף למאגר הצמתים במהלך שדרוגים. -
MAX_UNAVAILABLE: המספר המקסימלי של הצמתים במאגר הצמתים שיכולים להיות לא זמינים בו-זמנית במהלך שדרוגים.
-
כדי לציין הגדרות לשדרוג מתח באמצעות קובץ תצורה, מבצעים את השלבים הבאים:
מציינים את השדות
upgradeSettings.maxSurgeUpgradeו-upgradeSettings.maxUnavailableUpgradeבקובץ התצורה:upgradeSettings: maxSurgeUpgrade: MAX_SURGE maxUnavailableUpgrade: MAX_UNAVAILABLEאם בקובץ התצורה יש הגדרות אחרות, אל תשנו אותן. כל שינוי או הסרה בקובץ התצורה ישנו גם את ההגדרות התואמות ברמת האשכול.
כדי לספק את קובץ התצורה ל-GKE, מציינים את הדגל
--autoprovisioning-config-fileואת הדגל--enable-autoprovisioningעבור אשכול חדש או קיים:gcloud container clusters create CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILEמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
PATH_TO_CONFIGURATION_FILE: הנתיב לקובץ התצורה.
-
הגדרות השדרוג המהיר שאתם מציינים חלות רק אם האשכול שלכם משתמש בשדרוגים מהירים כדי לשדרג מאגרי צמתים שנוצרו אוטומטית. כדי להעביר את אסטרטגיית שדרוג הצמתים לשדרוגים מצטברים עבור מאגרי צמתים חדשים שנוצרו אוטומטית, מריצים את הפקודה הבאה:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--enable-autoprovisioning \
--enable-autoprovisioning-surge-upgrade
כשמחליפים את אסטרטגיית השדרוג, GKE משתמש בכל ההגדרות שהגדרתם בעבר לאסטרטגיית השדרוג הזו.
שימוש בשדרוגים מסוג blue-green למאגרי צמתים חדשים שנוצרו באופן אוטומטי
אתם יכולים לשנות את אסטרטגיית השדרוג של הצמתים לשדרוגים מסוג blue-green לכל מאגרי הצמתים החדשים שנוצרו באופן אוטומטי, ולשנות את הגדרות ברירת המחדל של שדרוגים מסוג blue-green. כדי לשנות את אסטרטגיית השדרוג, צריך להגדיר הקצאת צמתים אוטומטית (NAP) ברמת האשכול. כל שינוי שתבצעו יחול רק על מאגרי צמתים חדשים שנוצרו אוטומטית. אפשר גם לעדכן מאגרי צמתים קיימים שנוצרו אוטומטית כדי להשתמש בשדרוגים מסוג blue-green. אי אפשר להשתמש בשדרוגים של blue-green עם שינוי גודל אוטומטי (גרסת Preview) עם מאגרי צמתים שנוצרו אוטומטית.
כדי להשתמש בשדרוגים מסוג blue-green ובהגדרות ברירת המחדל של GKE למאגרי צמתים חדשים שנוצרו אוטומטית, מריצים את הפקודה הבאה:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION --enable-autoprovisioning \ --enable-autoprovisioning-blue-green-upgradeכדי להשתמש בשדרוגים מסוג blue-green ולהגדיר הגדרות ברירת מחדל משלכם למאגרי צמתים חדשים שנוצרו אוטומטית, מריצים את הפקודה הבאה:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --enable-autoprovisioning-blue-green-upgrade \ --autoprovisioning-node-pool-soak-duration=NODE_POOL_SOAK_DURATION \ --autoprovisioning-standard-rollout-policy=batch-node-count=BATCH_NODE_COUNT,batch-soak-duration=BATCH_SOAK_DURATIONמחליפים את מה שכתוב בשדות הבאים:
-
NODE_POOL_SOAK_DURATION: משך הזמן בשניות שבו GKE ממתין אחרי ניקוז כל אצוות הצמתים במאגר הכחול לפני מחיקת המאגר הכחול. ערך ברירת המחדל הוא3600. -
BATCH_NODE_COUNT: מספר הצמתים שיש לרוקן באצווה במהלך שלב הריקון של מאגר הצמתים הכחול. ערך ברירת המחדל הוא1. אם מציינים ערך של0, GKE מדלג על השלב של ניקוז המאגר הכחול. -
BATCH_SOAK_DURATION: משך הזמן בשניות ש-GKE ממתין לפני התחלת פעולת ניקוז של קבוצת צמתים אחרי השלמת פעולת הניקוז הקודמת. ערך ברירת המחדל הוא0.
-
הגדרת דיסקים של אתחול צמתים בהתאמה אישית
כדי לציין את הסוג והגודל של דיסקי האתחול ש-GKE מצרף לכל מכונת VM של צומת במאגר צמתים שנוצר באופן אוטומטי, בוחרים באחת מהאפשרויות הבאות:
ComputeClass
משתמשים בשדות
bootDiskTypeו-bootDiskSizeבשדהspec.priorities.storageב-ComputeClass:apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: priorities: - machineType: n4-standard-16 storage: bootDiskType: BOOT_DISK_TYPE bootDiskSize: BOOT_DISK_SIZE - machineType: n4d-standard-16 storage: bootDiskType: BOOT_DISK_TYPE bootDiskSize: BOOT_DISK_SIZE whenUnsatisfiable: ScaleUpAnyway nodePoolAutoCreation: enabled: trueמחליפים את מה שכתוב בשדות הבאים:
-
BOOT_DISK_TYPE: סוג הדיסק שבו יש להשתמש כדיסק האתחול של הצומת. הערך שאתם מציינים צריך להיות נתמך על ידי סוג המכונה של Compute Engine ש-GKE משתמש בו בשביל כלל העדיפות הזה. הערך חייב להיות אחד מהערכים הבאים:-
pd-balanced: דיסק אחסון מתמיד מאוזן. -
pd-standard: דיסק מתמיד סטנדרטי. -
pd-ssd: דיסק מתמיד (Persistent Disk) לביצועים (SSD). -
hyperdisk-balanced: Google Cloud Hyperdisk Balanced.
-
-
BOOT_DISK_SIZE: הגודל, ב-GiB, של דיסק האתחול של הצומת. הערך המינימלי הוא10.
-
מחילים את מניפסט ComputeClass על האשכול:
kubectl apply -f PATH_TO_COMPUTECLASS_MANIFESTמחליפים את
PATH_TO_COMPUTECLASS_MANIFESTבנתיב לקובץ המניפסט של ComputeClass.
gcloud
מציינים בקובץ התצורה את השדות
diskSizeGbו-diskType:diskSizeGb: BOOT_DISK_SIZE diskType: BOOT_DISK_TYPEמחליפים את מה שכתוב בשדות הבאים:
-
BOOT_DISK_TYPE: סוג הדיסק שבו יש להשתמש כדיסק האתחול של הצומת. הערך שאתם מציינים צריך להיות נתמך על ידי סוג המכונה של Compute Engine ש-GKE משתמש בו בשביל כלל העדיפות הזה. הערך חייב להיות אחד מהערכים הבאים:-
pd-balanced: דיסק אחסון מתמיד מאוזן. -
pd-standard: דיסק מתמיד סטנדרטי. -
pd-ssd: דיסק מתמיד (Persistent Disk) לביצועים (SSD). -
hyperdisk-balanced: Google Cloud Hyperdisk Balanced.
-
-
BOOT_DISK_SIZE: הגודל, ב-GiB, של דיסק האתחול של הצומת. הערך המינימלי הוא10.
אם בקובץ התצורה יש הגדרות אחרות, אל תשנו אותן. כל שינוי או הסרה בקובץ התצורה ישנו גם את ההגדרות התואמות ברמת האשכול.
-
כדי לספק את קובץ התצורה ל-GKE, מציינים את הדגל
--autoprovisioning-config-fileואת הדגל--enable-autoprovisioningעבור אשכול חדש או קיים:gcloud container clusters create CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-autoprovisioning \ --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILEמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
PATH_TO_CONFIGURATION_FILE: הנתיב לקובץ התצורה.
-
GKE משריין חלק מדיסק האתחול של הצומת לשימוש בפונקציונליות של המערכת ולאחסון זמני. מידע נוסף זמין במאמר אחסון זמני שמגובה על ידי דיסק האתחול של הצומת.
הגדרת מאגרי צמתים שנוצרו באופן אוטומטי לתרחישים נפוצים
בקטעים הבאים מוסבר איך לבקש מאגרי צמתים שנוצרו באופן אוטומטי לתרחישי שימוש נפוצים מסוימים ב-GKE. מידע נוסף על תרחישי שימוש נוספים ועל תצורות נתמכות מופיע במאמרי העזרה שמתאימים לתרחיש השימוש הספציפי שלכם.
בחירת סדרת מכונות או סוג מכונה
כדי לבחור סדרת מכונות או סוג מכונה נתמכים של Compute Engine, בוחרים אחת מהאפשרויות הבאות:
ComputeClass
במניפסט של ComputeClass, מציינים את אחד מהשדות הבאים בשדה
spec.priorities. אפשר לציין את שני השדות האלה במניפסט ComputeClass זהה, אבל לא באותו כלל עדיפות.כדי לבחור סדרת מכונות, מציינים את השדה
machineFamilyבכלל עדיפות:apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: priorities: - machineFamily: MACHINE_SERIES whenUnsatisfiable: ScaleUpAnyway nodePoolAutoCreation: enabled: trueמחליפים את
MACHINE_SERIESבסדרת מכונות של Compute Engine, כמוn4.כדי לבחור סוג מכונה, מציינים את השדה
machineTypeבכלל עדיפות:apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: priorities: - machineType: MACHINE_TYPE whenUnsatisfiable: ScaleUpAnyway nodePoolAutoCreation: enabled: trueמחליפים את
MACHINE_TYPEבסוג מכונה של Compute Engine, כמוc4-standard-96. ב-GKE גרסה 1.33.2-gke.1111000 ואילך, אפשר גם לציין סוגי מכונות בהתאמה אישית בשדה הזה.
אי אפשר לציין את השדה
machineFamilyואת השדהmachineTypeבאותו כלל עדיפות.מחילים את מניפסט ComputeClass על האשכול:
kubectl apply -f PATH_TO_COMPUTECLASS_MANIFESTמחליפים את
PATH_TO_COMPUTECLASS_MANIFESTבנתיב לקובץ המניפסט של ComputeClass.
מפרט ה-Pod
במניפסט של Pod, בוחרים אחת מתוויות הצומת הבאות:
כדי לבחור סדרת מכונות, משתמשים ב
cloud.google.com/machine-familyתווית הצומת:apiVersion: v1 kind: Pod metadata: name: machine-series-pod spec: nodeSelector: cloud.google.com/machine-family: MACHINE_SERIES containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0מחליפים את
MACHINE_SERIESבסדרת מכונות של Compute Engine, כמוn4.כדי לבחור מכונה עם קונפיגורציה מוגדרת (predefined), משתמשים בתוויות הצמתים
cloud.google.com/machine-familyו-node.kubernetes.io/instance-type:apiVersion: v1 kind: Pod metadata: name: machine-series-pod spec: nodeSelector: cloud.google.com/machine-family: MACHINE_SERIES node.kubernetes.io/instance-type: MACHINE_TYPE containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0מחליפים את
MACHINE_TYPEבסוג מכונה של Compute Engine בסדרת המכונות שצוינה. לדוגמה, אם מצייניםn4בשדהMACHINE_SERIES, אפשר לצייןn4-standard-80בשדהMACHINE_TYPE.בגרסה GKE 1.33.2-gke.1111000, אפשר גם לציין סוגי מכונות בהתאמה אישית בשדה הזה.
יוצרים את ה-Pod:
kubectl apply -f PATH_TO_POD_MANIFESTמחליפים את הערך של
PATH_TO_POD_MANIFESTבנתיב למניפסט של ה-Pod.
בחירת יחידות GPU
כדי לבקש יחידות GPU למאגרי צמתים שנוצרו באופן אוטומטי, בוחרים באחת מהאפשרויות הבאות:
ComputeClass
במניפסט של ComputeClass, מציינים את השדה
spec.priorities.gpu:apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: priorities: - gpu: type: GPU_TYPE count: GPU_COUNT driverVersion: DRIVER_VERSION whenUnsatisfiable: DoNotScaleUp nodePoolAutoCreation: enabled: trueמחליפים את מה שכתוב בשדות הבאים:
-
GPU_TYPE: סוג ה-GPU לצירוף, למשלnvidia-l4. -
GPU_COUNT: מספר יחידות ה-GPU לצירוף לכל צומת. הערך חייב להיות לפחות1. -
DRIVER_VERSION: גרסת מנהל ההתקן של GPU להתקנה. הערך חייב להיותdefaultאוlatest. בשדה הזה נדרשת GKE בגרסה 1.31.1-gke.1858000 ואילך.
-
מחילים את מניפסט ComputeClass על האשכול:
kubectl apply -f PATH_TO_COMPUTECLASS_MANIFESTמחליפים את
PATH_TO_COMPUTECLASS_MANIFESTבנתיב לקובץ המניפסט של ComputeClass.בוחרים את ComputeClass בעומס עבודה של GPU, כמו בדוגמה הבאה:
apiVersion: v1 kind: Pod metadata: name: my-gpu-pod spec: nodeSelector: cloud.google.com/compute-class: nvidia-l4-class containers: - name: my-gpu-container image: nvidia/cuda:11.0.3-runtime-ubuntu20.04 command: ["/bin/bash", "-c", "--"] args: ["while true; do sleep 600; done;"] resources: limits: nvidia.com/gpu: 1
מפרט ה-Pod
כדי לבחור GPU במפרט של ה-Pod, צריך להגדיר הקצאה אוטומטית של צמתים ברמת האשכול ולהגדיר מגבלות משאבים לסוג ה-GPU הזה. כדי להגדיר את מגבלות המשאבים של ה-GPU ולבחור את ה-GPU ב-Pods, פועלים לפי השלבים הבאים:
- מגדירים את מגבלות המשאבים ברמת האשכול עבור מעבדי ה-GPU שרוצים להשתמש בהם, כמו שמתואר בקטע הגדרת מגבלות משאבים ליצירה אוטומטית של מאגר צמתים.
בוחרים יחידות GPU באמצעות תוויות צומת במפרט ה-Pod:
apiVersion: v1 kind: Pod metadata: name: my-gpu-pod spec: nodeSelector: cloud.google.com/gke-accelerator: GPU_TYPE cloud.google.com/gke-accelerator-count: GPU_COUNT cloud.google.com/gke-gpu-driver-version: DRIVER_VERSION containers: - name: my-gpu-container image: nvidia/cuda:11.0.3-runtime-ubuntu20.04 command: ["/bin/bash", "-c", "--"] args: ["while true; do sleep 600; done;"] resources: limits: nvidia.com/gpu: GPU_QUANTITYמחליפים את מה שכתוב בשדות הבאים:
-
GPU_TYPE: סוג ה-GPU לצירוף, למשלnvidia-l4. -
GPU_COUNT: מספר יחידות ה-GPU לצירוף לכל צומת. הערך חייב להיות לפחות1. -
DRIVER_VERSION: גרסת מנהל ההתקן של GPU להתקנה. הערך חייב להיותdefaultאוlatest. ב-GKE בגרסה 1.32.2-gke.1297000 ואילך, GKE מתקין באופן אוטומטי את גרסת הדרייברdefault. נדרשת גרסה 1.29.2-gke.1108000 ואילך של GKE כדי להשתמש בתווית הצומת הזו. מידע נוסף זמין במאמר בנושא התקנת דרייברים באמצעות הקצאת משאבים אוטומטית של צמתים עם GPU. -
GPU_QUANTITY: מספר יחידות ה-GPU לצירוף ל-Pod. הערך הזה צריך להיות קטן מהערך שלGPU_COUNTאו שווה לו.
-
בחירת מעבדי TPU
אפשר לבקש TPU במפרטים של ComputeClasses או Pod. בקטע הזה מניחים שאתם מכירים את הבחירה של Cloud TPU, ושאתם יודעים מהו סוג ה-TPU, הטופולוגיה והמספר שבהם אתם רוצים להשתמש. השלבים שצריך לבצע תלויים באופן שבו בוחרים TPU:
- ComputeClasses: ראו הקצאת TPU באמצעות מחלקות מחשוב בהתאמה אישית.
- מפרט ה-Pod:
- מגדירים את מגבלות המשאבים ברמת האשכול עבור יחידות ה-TPU שרוצים להשתמש בהן, כמו שמתואר בקטע הגדרת מגבלות משאבים ליצירה אוטומטית של מאגר צמתים.
- מגדירים את הסלקטורים ואת בקשות המשאבים במפרטים של ה-Pod, כמו שמתואר במאמר הפעלת עומס העבודה בצמתי פרוסת TPU.
הגבלת זמן הריצה של צמתים שנוצרו אוטומטית
אפשר לציין משך זמן מקסימלי שבסופו GKE יסיים את הפעולה של הצמתים שנוצרו אוטומטית. ההגבלות של Compute Engine חלות על מגבלת הזמן הזו.
בוחרים באחת מהאפשרויות הבאות:
ComputeClass
במניפסט של ComputeClass, משתמשים בשדה
spec.priorities.maxRunDurationSeconds. השדה הזה זמין ב-GKE מגרסה 1.32.1-gke.1159000 ואילך.apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: priorities: - machine-family: n4 maxRunDurationSeconds: MAX_RUN_DURATION whenUnsatisfiable: DoNotScaleUp nodePoolAutoCreation: enabled: trueמחליפים את
MAX_RUN_DURATIONבזמן, בשניות, שבו צמתים שנוצרו אוטומטית יכולים לפעול לפני ש-GKE מסיים את הפעולה של הצמתים.מחילים את מניפסט ComputeClass על האשכול:
kubectl apply -f PATH_TO_COMPUTECLASS_MANIFESTמחליפים את
PATH_TO_COMPUTECLASS_MANIFESTבנתיב לקובץ המניפסט של ComputeClass.
מפרט ה-Pod
במניפסט של ה-Pod, משתמשים בבורר צמתים בשביל התווית של הצומת
cloud.google.com/gke-max-run-duration-seconds. תווית הצומת הזו זמינה בגרסה 1.31.2-gke.1518000 של GKE ואילך.apiVersion: v1 kind: Pod metadata: name: machine-series-pod spec: nodeSelector: cloud.google.com/machine-family: n4 cloud.google.com/gke-max-run-duration-seconds: MAX_RUN_DURATION containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0מחליפים את
MAX_RUN_DURATIONבזמן, בשניות, שבו צמתים שנוצרו אוטומטית יכולים לפעול לפני ש-GKE מסיים את הפעולה של הצמתים.יוצרים את ה-Pod:
kubectl apply -f PATH_TO_POD_MANIFESTמחליפים את הערך של
PATH_TO_POD_MANIFESTבנתיב למניפסט של ה-Pod.
צריך לציין פלטפורמת מעבד מינימלית
הקצאת צמתים אוטומטית (NAP) תומכת ביצירת מאגרי צמתים עם פלטפורמת CPU מינימלית שצוינה. אפשר לציין את פלטפורמת המעבד המינימלית ברמת עומס העבודה (מומלץ) או ברמת האשכול.
השבתת היצירה האוטומטית של מאגר צמתים
בקטעים הבאים מוסבר איך להשבית את היצירה האוטומטית של מאגרי צמתים עבור מאגרי צמתים ספציפיים או עבור כל האשכול. אפשר גם להשבית את היצירה האוטומטית של מאגר צמתים ב-ComputeClass על ידי ציון הערך false בשדה nodePoolAutoCreation.enabled של ComputeClass. עם זאת, לא מומלץ להשבית את היצירה האוטומטית של ComputeClasses, כי זהו אחד היתרונות העיקריים של ComputeClasses שמאפשר לכם להשתמש בתכונות כמו העברה פעילה ועדיפות לגיבוי.
השבתה של יצירה אוטומטית של מאגרי צמתים ספציפיים
אתם יכולים להפסיק את הניהול של הצמתים ב-GKE במאגרי צמתים קיימים שנוצרו באופן אוטומטי. הפעולה הזו גורמת לשינויים הבאים:
- המידרוג האוטומטי של האשכול מפסיק ליצור או למחוק צמתים במאגר הצמתים הזה. אם רוצים ש-GKE יתאים את גודל הצמתים באופן אוטומטי, אפשר להפעיל את המידרוג האוטומטי באשכול עבור מאגר הצמתים הזה בנפרד.
- GKE לא מוחק את מאגר הצמתים כשמספר הצמתים הוא אפס.
- GKE ממשיך למקם Pods בהמתנה בצמתים קיימים במאגר הצמתים שיש בהם זמינות. אם הקצאת צמתים אוטומטית (NAP) עדיין מופעלת באשכול, GKE יכול גם ליצור מאגרי צמתים חדשים עבור Pods בהמתנה לפי הצורך.
כדי להשבית את היצירה האוטומטית של מאגר צמתים ספציפי, מריצים את הפקודה הבאה:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--no-enable-autoprovisioning
השבתת הקצאת משאבים אוטומטית של צמתים באשכול
כדי להשבית את היצירה האוטומטית של מאגר צמתים בכל האשכול, צריך להשבית את ההגדרה של האשכול Node Auto Provisioning. הפעולה הזו גורמת לשינויים הבאים:
- המידרוג האוטומטי של האשכול מפסיק ליצור ולמחוק צמתים במאגרי צמתים קיימים שנוצרו באופן אוטומטי. מאגרי צמתים שנוצרו באופן ידני ומשתמשים במידרוג אוטומטי של האשכול לא מושפעים.
- GKE לא יוצר באופן אוטומטי מאגרי צמתים חדשים לעומסי עבודה (workloads) בהמתנה. כדאי לעקוב אחרי האשכול כדי למנוע מצב שבו ה-Pods נתקעים.
אם האשכול עומד בדרישות הבאות, GKE ממשיך ליצור מאגרי צמתים חדשים עבור ComputeClasses שמאפשרים יצירה אוטומטית:
- משתמשים בגרסה 1.33.3-gke.1136000 ואילך של GKE.
אם האשכול לא עומד בדרישות האלה, GKE לא יוצר מאגרי צמתים חדשים עבור ComputeClasses שמפעילים יצירה אוטומטית.
אם תפעילו מחדש את ההגדרה של הקצאת משאבים אוטומטית של צמתים ברמת האשכול בשלב מאוחר יותר, GKE לא יפעיל מחדש את היצירה האוטומטית של מאגרי צמתים במאגרי צמתים קיימים. אתם צריכים לסמן מאגרי צמתים ספציפיים כמאגרי צמתים שנוצרו אוטומטית.
כדי להשבית את ההגדרה של הקצאת משאבים אוטומטית של צמתים ברמת האשכול, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Kubernetes clusters במסוף Google Cloud .
לוחצים על השם של האשכול שרוצים לשנות. ייפתח הדף פרטי אשכול.
לוחצים על הכרטיסייה פרטים.
בקטע אוטומציה, בשורה הקצאת משאבים אוטומטית של צמתים, לוחצים על עריכה. מופיעה החלונית Edit node auto-provisioning.
מבטלים את הסימון בתיבה Enable node auto-provisioning (הפעלה של הקצאת הרשאות אוטומטית לצומת).
לוחצים על שמירת השינויים.
gcloud
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--no-enable-autoprovisioning