בחירת API לאיזון עומסים בכמה אשכולות ב-GKE

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

אפשר לצרף מאזן עומסים ל-fleet של אשכולות GKE בדרכים הבאות:

  1. להשתמש בממשקי ה-API של Multi Cluster Ingress, כמו המשאבים Multi Cluster Ingress ו-MultiClusterService.

  2. משתמשים בממשקי ה-API של Gateway (המשאבים GatewayClass,‏ Gateway,‏ HTTPRoute,‏ Policy,‏ ServiceExport ו-ServiceImport).

  3. מגדירים את מאזן העומסים של האפליקציות באמצעות מסוף Google Cloud , ה-CLI של gcloud, ‏API, ‏Terraform, ‏Config Connector ומצרפים קבוצות NEG עצמאיות לשירותים לקצה העורפי שמנוהלים על ידי המשתמשים.

בטבלה הבאה מפורטות הדרכים השונות שבהן אפשר לצרף מאזן עומסים לצי של אשכולות GKE. כל התכונות שמופיעות בדף השוואה בין תכונות של מאזני עומסים ולא מופיעות בטבלה הבאה, אמורות לפעול עם מאזן עומסים בניהול המשתמש עם קבוצות NEG עצמאיות, במקום להסתמך על ה-API המקורי של Kubernetes לאיזון עומסים.

הפתרון Multi Cluster Ingress Multi-cluster Gateway מאזן עומסים בניהול המשתמש עם קבוצות NEG עצמאיות
תמיכה בפלטפורמת GKE
שלב ההשקה של המוצר GA GA GA
מצב אשכול Standard / Autopilot Standard / Autopilot ‫Standard / Autopilot
גרסת GKE ‫1.18 ואילך ‫GKE מגרסה 1.24 ואילך ל-Standard, ומגרסה 1.26 ואילך ל-Autopilot ‫1.18 ואילך
ארכיטקטורה ורכיבים
בקר Kubernetes שמנוהל על ידי Google
שלט רחוק בקר GKE Multi Cluster Ingress GKE Gateway controller -
מיקום הבקר מחוץ לאשכול

(תשתיתGoogle Cloud )

מחוץ לאשכול

(תשתית שלGoogle Cloud)

-
API ממשק API מקורי של Kubernetes ‫Kubernetes-native API ‫Google Cloud API (ה-CLI של gcloud)
משאבי API ‫MultiClusterIngress, ‏ MultiClusterService ‫GatewayClass, ‏ Gateway, ‏ HTTPRoute,‏ Policy* -
שלב ההשקה של ה-API GA (v1) GA (v1) -
הפעלת API ב-GKE הגדרת אשכול ב-Autopilot או ב-Standard מופעלת כברירת מחדל ב-Autopilot

הגדרת אשכול ב-Standard

-
תמיכה בשירותים בכמה אשכולות
נדרשים שירותים מרובי אשכולות (MCS)
גרסת ה-API של MCS networking.gke.io/v1 net.gke.io/v1 -
סוג המשאב MultiClusterService ServiceExport -
רישיון קנייני קוד פתוח -
ניהול מחזור החיים של משאבי Cloud Networking (לא כולל VPC משותף)
ניהול אוטומטי של כתובות IP של ממשק קצה (frontend)
ניהול אוטומטי של מאזן העומסים ב-Cloud
  • כלל העברה
  • שרת proxy לחלוקת העומס
  • מפת URL
  • שירותים לקצה העורפי
  • בדיקות תקינות
ניהול אוטומטי של קבוצות של נקודות קצה ברשת (NEG)

(רק קבוצות NEG אזוריות)

(רק קבוצות NEG אזוריות)

(קבוצות NEG אזוריות בלבד, נדרשת הערה בשירות Kubernetes)

ניהול Cloud NGFW

(רק כללי חומת אש של VPC, כללים מנוהלים)

(רק כללי חומת אש של VPC, כללים מנוהלים)

תמיכה ב-VPC משותף
אשכולות ו-Fleet (Hub)‎ בפרויקט המארח
אשכולות ו-fleet (Hub) באותו פרויקט שירות

(עם הרשאות לכללי חומת אש בפרויקט המארח)

(עם הרשאות לכללי חומת אש בפרויקט המארח)

אשכולות ו-fleet (Hub) בפרויקטים שונים

(עם הפניה לשירותים בין פרויקטים)

תמיכה במאזני עומסים
מאזני עומסים של אפליקציות (ALB)
קלאסי
חיצוני גלובלי
אזורי חיצוני
אזורי פנימי
פנימי בין אזורים
מאזני עומסי רשת בשרת proxy
קלאסי
חיצוני גלובלי
אזורי חיצוני
פנימי (תמיד אזורי)
מאזני עומסי רשת להעברת נתונים ללא שינוי
חיצוני (תמיד אזורי)
פנימי (תמיד אזורי)
תמיכה בפרוטוקולים של Client-to-Load-balancer
HTTP, ‏ HTTPS, ‏ HTTP/2
WebSocket
‫HTTP/3 (מבוסס על IETF QUIC)
‫SSL ‏ (TLS) או TCP
תמיכה בקצוות עורפיים של מאזן עומסים
‫Pods (קבוצות NEG אזוריות)
מכונות וירטואליות (כולל צומתי GKE)

(לא מומלץ)

רכיבי backend אחרים:
  • Cloud Storage
  • נקודות קצה (endpoint) ציבוריות חיצוניות (קבוצות NEG באינטרנט)
  • נקודות קצה פרטיות חיצוניות (קבוצות NEG היברידיות)
  • ‫Private Service Connect (קבוצות PSC NEG)
  • ‫Cloud Run (קבוצות NEG ללא שרת)
תמיכה בפרוטוקולים של מאזן עומסים לקצוות עורפיים
‫HTTP, ‏ HTTPS, ‏ HTTP/2 (אחד מהם)
WebSocket
‫SSL ‏ (TLS) או TCP (אחד מהם)
כתובות IP ופרוטוקולים
הקצאת כתובת IP דינמית
הקצאת כתובת IP סטטית
אותה כתובת IP לכמה יציאות (HTTP, ‏ HTTPS)
IPv6

(תעבורת הנתונים ממאזן העומסים לקצה העורפי נשארת ב-IPv4)

(התנועה ממאזן העומסים לקצה העורפי נשארת ב-IPv4)

(התנועה ממאזן העומסים לקצה העורפי נשארת ב-IPv4)

ניתוב וניהול תעבורת נתונים
גישה גלובלית
איזון עומסים בין פרויקטים
ניתוב לפי מארח/נתיב

(קידומת, התאמה מדויקת)

(תחילית, התאמה מדויקת, ביטוי רגולרי)

ניתוב מבוסס-כותרת

(התאמה מדויקת, ביטוי רגולרי)

הפניות אוטומטיות של נתיבים
שכתוב כתובות URL

(התאמה של קידומת, ביטוי רגולרי)

חלוקת התנועה
שיקוף תנועה
העברת התנועה
התאמה לעומס (autoscaling) על סמך תנועה
כותרות request header בהתאמה אישית
כותרות תגובה בהתאמה אישית
ניתוב בין מרחבי שמות שונים
אבטחת ממשק קצה (Frontend)
מדיניות SSL
הפניה אוטומטית מ-HTTP ל-HTTPS
תמיכה בכמה אישורי TLS
אישורים שמבוססים על סודות של Kubernetes
אישורי SSL בניהול עצמי
אישורי SSL בניהול Google
תמיכה ב-Certificate Manager
מאפייני שירות לקצה העורפי
זמן קצוב לתפוגה של זמן להשלמת תהליך (connection draining)
זיקה לסשן (session affinity)
הגדרת רישום ביומן של גישה ל-HTTP
זמן קצוב לתפוגה של שירות לקצה העורפי
הגדרת בדיקת תקינות של מאזן עומסים בהתאמה אישית

(BackendConfig)

(HealthCheckPolicy)

(ה-CLI של gcloud‏ / מסוף Google Cloud / ‏Terraform)

‫TLS לשירותים לקצה העורפי
קצה עורפי מותאם אישית שמוגדר כברירת מחדל
Cloud CDN

לא כל התכונות: אין תמיכה בקובצי Cookie חתומים, בדחיסה דינמית ובאימות מקור פרטי

לא כל התכונות: אין תמיכה בכתובות URL חתומות ובדחיסה דינמית

כל התכונות

שרת proxy לאימות זהויות (IAP)
מדיניות האבטחה של Google Cloud Armor

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