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

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

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

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

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

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

‫ComputeClasses מובנים שזמינים ב-GKE

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

‫ComputeClasses מובנים
autopilot

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

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

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

autopilot-spot

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

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

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

autopilot-arm

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

זמין באשכולות Autopilot שמופעלת בהם גרסה 1.35.3-gke.1389000 ואילך של GKE. התכונה הזו זמינה רק באזורים הבאים: us-east1, ‏ us-west1,‏ europe-west1, ‏ europe-west4 ו-us-central1.

autopilot-arm מחלקת המחשוב זמינה רק דרך Autopilot.

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

kubectl get computeclass COMPUTECLASS_NAME -o yaml

תמחור

החיוב ב-Autopilot משתנה בהתאם ל-ComputeClass שה-Pods מבקשים. מידע נוסף זמין במחירון של 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 על כל ה-Pods שלא נבחר עבורם באופן מפורש ComputeClass אחר. כדי להגדיר ComputeClass מובנה כברירת מחדל, מבצעים אחת מהפעולות הבאות:

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

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

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

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