סקירה כללית על Ambient Networking

‫GKE ambient networking מספק מודל פריסה פשוט יותר ללא sidecar ל-Service mesh עם יכולות של שכבה 4. העברת הפונקציונליות של שרת ה-proxy לרכיבים ברמת הצומת שמשולבים ב-GKE Dataplane V2‏ (DPv2) מאפשרת לרשת הסביבתית לצמצם את התקורה של המשאבים, לבטל את הצורך בהפעלה מחדש של עומסי העבודה לצורך עדכוני שרת ה-proxy ולפשט את ניהול מחזור החיים של רשת ה-mesh.

יכולות

גרסת טרום-השקה (Preview) של Ambient Networking ב-GKE תומכת בפונקציונליות של רשת (mesh) בשכבה 4 באשכול יחיד:

  • ‫Mutual TLS (mTLS): אוכף הצפנה בהעברה ואימות זהות.
  • זיהוי שירותים: זיהוי שירותים וניתוב חיבורים באופן אוטומטי בין עומסי עבודה.
  • ניהול תנועה בשכבה 4: איזון עומסים וניתוב של תנועת TCP.
  • טלמטריה של שכבה 4: פולטת מדדים של תנועה ברשת, חיבור ושגיאות ל-Cloud Observability. למידע נוסף על הצגה חזותית וניתוח של המדדים האלה, קראו את הסקירה הכללית על מעקב אחרי שירותי רשת.

היתרונות של Ambient Networking

בהשוואה לארכיטקטורות של Service mesh שמבוססות על שרתי proxy מסוג sidecar, ל-Ambient Networking יש כמה יתרונות תפעוליים ויתרונות שקשורים למשאבים:

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

  • צריכת משאבים מופחתת: איחוד של שרתי ה-proxy למכונות משותפות ברמת הצומת, מה שמפחית את התקורה של המעבד (CPU) והזיכרון בשיעור של עד 90% בהשוואה למודלים של sidecar.

  • ביטול הסיכונים של Sidecar: פתרון בעיות נפוצות של Sidecar, כמו נקודות חולשה של מעקף שרת proxy של קונטיינר, שיבוש בחיבורים קבועים והפצה לא אמינה של סיום החיבור.

  • שילוב עם פלטפורמה Google Cloud מקורית: שילוב מקורי עם GKE Dataplane V2 ‏(DPv2),‏ Managed Workload Identity, Certificate Authority Service (CAS) ו-Google Cloud Observability.

יכולת פעולה הדדית והיקף

במהלך גרסת טרום-ההשקה (Preview) של Ambient Networking, שימו לב למגבלות הבאות בנוגע להיקף ולתאימות:

  • דרישה ל-Gateway API: כדי להשתמש ב-Ambient Networking צריך את Gateway API. ממשקי ה-API של Istio לא נתמכים.
  • יכולת פעולה הדדית של עומסי עבודה: עומסי עבודה שרשומים ל-Ambient Networking לא יכולים לפעול באופן הדדי עם עומסי עבודה שהוחדר להם sidecar (ב-GKE, ב-Compute Engine או ב-Cloud Run) או עם עומסי עבודה של gRPC בלי שרת Proxy.

ארכיטקטורה ורכיבים

במקום להחדיר שרתי proxy של Envoy ל-Pods של עומסי עבודה, Ambient Networking משתלב ישירות ב-GKE Dataplane V2 (DPv2) בכל צומת.

רכיבים קיימים של מישור הבקרה

‫Ambient networking מסתמך על רכיבים של מישור הבקרה כדי להפיץ מדיניות, לתרגם הגדרות ולהנפיק אישורים:

  • ‫Traffic Director: מספק את מישור הבקרה של xDS להפצת מדיניות ולהגדרת ניתוב.
  • ‫GKE Gateway Controller: מתרגם משאבים בהתאמה אישית של Kubernetes להגדרות של Traffic Director.
  • Certificate Authority Service (CAS): מנפיק אישורי זהות מסוג X.509 לעומסי עבודה באמצעות Managed Workload Identity.
  • מישור הבקרה של אשכול GKE: מאשר בקשות לחתימה על אישורים (CSR) ומנתב אותן ל-CAS.

רכיבי הצומת

במסגרת Ambient Networking, הרכיבים הבאים מותקנים בכל צומת כדי ליירט את תעבורת הנתונים של עומסי העבודה ולהעביר אותה דרך שרת proxy ישירות בכל צומת באשכול:

  • פלאגין GKE ambient NRI: פלאגין של ממשק משאבי צומת (NRI) שמגדיר רשתות ברמה נמוכה כדי ליירט את תעבורת הנתונים של Pod ולהפנות אותה לשרת ה-proxy.

  • שרת proxy סביבתי של GKE: שרת proxy ברמת הצומת שמנהל שקעי האזנה, מקבל כללי xDS מ-Traffic Director, מאחזר אישורי זהות מסוג X.509 על פי דרישה ממישור הבקרה של GKE ומעביר תעבורת נתונים של שכבה 4 דרך שרת proxy.

רכיבי מישור הנתונים של Ambient ברמת הצומת פועלים כ-DaemonSets במרחב השמות gke-managed-ambient, והגרסאות, התיקונים והשדרוגים שלהם מתעדכנים אוטומטית לצד מישור הבקרה של GKE.

היקף היעד והמגבלות

בגרסת טרום-השקה (Preview), ל-Ambient Networking יש את ההיקף ומגבלות יכולת הפעולה ההדדית הבאות:

מדד המשאבים ‫GKE DPv2 (עם ambient) ‫Standard GKE DPv2 (ללא ambient)
צמתים לכל אשכול 500 7,500
שירותים לכל אשכול 300 10,000
פודים לכל אשכול 5,000 200,000
מספר הפודים המקסימלי לכל צומת 256 256

למכסות כלליות של אשכולות GKE, קראו את מגבלות האשכול ואת המפרטים של GKE GKE Dataplane V2.

תמחור

כדאי לעיין בפרטים הבאים לגבי תמחור וחיובים על משאבים תפעוליים של Ambient Networking:

  • כל ה-Pods בכל מרחב שמות עם התווית ambient networking.gke.io/dataplane-mode=ambient יחויבו ב-0.004 $לשעה (0.00006667$ לדקה או בערך 2.90 $לחודש). במהלך גרסת טרום-השקה (Preview) לא תהיה אכיפה של חיוב.
  • חלים חיובי שימוש רגילים על Cloud Observability (‏Cloud Monitoring / Cloud Logging) ועל שירות Certificate Authority.

הסבר על המשאבים של Gateway API

כשמשתמשים ב-Ambient Networking, המשאבים המותאמים אישית של Kubernetes Gateway API שמנוהלים באשכול מתורגמים באופן אוטומטי לקבוצה של משאביGoogle Cloud API מנוהלים.

פונקציונליות משאב API מנוהל של Google Cloud היקף עוצמה (cardinality)
Mesh Mesh אזורי אחד לכל אשכול
ניתוב שירותים TCPRoute אזורי אחד לכל אשכול, ועוד אחד לכל שירות שמטורגט על ידי GCPClientTLSPolicy
ייצוג השירות BackendService אזורי אחד לכל אשכול
אימות לקוח ClientTlsPolicy אזורי אחד לכל אשכול
אימות שרת ServerTlsPolicy אזורי ‫3 לכל אשכול
אימות שרת EndpointPolicy אזורי ‫1 לכל GCPServerTLSPolicy, ועוד 1 לכל מצב mTLS נפרד ב-portOverrides שלו
הרשאה AuthzPolicy אזורי ‫1 לכל Pod targetRef בכל GCPAuthzPolicy עם enforcementLevel: L4
ניתוב תעבורת נתונים יוצאת (egress) EgressRouting אזורי ‫1 לכל מרחב שמות שיש לו GCPEgressPolicy

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