בדף הזה מוסבר איך לבחור את ה-API המתאים ביותר לפריסת מאזני עומסים, כדי לפזר את התנועה בין צי של אשכולות Google Kubernetes Engine (GKE).
אפשר לצרף מאזן עומסים ל-fleet של אשכולות GKE בדרכים הבאות:
להשתמש בממשקי ה-API של Multi Cluster Ingress, כמו המשאבים Multi Cluster Ingress ו-MultiClusterService.
משתמשים בממשקי ה-API של Gateway (המשאבים GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport ו-ServiceImport).
מגדירים את מאזן העומסים של האפליקציות באמצעות מסוף 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
|
|||
| ניהול אוטומטי של קבוצות של נקודות קצה ברשת (NEG) |
(רק קבוצות NEG אזוריות) |
(רק קבוצות NEG אזוריות) |
(קבוצות NEG אזוריות בלבד, נדרשת הערה בשירות Kubernetes) |
| ניהול Cloud NGFW | |||
| תמיכה ב-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 אחרים:
|
|||
| תמיכה בפרוטוקולים של מאזן עומסים לקצוות עורפיים | |||
| 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 | |||
| זמן קצוב לתפוגה של שירות לקצה העורפי | |||
| הגדרת בדיקת תקינות של מאזן עומסים בהתאמה אישית | |||
| TLS לשירותים לקצה העורפי | |||
| קצה עורפי מותאם אישית שמוגדר כברירת מחדל | |||
| Cloud CDN |
לא כל התכונות: אין תמיכה בקובצי Cookie חתומים, בדחיסה דינמית ובאימות מקור פרטי |
לא כל התכונות: אין תמיכה בכתובות URL חתומות ובדחיסה דינמית |
כל התכונות |
| שרת proxy לאימות זהויות (IAP) | |||
| מדיניות האבטחה של Google Cloud Armor | |||
המאמרים הבאים
- הגדרת Ingress בכמה אשכולות.
- פריסת Ingress באשכולות.
- הפעלת שער מרובה אשכולות.
- פריסת שערים מרובי אשכולות.
- איזון עומסים שמקורם בקונטיינר באמצעות קבוצות NEG עצמאיות ברמת האזור.