מידע על שערים מרובי אשכולות

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

המסמך הזה מיועד לאדריכלי ענן ולמומחי רשתות שתפקידם לתכנן את הרשת של הארגון. מידע נוסף על תפקידים נפוצים ועל משימות לדוגמה שאנחנו מתייחסים אליהם בתוכן של Google Cloud זמין במאמר תפקידים נפוצים של משתמשים ומשימות ב-GKE Enterprise.

סקירה כללית

שער מרובה אשכולות מוגדר באמצעות משאבי Kubernetes Gateway API. הבקר של GKE Gateway עוקב אחרי המשאבים האלה (Gateway,‏ HTTPRoute) ומקצה באופן אוטומטי אתGoogle Cloud התשתית הגלובלית הנדרשת לאיזון עומסים, וגם מתחזק אותה. התשתית הזו מספקת ניהול מתקדם של תעבורת נתונים בשירותים שנפרסים בכמה אשכולות GKE ב-Fleet. שערי Multi-cluster Gateways משתמשים בתשתית גלובלית של איזון עומסים כדי לספק נקודת כניסה אחת ומאוחדת לאפליקציות שלכם. Google Cloudהיתרונות של הגישה הזו:

  • ניהול פשוט יותר
  • שיפור האמינות
  • הפעלה של יכולות מתקדמות לניהול ��עבורת נתונים

יכולות ניהול תנועה

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

שערי כניסה מרובי-אשכולות מאפשרים גם לשקף תנועה, כלומר לשלוח עותק של בקשות משתמשים פעילות לשירות חדש כדי לבדוק את הביצועים בלי להשפיע על המשתמשים. כדי להבטיח אמינות ולמנוע עומס יתר, שערים מרובי-אשכולות תומכים במעבר לגיבוי (failover) על סמך תקינות ובאיזון עומסים על סמך קיבולת, שמפיץ בקשות על סמך הקיבולת המוגדרת של השירותים.

איך פועל שער מרובה אשכולות

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

אשכול ההגדרות משמש כנקודת בקרה מרכזית להגדרת שער מרובה אשכולות. אתם פורסים את כל המשאבים של Gateway API מרובה אשכולות, כמו Gateway ו-HTTPRoute, רק באשכול המיועד הזה. הבקר של GKE Gateway עוקב אחרי שרת ה-API של Kubernetes באשכול התצורה כדי לזהות את המשאבים האלה.

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

בקר השערים מרובי האשכולות משתמש בשירותים מרובי אשכולות (MCS) כדי לגלות שירותי Kubernetes ולגשת אליהם בכמה אשכולות של GKE בתוך צי. MCS היא תכונה של GKE שמאפשרת זיהוי שירותים וקישוריות בין שירותים שפועלים באשכולות GKE שונים בתוך Fleet.

‫MCG משתמש ב-MCS כדי לגלות אילו שירותים זמינים באילו אשכולות, כדי לנתב תעבורה חיצונית לשירותים. הבקר של MCG משתמש במשאבי MCS API כדי לקבץ Pods לשירות יחיד שאפשר לפנות אליו ושהוא משתרע על כמה אשכולות.

על סמך ההגדרות שהגדרתם במשאבי Gateway API, בקר GKE Gateway מספק מאזן עומסים של אפליקציות חיצוני או מאזן עומסים של אפליקציות פנימי. מאזן העומסים הזה משמש כקצה קדמי של האפליקציה, ומפיץ את תעבורת הנתונים ישירות אל ה-Pods התקינים בכל ה-Fleet, ללא קשר למיקום שלהם.

השלבים הבאים מתארים את התהליך של פריסת שער מרובה אשכולות:

  1. הגדרת שער: בהגדרת שער מרובה אשכולות, יוצרים משאב שער שמגדיר את נקודת הכניסה לתנועה באשכול ההגדרות. משאב השער מציין GatewayClass, שהוא תבנית לסוג מסוים של מאזן עומסים, כמו מאזן עומסים חיצוני גלובלי של אפליקציות (ALB) או מאזן עומסים פנימי אזורי של אפליקציות (ALB). ב-GKE, מחלקות השערים הבאות פורסות שערים מרובי אשכולות:

    • gke-l7-global-external-managed-mc: הקצאת מאזן עומסים גלובלי חיצוני של אפליקציות (ALB).
    • gke-l7-regional-external-managed-mc: הקצאת מאזן עומסים חיצוני אזורי של אפליקציות (ALB).
    • gke-l7-cross-regional-internal-managed-mc: הקצאת מאזן עומסים פנימי של אפליקציות (ALB).
    • gke-l7-rilb-mc: הקצאת מאזן עומסים פנימי של אפליקציות (ALB).
    • gke-l7-gxlb-mc: הקצאת משאבים של מאזן עומסים קלאסי של אפליקציות (ALB).

    השער מגדיר גם איך מאזן העומסים מאזין לתעבורה נכנסת, על ידי ציון של מאזיני הרשת (יציאות ופרוטוקולים) שיוצגו. מידע נוסף על Gateway Classes שנתמכים ב-GKE זמין במאמר בנושא שירותים מרובי-אשכולות.

  2. צירוף של HTTPRoute ל-Gateway: משאבי HTTPRoute מגדירים איך תנועת HTTP/S נכנסת מנותבת לשירותי קצה עורפיים ספציפי��ם. ‫HTTPRoutes מצורפים למשאבי Gateway ומציינים כללים שמבוססים על שמות מארחים, נתיבים, כותרות ועוד. ‫HTTPRoute תומך גם בתכונות מתקדמות לניהול תעבורת נתונים כמו פיצול תעבורת נתונים ושיקוף תעבורת נתונים.

  3. יצירת מאזן עומסים: כשפורסים משאבי Gateway ו-HTTPRoute, בקר GKE Gateway מפרש את אובייקטי ה-API האלה, ובתמורה מגדיר באופן דינמי את תשתית איזון העומסים הנדרשת Google Cloud . לאחר מכן, מאזן העומסים מנתב את תעבורת הנתונים אל ה-Pods הנכונים, ללא קשר לאשכול שבו נמצאים ה-Pods. התהליך הזה מספק דרך יעילה וניתנת להרחבה לניתוב תנועה.

תעבורת נתונים

בתרשים הבא מוצג אופן הפעולה של שער מרובה אשכולות כמאזן עומסים מרכזי לאפליקציות שפועלות בשני אשכולות GKE באזורים שונים:

ארכיטקטורה של שער מרובה אשכולות ב-GKE.
איור: ארכיטקטורת Multi-cluster Gateway

ההתנהגות של מאזן העומסים מוגדרת על סמך הכללים שמוגדרים במשאבי HTTPRoute. כשנתוני התנועה של המשתמשים מגיעים לכתובת ה-IP של מאזן העומסים (LB) שהוקצה (כפי שמוגדר במשאב Gateway), מאזן העומסים, שהוא proxy שמנוהל על ידי Google, מנתב את התנועה. Google Cloud שרת ה-proxy הזה (שרת proxy של ממשק קצה של Google‏ (GFE) או שרת proxy אזורי) מנתב את תעבורת הנתונים לנקודת הקצה המתאימה של שירות לקצה העורפי באשכול GKE הנכון, על סמך הקריטריונים הבאים:

  • בדיקות תקינות
  • כללים לחלוקת התנועה
  • קיבולת

התנועה זורמת ישירות אל ה-Pod האופטימלי באשכול שנבחר.

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