כדי לצמצם את כמות הניהול הידני של התשתית באשכולות Google Kubernetes Engine (GKE) Standard, אתם יכולים לאפשר ל-GKE ליצור באופן אוטומטי מאגרי צמתים לפודים בהמתנה. במאמר הזה נסביר איך להפעיל יצירה אוטומטית של מאגרי צמתים לאשכולות ולעומסי עבודה, להגדיר ערכי ברירת מחדל לצמתים שנוצרו באופן אוטומטי ולהפעיל יצירה אוטומטית בתרחישים נפוצים לדוגמה.
המסמך הזה מיועד לאדמינים, למפעילים ולמפתחים של אשכולות שמנהלים תשתית באשכולות רגילים ופורסים בהם עומסי עבודה. מידע נוסף על אופן הפעולה של יצירה אוטומטית של מאגרי צמתים ועל השיטות השונות להפעלה (כמו ComputeClasses והקצאת צמתים אוטומטית ברמת האשכול) זמין במאמר מידע על יצירה אוטומטית של מאגרי צמתים.
מגבלות
אלה המגבלות של יצירה אוטומטית של מאגרי צמתים:
- כל המגבלות של מידרוג אוטומטי של אשכולות חלות גם על יצירה אוטומטית של מאגרי צמתים.
- באשכולות שיש בהם יותר מ-200 מאגרי צמתים, יכול להיות שהזמן שלוקח להגדיל או להקטין את מספר המכונות יהיה ארוך יותר. כל הגדרה שמפעילה יצירה של מאגר צמתים חדש, כמו הפרדת עומסי עבודה או שימוש בכמה ComputeClasses, מגדילה את המספר הזה. מידע נוסף על מגבלות של אשכולות מופיע בקטע מגבלות ושיטות מומלצות במאמר "תכנון אשכולות גדולים".
- כל מגבלות המשאבים שאתם מגדירים לאשכול כשאתם מפעילים הקצאת צמתים אוטומטית חלות גם על מאגרי הצמתים ש-GKE יוצר בשביל ComputeClasses.
- ההגדרות הבאות לא נתמכות ב-ComputeClasses:
- שדרוגי מתח או שדרוגי כחול-ירוק.
- תקינות הצומת ואתחול מאובטח.
- כדי להפעיל יצירה אוטומטית של מאגרי צמתים ל-ComputeClass בגרסאות GKE שקודמות ל-1.33.3-gke.1136000, צריך להפעיל גם הקצאת צמתים אוטומטית ברמת האשכול. המגבלה הזו לא חלה על גרסה 1.33.3-gke.1136000 של GKE ואילך.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את המשימות הבאות:
- מפעילים את Google Kubernetes Engine API. הפעלת Google Kubernetes Engine API
- כדי להשתמש ב-Google Cloud CLI למשימה הזו, מתקינים ואז מאתחלים את ה-CLI של gcloud. אם כבר התקנתם את ה-CLI של gcloud, הריצו את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שבגרסאות קודמות של ה-CLI של gcloud אי אפשר להריץ את הפקודות שבמסמך הזה.
דרישות
אתם יכולים להפעיל יצירה אוטומטית של מאגרי צמתים לכל האשכול בכל גרסה של GKE, באמצעות התכונה "הקצאת צמתים אוטומטית". אם אתם רוצים להשתמש ב-ComputeClass כדי להפעיל יצירה אוטומטית של מאגרי צמתים ברמת עומס העבודה, ואתם לא רוצים להפעיל הקצאת צמתים אוטומטית, האשכול צריך להיות בגרסה 1.33.3-gke.1136000 או גרסה חדשה יותר של GKE.
כדי להפעיל יצירה אוטומטית של מאגרי צמתים להגדרות ספציפיות של צמתים, צריך לעמוד בדרישות הגרסה המתאימות. למידע נוסף על תמיכה בגרסאות של הגדרות שונות, עיינו בנתוני הגרסה של GKE (תכונות חדשות) או במסמכי התיעוד של תרחיש השימוש שלכם.
הפעלת יצירה אוטומטית ברמת עומס העבודה
אתם יכולים להפעיל יצירה אוטומטית של מאגרי צמתים לעומסי עבודה ספציפיים באשכול באמצעות ComputeClass. השדה nodePoolAutoCreation במפרט של ComputeClass קובע אם GKE יכול ליצור מאגרי צמתים חדשים לפודים שבוחרים את ה-ComputeClass הזה. ב-GKE מגרסה 1.33.3-gke.1136000 ואילך, אפשר להפעיל יצירה אוטומטית של מאגרי צמתים ל-ComputeClass גם אם לא מופעלת באשכול הקצאת צמתים אוטומטית.
בגרסאות שקודמות ל-1.33.3-gke.1136000, צריך גם להפעיל הקצאת צמתים אוטומטית ברמת האשכול.
כדי להפעיל יצירה אוטומטית של מאגר צמתים ל-ComputeClass, פועלים לפי השלבים הבאים:
משתמשים באשכול Standard חדש או קיים בגרסה 1.33.3-gke.1136000 ואילך.
אפשר גם ליצור אשכול Standard חדש.
אם האשכול לא עומד בדרישות שבשלב הקודם, מפעילים הקצאת צמתים אוטומטית ברמת האשכול.
שומרים את ה-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.שומרים את ה-Deployment לדוגמה הבא, שבוחר ComputeClass, בתור
helloweb-deploy.yaml:יוצרים את הפריסה באשכול:
kubectl apply -f helloweb-deploy.yamlכדי לוודא ש-GKE יצר מאגר צמתים חדש לפוד, מציגים את רשימת מאגרי הצמתים באשכול:
gcloud container node-pools list \ --cluster=CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
CONTROL_PLANE_LOCATION: האזור או התחום של מישור הבקרה של האשכול, למשלus-central1אוus-central1-a.
-
הפעלת הקצאת צמתים אוטומטית (NAP) ברמת האשכול
כדי להפעיל יצירה אוטומטית של מאגרי צמתים לכל אשכול GKE, משתמשים בהגדרה הקצאת צמתים אוטומטית (NAP). הקצאת צמתים אוטומטית מאפשרת ל-GKE ליצור מאגרי צמתים חדשים לעומסי עבודה בהמתנה באשכול, על סמך ההגדרות במפרט של ה-Pod או ב-ComputeClass. אפשר להפעיל הקצאת צמתים אוטומטית באשכולות חדשים או קיימים.
לפני שמפעילים את הקצאת המשאבים האוטומטית של הצמתים, צריך לתכנן את הגודל של טווח כתובות ה-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, נותנים שם לאשכול החדש ובוחרים מיקום.
בחלונית הניווט, לוחצים על הגדרות מתקדמות.
בשורה Node autoprovisioning, לוחצים על edit Edit configuration.
מסמנים את התיבה Enable node auto-provisioning. מופיע הקטע Limits.
מציינים מגבלות למעבד (CPU) ולזיכרון.
לוחצים על Save.
לוחצים על יצירה.
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: שם האשכול שבו רוצים להפעיל את הקצאת הצמתים האוטומטית. -
CONTROL_PLANE_LOCATION: האזור או התחום של מישור הבקרה של האשכול, למשלus-central1אוus-central1-a. -
MINIMUM_CPU: המספר המינימלי של הליבות באשכול. -
MINIMUM_MEMORY: קיבולת הזיכרון המינימלית באשכול, ב-GiB. -
MAXIMUM_CPU: המספר המקסימלי של הליבות באשכול. המגבלה הזו חלה על סך כל ליבות המעבד (CPU) בכל הצמתים החדשים והקיימים באשכול, כולל מאגרי צמתים שנוצרו באופן ידני. -
MAXIMUM_MEMORY: קיבולת הזיכרון המקסימלית באשכול, ב-GiB. המגבלה הזו חלה על סך קיבולת הזיכרון בכל מאגרי הצמתים החדשים והקיימים באשכול, כולל מאגרי צמתים שנוצרו באופן ידני.
שינוי ההגדרות באמצעות קובץ תצורה של הקצאת צמתים אוטומטית (NAP)
אתם יכולים להגדיר את מגבלות המשאבים ואת הגדרות התצורה של הצמתים להקצאת צמתים אוטומטית באמצעות קובץ תצורה של YAML. קובץ התצורה מאפשר לציין באופן הצהרתי ערכי ברירת מחדל למאגרי צמתים שנוצרו באופן אוטומטי, ולבצע הגדרות מתקדמות כמו הפעלת תיקון אוטומטי של צמתים. הקובץ הזה לא קשור ל-ComputeClasses, שהם משאבים בהתאמה אישית של Kubernetes. במקום זאת, קובץ התצורה קיים כחלופה שניתנת להרחבה יותר לשימוש בדגלים של שורת הפקודה כדי לציין הגדרות להקצאת צמתים אוטומטית. מידע נוסף מופיע במאמר הגדרות ברירת מחדל ברמת האשכול באמצעות קובץ תצורה.
כדי ליצור קובץ תצורה ולהשתמש בו, פועלים לפי השלבים הבאים:
- בכלי לעריכת טקסט, יוצרים קובץ 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: מגדיר את מגבלות המשאבים של המעבד (CPU), קיבולת הזיכרון ומעבדי ה-GPU מסוג NVIDIA T4 באשכול. המגבלות האלה חלות על סך קיבולת המשאבים באשכול, כולל במאגרי צמתים שנוצרו באופן ידני. -
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)
כשמשתמשים בהקצאת צמתים אוטומטית ברמת האשכול, צריך להגדיר מגבלות לכמות הכוללת של המשאבים שיכולים להיות לאשכול בכל מאגרי הצמתים שלו. כדי להפעיל הקצאת צמתים אוטומטית באשכול, צריך לציין מגבלות לקיבולת המעבד (CPU) והזיכרון באשכול. בנוסף, כדי להשתמש בסוגים אחרים של משאבים מצורפים כמו GPUs ו-TPUs, צריך לציין מגבלות למשאבים האלה. המגבלות האלה נדרשות רק אם מפעילים את ההגדרה של הקצאת צמתים אוטומטית באשכול. אם אתם משתמשים רק ב-ComputeClasses כדי ליצור מאגרי צמתים באופן אוטומטי, אתם לא צריכים להגדיר מגבלות על משאבים.
לחלופין, אתם יכולים להגדיר מגבלות משאבים שמטרגטות קבוצות משנה של צמתים, כמו צמתים שנוצרו בשביל ComputeClass או צמתים שמשתמשים במשפחת מכונות ספציפית. מידע נוסף מופיע במאמר הגדרת מגבלות מפורטות על משאבים.
כדי להוסיף או לשנות את מגבלות המשאבים ליצירה אוטומטית של מאגרי צמתים, אתם יכולים להשתמש באחת מהשיטות הבאות:
- מסוף Google Cloud
- דגלים של ה-CLI של gcloud
- קובץ התצורה ברמת האשכול
כדי להגדיר מגבלות משאבים לאשכול קיים, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Kubernetes clusters במסוף Google Cloud .
לוחצים על שם האשכול. הדף Cluster details נפתח.
לוחצים על הכרטיסייה פרטים.
בקטע Automation, בשורה הקצאת צמתים אוטומטית (NAP) לוחצים על Edit. החלונית עריכת הקצאת צמתים אוטומטית נפתחת.
מסמנים את התיבה Enable node auto-provisioning.
בקטע Limits, מציינים את ערכי המינימום והמקסימום של קיבולת המעבד (CPU) והזיכרון באשכול.
כדי להגדיר מגבלות למשאב אחר, כמו GPUs או TPUs:
- לוחצים על הוספת מקור מידע.
- ברשימה הנפתחת 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: המספר המינימלי של מעבדי GPU מהסוג שצוין שיכולים להיות באשכול. -
MAXIMUM_GPU_COUNT: המספר המקסימלי של מעבדי GPU מהסוג שצוין שיכולים להיות באשכול.
-
מגדירים את מגבלות המשאבים של ה-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 עם כמה מארחים, יכול להיות שפרוסת ה-TPU לא תצומצם אנכית. -
MAXIMUM_TPU_COUNT: המספר המקסימלי של שבבי TPU מהסוג שצוין שיכולים להיות באשכול. בפרוסות TPU עם כמה מארחים, צריך לציין ערך שגדול ממספר הצ'יפים בכל פרוסה כדי ש-GKE יוכל לשנות את קנה המידה של הפרוסה באופן אטומי. מספר הצ'יפים בפרוסה הוא המכפלה של טופולוגיית ה-TPU. לדוגמה, אם הטופולוגיה היא2x2x2, מספר הצ'יפים בפרוסה הוא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 עם כמה מארחים, יכול להיות שפרוסת ה-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 ו-Pod כדי לקבוע את סוגי הצמתים שיכולים להריץ בצורה אופטימלית את ה-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בערך של תמונת הצומת, שיכול להיות אחד מהבאים: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) להצפנה של דיסק אתחול
אתם יכולים לציין מפתח הצפנה בניהול הלקוח (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: הנתיב לקובץ התצורה.
-
הגדרת תקינות הצומת והפעלה מאובטחת
כדי להפעיל אתחול מאובטח וניטור תקינות למאגרי צמתים שנוצרו באופן אוטומטי, צריך להשתמש בקובץ התצורה של הקצאת צמתים אוטומטית.
מציינים את השדה
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. השדות האלה זמינים ב-GKE מגרסה 1.34.0-gke.2201000 ואילך.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. כדי לשנות את הגדרות השדרוג המתח, צריך להגדיר הקצאת צמתים אוטומטית ברמת האשכול.
כדי לציין את הגדרות השדרוג המתפרץ בשורת הפקודה, משתמשים בדגלים
--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 משתמש בהגדרות שקבעתם בעבר לאסטרטגיית השדרוג הזו.
שימוש בשדרוגים כחול-ירוק למאגרי צמתים חדשים שנוצרו באופן אוטומטי
אתם יכולים לשנות את אסטרטגיית השדרוג של הצמתים לשדרוגים כחולים-ירוקים לכל מאגרי הצמתים החדשים שנוצרו באופן אוטומטי, ולכוונן את הגדרות ברירת המחדל לשדרוגים כחולים-ירוקים. כדי לשנות את אסטרטגיית השדרוג, צריך להגדיר הקצאת צמתים אוטומטית ברמת האשכול. כל שינוי שתבצעו יחול רק על מאגרי צמתים חדשים שנוצרו באופן אוטומטי. אתם יכולים גם לעדכן מאגרי צמתים קיימים שנוצרו באופן אוטומטי כדי להשתמש בשדרוגים כחולים-ירוקים. אי אפשר להשתמש בשדרוגים כחולים-ירוקים עם התאמה אוטומטית לעומס (autoscaling) (תצוגה מקדימה) במאגרי צמתים שנוצרו באופן אוטומטי.
כדי להשתמש בשדרוגים כחול-ירוק ובהגדרות ברירת המחדל של GKE למאגרי צמתים חדשים שנוצרו באופן אוטומטי, מריצים את הפקודה הבאה:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION --enable-autoprovisioning \ --enable-autoprovisioning-blue-green-upgradeכדי להשתמש בשדרוגים כחולים-ירוקים ולהגדיר הגדרות ברירת מחדל משלכם למאגרי צמתים חדשים שנוצרו באופן אוטומטי, מריצים את הפקודה הבאה:
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 מצרף לכל מכונה וירטואלית של צומת במאגר צמתים שנוצר באופן אוטומטי, בוחרים באחת מהאפשרויות הבאות:
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: דיסק מתמיד שמבוסס על ביצועים (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: דיסק מתמיד שמבוסס על ביצועים (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.בגרסה 1.33.2-gke.1111000 של GKE, אפשר גם לציין בשדה הזה סוגי מכונות בהתאמה אישית.
יוצרים את ה-Pod:
kubectl apply -f PATH_TO_POD_MANIFESTמחליפים את
PATH_TO_POD_MANIFESTבנתיב למניפסט של ה-Pod.
בחירת מעבדי 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: מספר המעבדים הגרפיים שצריך לצרף לכל צומת. הערך חייב להיות לפחות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, צריך להגדיר הקצאת צמתים אוטומטית (NAP) ברמת האשכול ולהגדיר מגבלות משאבים לסוג ה-GPU הזה. כדי להגדיר מגבלות משאבים ל-GPU ולבחור יחידות GPU ב-Pod, מבצעים את השלבים הבאים:
- מגדירים מגבלות משאבים ברמת האשכול למעבדי ה-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: מספר המעבדים הגרפיים שצריך לצרף לכל צומת. הערך חייב להיות לפחות1. -
DRIVER_VERSION: גרסת מנהל ההתקן של ה-GPU שרוצים להתקין. הערך הזה חייב להיותdefaultאוlatest. ב-GKE מגרסה 1.32.2-gke.1297000 ואילך, GKE מתקין באופן אוטומטי את גרסת הדרייברdefault. כדי להשתמש בתווית הצומת הזו, צריך את GKE בגרסה 1.29.2-gke.1108000 ואילך. מידע נוסף זמין במאמר התקנת מנהלי התקנים באמצעות הקצאת צמתים אוטומטית עם יחידות GPU. -
GPU_QUANTITY: מספר יחידות ה-GPU שצריך לצרף ל-Pod. הערך הזה צריך להיות קטן מהערך שלGPU_COUNTאו שווה לו.
-
בחירת מעבדי TPU
אפשר לבקש יחידות TPU במפרטים של ComputeClasses או Pod. ההנחה בקטע הזה היא שאתם מכירים את הבחירה ב-Cloud TPU, ושאתם יודעים מהם הסוג, הטופולוגיה והמספר של ה-TPU שאתם רוצים להשתמש בהם. השלבים שתבצעו תלויים באופן שבו תבחרו את יחידות ה-TPU:
- ComputeClasses: ראו הקצאת יחידות TPU באמצעות מחלקות Compute בהתאמה אישית.
- מפרט 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.
ציון פלטפורמת CPU מינימלית
הקצאת צמתים אוטומטית תומכת ביצירת מאגרי צמתים עם פלטפורמת CPU מינימלית. אפשר לציין את פלטפורמת ה-CPU המינימלית ברמת עומס העבודה (מומלץ) או ברמת האשכול.
השבתת היצירה האוטומטית של מאגרי צמתים
בקטעים הבאים מוסבר איך להשבית את היצירה האוטומטית של מאגרי צמתים ספציפיים או של כל האשכול. אפשר גם להשבית את היצירה האוטומטית של מאגרי צמתים ב-ComputeClass על ידי ציון הערך false בשדה nodePoolAutoCreation.enabled של ComputeClass. עם זאת, לא מומלץ להשבית את היצירה האוטומטית של ComputeClasses, כי היצירה האוטומטית היא יתרון עיקרי של ComputeClasses שמאפשר להשתמש בתכונות כמו העברה פעילה ועדיפויות חלופיות.
השבתת היצירה האוטומטית של מאגרי צמתים ספציפיים
אתם יכולים להפסיק את הניהול של GKE על הצמתים במאגרי הצמתים הקיימים שנוצרו באופן אוטומטי. הפעולה הזו גורמת לתוצאות הבאות:
- המידרוג האוטומטי מפסיק ליצור או למחוק צמתים במאגר הצמתים הזה. אם רוצים ש-GKE יבצע התאמה אוטומטית לעומס של הצמתים, אפשר להפעיל את המידרוג האוטומטי של האשכולות במאגר הצמתים בנפרד.
- GKE לא מוחק את מאגר הצמתים כשמספר הצמתים הוא אפס.
- GKE ממשיך להציב פודים בהמתנה בצמתים קיימים במאגר הצמתים הזה שיש בהם זמינות. אם הקצאת הצמתים האוטומטית עדיין מופעלת באשכול, GKE יכול גם ליצור מאגרי צמתים חדשים לפודים בהמתנה לפי הצורך.
כדי להשבית את היצירה האוטומטית של מאגר צמתים ספציפי, מריצים את הפקודה הבאה:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--no-enable-autoprovisioning
השבתת הקצאת צמתים אוטומטית (NAP) באשכול
כדי להשבית את היצירה האוטומטית של מאגרי צמתים בכל האשכול, משביתים את הגדרת האשכול להקצאת צמתים אוטומטית. הפעולה הזו גורמת לתוצאות הבאות:
- המידרוג האוטומטי של האשכול מפסיק ליצור ולמחוק צמתים במאגרי צמתים קיימים שנוצרו באופן אוטומטי. מאגרי צמתים שנוצרו באופן ידני ומשתמשים ב-autoscaler של האשכול לא מושפעים.
- GKE לא יוצר באופן אוטומטי מאגרי צמתים חדשים לעומסי עבודה בהמתנה. עוקבים אחרי האשכול כדי למנוע Pods תקועים.
אם האשכול עומד בדרישות הבאות, GKE ממשיך ליצור מאגרי צמתים חדשים ל-ComputeClasses שמאפשרים יצירה אוטומטית:
- משתמשים ב-GKE בגרסה 1.33.3-gke.1136000 ואילך.
אם האשכול לא עומד בדרישות האלה, GKE לא יוצר מאגרי צמתים חדשים ל-ComputeClasses שמאפשרים יצירה אוטומטית.
אם תפעילו מחדש את ההגדרה של הקצאת צמתים אוטומטית ברמת האשכול, GKE לא יפעיל מחדש את היצירה האוטומטית של מאגרי צמתים במאגרי הצמתים הקיימים. צריך לסמן מאגרי צמתים ספציפיים ככאלה שנוצרו באופן אוטומטי.
כדי להשבית את ההגדרה של הקצאת צמתים אוטומטית ברמת האשכול, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Kubernetes clusters במסוף Google Cloud :
לוחצים על שם האשכול שרוצים לשנות. הדף Cluster details נפתח.
לוחצים על הכרטיסייה פרטים.
בקטע Automation, בשורה הקצאת צמתים אוטומטית (NAP) לוחצים על Edit. מופיע החלון Edit node auto-provisioning.
מבטלים את הסימון בתיבה Enable node auto-provisioning.
לוחצים על שמירת השינויים.
gcloud
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--no-enable-autoprovisioning
המאמרים הבאים
- מידע נוסף על מידרוג אוטומטי של אשכול
- מידע נוסף על מאגרי צמתים
- מידע נוסף על אסטרטגיות לשדרוג צמתים
- פריסת אשכול עם הקצאת צמתים אוטומטית ב-Cluster Toolkit.