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

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

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

סקירה כללית

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

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

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

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

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

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

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

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

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

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

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

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

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

  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. צירוף של HTTPRoutes לשער: משאבי HTTPRoute מגדירים איך תנועת HTTP/S נכנסת מנותבת לשירותי קצה עורפי ספציפיים. ‫HTTPRoutes מצורפים למשאבי Gateway ומציינים כללים שמבוססים על שמות מארחים, נתיבים, כותרות ועוד. ‫HTTPRoute תומך גם בתכונות מתקדמות של ניהול תעבורת נתונים, כמו חלוקת התנועה ושיקוף תעבורת נתונים.

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

תנועת הנתונים

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

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

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

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

התנועה זורמת ישירות אל רצף המודעות האופטימלי בקבוצת השרתים שנבחרה.

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