כדי לצמצם את כמות הפעולות לניהול התשתית באשכולות Standard של Google Kubernetes Engine (GKE), אפשר לאפשר ל-GKE ליצור באופן אוטומטי מאגרי צמתים בשביל קבוצות Pod בהמתנה. במסמך הזה נסביר איך להפעיל יצירה אוטומטית של מאגרי צמתים עבור אשכולות ועומסי עבודה, איך להגדיר ערכי ברירת מחדל לצמתים שנוצרים באופן אוטומטי ואיך להפעיל יצירה אוטומטית לכמה תרחישי שימוש נפוצים.
המסמך הזה מיועד לאדמינים, למפעילים ולמפתחים של אשכולות שמנהלים תשתית באשכולות Standard ופורסים בהם עומסי עבודה. מידע נוסף על אופן הפעולה של יצירה אוטומטית של מאגרי צמתים ועל שיטות ההפעלה השונות (כמו ComputeClasses והקצאת משאבים אוטומטית של צמתים ברמת האשכול) זמין במאמר מידע על יצירה אוטומטית של מאגרי צמתים.
מגבלות
יש כמה מגבלות על יצירה אוטומטית של מאגר צמתים:
- כל ההגבלות של הכלי לשינוי גודל האשכול באופן אוטומטי חלות גם על יצירה אוטומטית של מאגר צמתים.
- יכול להיות שבאשכולות עם יותר מ-200 מאגרי צמתים סך הכול, זמן האחזור יגדל במהלך שינוי הגודל האוטומטי. כל הגדרה שמפעילה יצירה של מאגר צמתים חדש, כמו הפרדה של עומסי עבודה או שימוש בכמה ComputeClasses, מגדילה את המספר הזה. מידע נוסף על מגבלות של אשכולות זמין במאמר מגבלות ושיטות מומלצות בקטע 'תכנון אשכולות גדולים'.
- כל מגבלות המשאבים שאתם מגדירים לאשכול כשאתם מפעילים הקצאה אוטומטית של צמתים חלות גם על מאגרי הצמתים ש-GKE יוצר עבור ComputeClasses.
- ההגדרות הבאות לא נתמכות על ידי ComputeClasses:
- שדרוגים בהדרגה (rolling) או שדרוגים כחול-ירוק (blue-green).
- יושרה של הצומת והפעלה מאובטחת.
- כדי להפעיל יצירה אוטומטית של מאגר צמתים ל-ComputeClass בגרסאות GKE קודמות ל-1.33.3-gke.1136000, צריך גם להפעיל הקצאה אוטומטית של צמתים ברמת האשכול. המגבלה הזו לא חלה בגרסה 1.33.3-gke.1136000 של GKE ואילך.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:
- מפעילים את ממשק Google Kubernetes Engine API. הפעלת Google Kubernetes Engine API
- כדי להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את gcloud CLI. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
דרישות
אתם יכולים להפעיל יצירה אוטומטית של מאגר צמתים לכל האשכול בכל גרסה של GKE באמצעות התכונה Node Auto Provisioning (הקצאה אוטומטית של צמתים). אם אתם רוצים להשתמש ב-ComputeClass כדי להפעיל יצירה אוטומטית של מאגר צמתים ברמת עומס העבודה, ואתם לא רוצים להפעיל הקצאת משאבים אוטומטית של צמתים, האשכול שלכם צריך להיות בגרסה GKE 1.33.3-gke.1136000 ואילך.
כדי להפעיל יצירה אוטומטית של מאגר צמתים להגדרות צמתים ספציפיות, צריך לעמוד בדרישות הגרסה המתאימות. מידע נוסף על תמיכה בגרסאות עבור תצורות שונות זמין בהערות על הגרסה של GKE (תכונות חדשות) או במסמכים שרלוונטיים לתרחיש השימוש שלכם.
הפעלה של יצירה אוטומטית ברמת עומס העבודה
אפשר להפעיל יצירה אוטומטית של מאגר צמתים לעומסי עבודה ספציפיים באשכול באמצעות ComputeClass. השדה nodePoolAutoCreation במפרט ComputeClass קובע אם GKE יכול ליצור מאגרי צמתים חדשים עבור Pods שבוחרים את 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.שומרים את פריסת הדוגמה הבאה, שבוחרת 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, משתמשים בהגדרה Node Auto Provisioning (הקצאה אוטומטית של צמתים). התכונה Node auto-provisioning מאפשרת ל-GKE ליצור מאגרי צמתים חדשים לעומסי עבודה בהמתנה בכל האשכול, על סמך ההגדרה במפרט ה-Pod או ב-ComputeClass. אפשר להפעיל הקצאת משאבים אוטומטית של צמתים באשכולות חדשים או קיימים.
לפני שמפעילים הקצאת כתובות IP אוטומטית לצמתים, צריך לתכנן את הגודל של טווח כתובות ה-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 (הגדרות בסיסיות של אשכול), מציינים שם ומיקום לאשכול החדש.
בתפריט הניווט, לוחצים על אוטומציה.
מסמנים את תיבת הסימון הפעלת הקצאת הרשאות אוטומטית לצמתים. מוצג הקטע מגבלות.
מציינים מגבלות למעבד ולזיכרון.
לוחצים על שמירת השינויים.
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. המגבלה הזו חלה על סכום קיבולת הזיכרון בכל מאגרי הצמתים החדשים והקיימים באשכול, כולל מאגרי צמתים שנוצרו באופן ידני.
הגדרת הגדרות באמצעות קובץ הגדרה של הקצאת צמתים אוטומטית
אפשר להגדיר מגבלות משאבים והגדרות של צמתים לאספקת צמתים אוטומטית באמצעות קובץ הגדרות 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: הגדרת מגבלות משאבים למעבד, לקיבולת הזיכרון ולמעבדי 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 באשכול.
הגדרת מגבלות משאבים לניהול הקצאות אוטומטי של צמתים
כשמשתמשים בהקצאה אוטומטית של צמתים ברמת האשכול, צריך להגדיר מגבלות לכמות הכוללת של המשאבים שהאשכול יכול להכיל בכל מאגרי הצמתים שלו. כדי להפעיל הקצאת משאבים אוטומטית של צמתים באשכול, צריך לציין מגבלות של קיבולת המעבד והזיכרון באשכול. בנוסף, כדי להשתמש בסוגים אחרים של משאבים מצורפים כמו GPU ו-TPU, צריך לציין מגבלות למשאבים האלה. ההגבלות האלה נדרשות רק אם מפעילים את ההגדרה של הקצאת משאבים אוטומטית של צמתים עבור האשכול. אם אתם משתמשים רק ב-ComputeClasses כדי לקבל מאגרי צמתים שנוצרים אוטומטית, אתם לא צריכים להגדיר מכסות משאבים.
אפשר להוסיף או לשנות את מגבלות המשאבים ליצירה אוטומטית של מאגר צמתים באחת מהדרכים הבאות:
- מסוף Google Cloud
- דגלים של ה-CLI של gcloud
- קובץ ההגדרה ברמת האשכול
כדי להגדיר מגבלות על משאבים באשכול קיים, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Kubernetes clusters במסוף Google Cloud .
לוחצים על שם האשכול. ייפתח הדף פרטי האשכול.
לוחצים על הכרטיסייה פרטים.
בקטע אוטומציה, בשורה הקצאת משאבים אוטומטית של צמתים, לוחצים על עריכה. החלונית Edit node auto-provisioning נפתחת.
מסמנים את תיבת הסימון הפעלת הקצאת הרשאות אוטומטית לצמתים.
בקטע 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, מספר הצ'יפים בפרוסה הוא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בערך של 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: הנתיב לקובץ התצורה.
-
הגדרה של יושרה של צומת והפעלה מאובטחת
אפשר להפעיל הפעלה מאובטחת וניטור תקינות למאגרי צמתים שנוצרו אוטומטית רק באמצעות קובץ ההגדרות של Node Auto Provisioning.
מציינים את השדה
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. כדי לשנות את הגדרות השדרוג של העלייה החדה, צריך להגדיר הקצאת משאבים אוטומטית של צמתים ברמת האשכול.
כדי לציין הגדרות של שדרוג מהיר בשורת הפקודה, משתמשים בדגלים
--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. כדי לשנות את אסטרטגיית השדרוג, צריך להגדיר הקצאה אוטומטית של צמתים ברמת האשכול. כל שינוי שתבצעו יחול רק על מאגרי צמתים חדשים שנוצרו אוטומטית. אפשר גם לעדכן מאגרי צמתים קיימים שנוצרו אוטומטית כדי להשתמש בשדרוגים מסוג 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: דיסק אחסון מתמיד (persistent disk) סטנדרטי. -
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ו-diskType:diskSizeGb: BOOT_DISK_SIZE diskType: BOOT_DISK_TYPEמחליפים את מה שכתוב בשדות הבאים:
-
BOOT_DISK_TYPE: סוג הדיסק שישמש כדיסק האתחול של הצומת. הערך שאתם מציינים צריך להיות נתמך על ידי סוג המכונה של Compute Engine ש-GKE משתמש בו בשביל כלל העדיפות הזה. הערך חייב להיות אחד מהערכים הבאים:-
pd-balanced: דיסק אחסון מתמיד מאוזן. -
pd-standard: דיסק אחסון מתמיד (persistent disk) סטנדרטי. -
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.כדי לבחור סוג מכונה מוגדר מראש, משתמשים בתוויות הצמתים
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, אפשר גם לציין סוגי מכונות בהתאמה אישית בשדה הזה.
יוצרים את הפוד:
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 מסיים את הפעולה של הצמתים.יוצרים את הפוד:
kubectl apply -f PATH_TO_POD_MANIFESTמחליפים את
PATH_TO_POD_MANIFESTבנתיב למניפסט של ה-Pod.
מציינים פלטפורמת מעבד מינימלית
התכונה Node auto-provisioning תומכת ביצירת מאגרי צמתים עם פלטפורמת CPU מינימלית מוגדרת. אפשר לציין את פלטפורמת המינימום של ה-CPU ברמת עומס העבודה (מומלץ) או ברמת האשכול.
השבתת היצירה האוטומטית של מאגר צמתים
בקטעים הבאים מוסבר איך להשבית את היצירה האוטומטית של מאגרי צמתים עבור מאגרי צמתים ספציפיים או עבור כל האשכול. אפשר גם להשבית את היצירה האוטומטית של מאגר צמתים ב-ComputeClass על ידי ציון הערך false בשדה nodePoolAutoCreation.enabled של ComputeClass. עם זאת, לא מומלץ להשבית את היצירה האוטומטית של ComputeClasses, כי זהו אחד היתרונות העיקריים של ComputeClasses שמאפשר לכם להשתמש בתכונות כמו העברה פעילה ועדיפות של חזרה למצב הקודם.
השבתת יצירה אוטומטית של מאגרי צמתים ספציפיים
אתם יכולים להפסיק את הניהול של הצמתים ב-GKE במאגרי צמתים קיימים שנוצרו באופן אוטומטי. הפעולה הזו גורמת לשינויים הבאים:
- הכלי לשינוי גודל האשכול מפסיק ליצור או למחוק צמתים במאגר הצמתים הזה. אם רוצים ש-GKE יבצע מידרוג אוטומטי של הצמתים, אפשר להפעיל בנפרד את המידרוג האוטומטי של האשכול עבור מאגר הצמתים הזה.
- GKE לא מוחק את מאגר הצמתים כשמספר הצמתים הוא אפס.
- GKE ממשיך למקם Pods בהמתנה בצמתים קיימים במאגר הצמתים שיש בהם זמינות. אם ההקצאה האוטומטית של צמתים עדיין מופעלת באשכול, 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
המאמרים הבאים
- מידע נוסף על שינוי גודל אוטומטי של אשכולות
- מידע נוסף על מאגרי צמתים
- מידע נוסף על אסטרטגיות לשדרוג צמתים