מידע על 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 (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

יצירת מכונות וירטואליות מסוג 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 שה-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 ספציפי.

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