מידע על ComputeClasses מובנים ב-GKE

בדף הזה מתוארים ה-ComputeClasses ש-Google Kubernetes Engine ‏ (GKE) מתקין באשכולות שלכם. אתם תלמדו על השם, הזמינות והגדרת הצומת של כל ComputeClass מובנה. הדף הזה מיועד למהנדסי פלטפורמות ולמפעילי אפליקציות שרוצים לבחור בצורה מושכלת אילו ComputeClasses זמינים, ואיזו מחלקה הכי מתאימה לעומסי עבודה ספציפיים.

כדאי כבר להכיר את ComputeClasses.

סקירה כללית על ComputeClasses מובנים

הרבה מעומסי העבודה ב-GKE הם עומסי עבודה למטרות כלליות שלא דורשים חומרה מיוחדת, כמו שרתי אינטרנט או משימות אצווה בקנה מידה קטן. בעומסי העבודה האלה, בדרך כלל המטרה היא להפחית את התקורה שקשורה לניהול ידני של תשתית הצמתים והגדרת ההתאמה האוטומטית לעומס.

ל-GKE יש מגוון ComputeClasses מובנים לתרחישי שימוש כמו הפעלת עומסי עבודה של Autopilot באשכולות Standard או הצבת עומסי עבודה לשימוש כללי עם עמידות בכשלים ב-VM במודל Spot. השתמשו ב-ComputeClass מובנה לעומסי עבודה שלא דורשים חומרה ספציפית (כמו מעבדי GPU) או הגדרות ספציפיות של צמתים (כמו דגלי sysctl של Linux). אם עומסי העבודה שלכם דורשים חומרה מיוחדת יותר, השתמשו ב-ComputeClass בהתאמה אישית.

סוגי ComputeClass מובנים שזמינים ב-GKE

בטבלה הבאה מתוארים סוגי ה-ComputeClass המובנים שזמינים ב-GKE:

‫ComputeClasses מובנים
autopilot

יצירת צמתים מסוג x86 על פי דרישה שמשתמשים ב-Autopilot בפלטפורמת מחשוב שמותאמת לקונטיינרים. ‫ComputeClass הזו היא ברירת המחדל לאשכולות Autopilot בכל גרסה של GKE, אבל אפשר לבחור אותה באופן מפורש בגרסאות ספציפיות של GKE.

זהו Autopilot ComputeClass, כלומר GKE מנהל את הצמתים בשבילכם גם באשכולות Standard. אתם יכולים להשתמש ב-ComputeClass הזה כדי להריץ עומסי עבודה במצב אוטומטי באשכולות Standard.

זמין באשכולות Autopilot ובאשכולות Standard שפועלת בהם גרסת GKE‏ 1.34.1-gke.1829001 ואילך.

autopilot-spot

יצירת VM במודל Spot שמשתמשות בפלטפורמת המחשוב של Autopilot שמותאמת לקונטיינרים. כברירת מחדל, ה-ComputeClass הזה מוחל על כל Pod באשכולות Autopilot שבוחרים במפורש VM במודל Spot במפרט ה-Pod.

זהו Autopilot ComputeClass, כלומר GKE מנהל את הצמתים בשבילכם גם באשכולות Standard. אתם יכולים להשתמש ב-ComputeClass הזה כדי להריץ עומסי עבודה במצב אוטומטי באשכולות Standard.

זמין באשכולות Autopilot ובאשכולות Standard שפועלת בהם גרסת GKE‏ 1.34.1-gke.1829001 ואילך.

autopilot-arm

ליצור צומתי Arm על פי דרישה שמשתמשים בפלטפורמת המחשוב שמותאמת לקונטיינרים של Autopilot. הפלטפורמה הזו היא ללא דור, כלומר היא לא קשורה למשפחת מכונות ספציפית. ההגדרה הזו מבדילה בין המכונה לבין הגדרה של סדרת מכונות כמו C4A,‏ N4A או T2A. מומלץ להשתמש ב-autopilot-arm ComputeClass לעומסי עבודה של Arm למטרות כלליות.

האפשרות הזו זמינה באשכולות Autopilot (GKE גרסה 1.35.3-gke.1389000 ואילך) ובאשכולות Standard שמשתמשים ב-ComputeClasses של Autopilot (GKE גרסה 1.36.0-gke.3302001 ואילך). התכונה הזו זמינה רק באזורים הבאים: us-east1,‏ us-west1,‏ europe-west1,‏ europe-west2,‏ europe-west4,‏ asia-southeast1 ו-us-central1.

autopilot-arm-spot

יצירת VM במודל Spot שמשתמשות בפלטפורמת Arm שמותאמת לקונטיינרים ב-Autopilot. מומלץ להשתמש ב-ComputeClass הזה לעומסי עבודה (workloads) עמידים בכשלים או לעומסי עבודה באצווה ב-Arm, כדי להוזיל את העלויות.

זמין באשכולות Autopilot ובאשכולות Standard שמשתמשים ב-ComputeClasses של Autopilot (גרסת GKE‏ 1.36.0-gke.3302001 ואילך). התכונה הזו זמינה רק באזורים הבאים: us-east1, us-west1, europe-west1, europe-west2, europe-west4, asia-southeast1 ו-us-central1.

כדי לראות את המפרטים של ComputeClass המובנים האלה, משתמשים בפקודה kubectl get:

kubectl get computeclass COMPUTECLASS_NAME -o yaml

תמחור

החיוב ב-Autopilot משתנה בהתאם ל-ComputeClass שהפודים מבקשים. למידע נוסף, קראו את התמחור של Google Kubernetes Engine.

בחירה מובנית של ComputeClass בעומסי עבודה

כדי לבחור ComputeClass מובנה או בהתאמה אישית כשפורסים עומס עבודה ב-GKE, בוחרים את התווית cloud.google.com/compute-class במניפסט של עומס העבודה, כמו בדוגמה הבאה:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: helloweb
  labels:
    app: hello
spec:
  selector:
    matchLabels:
      app: hello
  template:
    metadata:
      labels:
        app: hello
    spec:
      nodeSelector:
        # Replace with the name of a compute class
        cloud.google.com/compute-class: COMPUTE_CLASS 
      containers:
      - name: hello-app
        image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
        ports:
        - containerPort: 8080
        resources:
          requests:
            cpu: "250m"
            memory: "1Gi"

בדוגמה הזו, COMPUTE_CLASS הוא השם של מחלקת המחשוב. אי אפשר לבחור יותר מ-ComputeClass אחד בעומס עבודה ספציפי.

כשפורסים עומס עבודה שבוחר ComputeClass, ‏GKE משתמש במאפיינים של אותו ComputeClass כדי ליצור צמתים חדשים להרצת ה-Pods. לדוגמה, אם בוחרים את autopilot ComputeClass המובנה בעומס עבודה,‏ GKE מריץ את ה-Pods האלה במצב Autopilot.

יישום ברירת המחדל של ComputeClasses מובנים

אתם יכולים להגדיר כל ComputeClass באשכול כ-ComputeClass ברירת המחדל למרחב שמות ספציפי או לאשכול שלם. ‫GKE מחיל את ה-ComputeClass הזה על כל Pod שלא בוחרים בו במפורש ComputeClass אחר. כדי להגדיר ComputeClass מובנה כברירת מחדל, מבצעים אחת מהפעולות הבאות:

  • כדי להגדיר את ComputeClass כברירת המחדל של מרחב השמות, מוסיפים למרחב השמות תווית ל-ComputeClass.
  • כדי להגדיר את ComputeClass כברירת מחדל ברמת האשכול, יוצרים ComputeClass חדש בשם default עם אותם כללי עדיפות כמו ComputeClass המובנה.

מידע נוסף על הגדרת ComputeClass כברירת המחדל למרחב שמות או לאשכול זמין במאמר החלת ComputeClasses על Pods כברירת מחדל.

לדוגמה, נניח שיש אשכול Standard שמריץ הרבה Pods למטרות כלליות, כמו שרתי אינטרנט או משימות באצווה קטנות. אם מגדירים ComputeClass שמחקה את ה-ComputeClass המובנה autopilot כברירת המחדל של האשכול, עומסי העבודה לשימוש כללי האלה פועלים בפלטפורמת המחשוב של Autopilot שמותאמת לקונטיינרים, בלי שצריך לשנות את המפרטים של עומסי העבודה. בעומסי עבודה שדורשים חומרה שונה, אפשר להוסיף בורר ל-ComputeClass ספציפי.

המאמרים הבאים