במאמר הזה מוסבר איך שערים מרובי-אשכולות פועלים ב-Google Kubernetes Engine (GKE). שערי Multi-cluster הם פתרון רשת רב עוצמה שמאפשר לכם לנהל את התנועה של שירותים שנפרסו בכמה אשכולות GKE.
המאמר הזה מיועד לאדריכלי ענן ולמומחי רשתות שתפקידם לתכנן את הרשת של הארגון. מידע נוסף על תפקידים נפוצים ועל משימות לדוגמה שאנחנו מתייחסים אליהן בתוכן זמין במאמר תפקידים נפוצים של משתמשי GKE Enterprise ומשימות. Google Cloud
סקירה כללית
שער מרובה אשכולות מוגדר באמצעות משאבי Kubernetes Gateway API. בקר GKE Gateway עוקב אחרי המשאבים האלה (Gateway, HTTPRoute) ומקצה באופן אוטומטי אתGoogle Cloud תשתית איזון העומסים הגלובלית הנדרשת, וגם מתחזק אותה. התשתית הזו מספקת ניהול תנועה מתקדם לשירותים שנפרסים בכמה אשכולות GKE בצי. שערים מרובי-אשכולות משתמשים בתשתית גלובלית של איזון עומסים כדי לספק נקודת כניסה אחת ומאוחדת לאפליקציות שלכם. Google Cloudהיתרונות של הגישה הזו:
- ניהול פשוט יותר
- שיפור האמינות
- הפעלה של יכולות מתקדמות לניהול תעבורת נתונים
יכולות ניהול תנועה
שערים מרובי אשכולות מספקים לכם יכולות מתקדמות לניהול תנועה בכמה אשכולות. אתם יכולים להטמיע אסטרטגיות מורכבות של ניתוב, כמו השקות מדורגות ואסטרטגיות כחול-ירוק, כדי לפרוס שינויים בצורה בטוחה. כדי לשלוט בצורה מדויקת, אפשר להשתמש בהתאמה מבוססת-כותרות כדי לבדוק שינויים עם אחוז קטן של תנועה, או לפצל את התנועה לפי משקל כדי להעביר בהדרגה בקשות בין קצה עורפי שונה של אשכולות.
שערי כניסה מרובי-אשכולות מאפשרים גם לשקף תנועה, כלומר לשלוח עותק של בקשות משתמשים פעילות לשירות חדש כדי לבדוק את הביצועים בלי להשפיע על המשתמשים. כדי להבטיח אמינות ולמנוע עומס יתר, שערים מרובי-אשכולות תומכים במעבר לגיבוי מבוסס-תקינות ובאיזון עומסים מבוסס-קיבולת, שמפיץ בקשות על סמך הקיבולת המוגדרת של השירותים שלכם.
איך פועל שער מרובה אשכולות
כל אשכולות GKE שמשתתפים בהגדרת שער מרובה אשכולות חייבים להיות רשומים בצי. צי מספק קיבוץ לוגי של אשכולות, שמאפשר ניהול ותקשורת עקביים בין האשכולות. אחד מאשכולות ה-GKE בצי מוגדר כאשכול ההגדרות.
אשכול ההגדרות פועל כנקודת בקרה מרכזית להגדרת שער מרובה אשכולות. אתם פורסים את כל המשאבים של Multi-cluster 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 מספק מאזן עומסים חיצוני של אפליקציות (ALB) או מאזן עומסים פנימי של אפליקציות (ALB). מאזן העומסים הזה משמש כקצה קדמי של האפליקציה, ומפיץ את התנועה ישירות אל ה-Pods התקינים בכל המערך, ללא קשר למיקום שלהם.
השלבים הבאים מתארים את התהליך של פריסת שער מרובה אשכולות:
הגדרת שער: בהגדרת שער מרובה אשכולות, יוצרים משאב שער שמגדיר את נקודת הכניסה לתנועה באשכול ההגדרות. משאב השער מציין 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 זמין במאמר בנושא שירותים מרובי-אשכולות.
-
צירוף של HTTPRoute ל-Gateway: משאבי HTTPRoute מגדירים איך תנועת HTTP/S נכנסת מנותבת לשירותי קצה עורפיים ספציפיים. HTTPRoutes מצורפים למשאבי Gateway ומציינים כללים שמבוססים על שמות מארחים, נתיבים, כותרות ועוד. HTTPRoute תומך גם בתכונות מתקדמות לניהול תעבורת נתונים כמו פיצול תעבורת נתונים ושיקוף תעבורת נתונים.
יצירת מאזן עומסים: כשפורסים משאבי Gateway ו-HTTPRoute, בקר GKE Gateway מפרש את אובייקטי ה-API האלה, ובתמורה מגדיר באופן דינמי את תשתית איזון העומסים הנדרשת. Google Cloud לאחר מכן, מאזן העומסים מנתב את התעבורה אל ה-Pods הנכונים, בלי קשר לאשכול שבו נמצאים ה-Pods. התהליך הזה מספק דרך יעילה וניתנת להרחבה לניתוב תנועה.
זרימת תנועה
בתרשים הבא מוצג אופן הפעולה של שער עם כמה אשכולות כמאזן עומסים מרכזי לאפליקציות שפועלות בשני אשכולות GKE באזורים שונים:
ההתנהגות של מאזן העומסים מוגדרת על סמך הכללים שמוגדרים במשאבי HTTPRoute. כשמשתמשים מגיעים לכתובת ה-IP של מאזן העומסים (LB) שהוקצה על ידי Google Cloud (כפי שמוגדר במשאב Gateway), מאזן העומסים, שהוא שרת proxy שמנוהל על ידי Google, מנתב את התנועה. שרת ה-proxy הזה (ממשק קצה של Google (GFE) או שרת proxy אזורי) מנתב את תעבורת הנתונים לנקודת הקצה המתאימה של שירות לקצה העורפי באשכול GKE הנכון, על סמך הקריטריונים הבאים:
- בדיקות תקינות
- כללים לחלוקת תנועה
- קיבולת
התנועה זורמת ישירות אל ה-Pod האופטימלי באשכול שנבחר.