סקירה כללית על Cloud Service Mesh
Cloud Service Mesh הוא רשת שירותים שזמינה ב- Google Cloudובפלטפורמות GKE נתמכות. הוא תומך בשירותים שפועלים במגוון תשתית מחשוב. השליטה ב-Cloud Service Mesh מתבצעת באמצעות ממשקי API שנועדו ל- Google Cloud, לקוד פתוח או לשניהם.
המאמר הזה מיועד למשתמשים חדשים ב-Cloud Service Mesh או ללקוחות קיימים של Anthos Service Mesh או Traffic Director.
מה זה Service mesh?
Service mesh היא ארכיטקטורה שמאפשרת תקשורת מנוהלת, ניתנת לצפייה ומאובטחת בין השירותים שלכם, וכך מקלה עליכם ליצור אפליקציות ארגוניות חזקות שמורכבות ממיקרו-שירותים רבים בתשתית שבחרתם. רשתות שירות מנהלות את הדרישות הנפוצות להפעלת שירות, כמו מעקב, רשתות ואבטחה, באמצעות כלים עקביים ועוצמתיים. כך מפתחים ומפעילים של שירותים יכולים להתמקד בי��ירה ובניהול של אפליקציות מצוינות למשתמשים שלהם.
מבחינת ארכיטקטורה, service mesh מורכב מרמת בקרה אחת או יותר ומרמת נתונים. ה-Service mesh עוקב אחרי כל התעבורה שנכנסת לשירותים ויוצאת מהם. ב-Kubernetes, שרת proxy נפרס על ידי תבנית sidecar למיקרו-שירותים ברשת. ב-Compute Engine, אפשר לפרוס שרתי proxy במכונות וירטואליות או להשתמש ב-gRPC ללא proxy למישור הנתונים.
הדפוס הזה מפריד בין לוגיקה עסקית לבין פונקציות רשת, ומאפשר למפתחים להתמקד בתכונות שהעסק צריך. רשתות שירות מאפשרות גם לצוותי תפעול ולצוותי פיתוח להפריד את העבודה שלהם זה מזה.
תכנון האפליקציות שלכם כמיקרו-שירותים מספק יתרונות רבים. עם זאת, ככל שהעומסים גדלים, הם יכולים להיות מורכבים ומפוצלים יותר. רשת שירותים עוזרת לפתור את בעיית הפיצול ומקלה על ניהול המיקרו-שירותים.
מה זה Cloud Service Mesh?
Cloud Service Mesh הוא הפתרון של Google לסביבות GKE Enterprise נתמכות וגם Google Cloud.
- ב- Google Cloud: Cloud Service Mesh מספק ממשקי API שספציפיים לתשתית המחשוב שבה מופעלים עומסי העבודה.
- עבור עומסי עבודה ב-Compute Engine, Cloud Service Mesh משתמש בממשקי API ספציפיים לניתוב שירותים ב-Google Cloud.
- עבור עומסי עבודה של Google Kubernetes Engine (GKE), Cloud Service Mesh משתמש בממשקי ה-API של Istio בקוד פתוח.
- מושבת Google Cloud: עם Distributed Cloud או GKE multicloud, Cloud Service Mesh תומך בממשקי Istio API לעומסי עבודה של Kubernetes.
בין אם האפשרות מופעלת או מושבתת Google Cloud, Cloud Service Mesh מאפשר לכם לנהל, לנטר ולאבטח את השירותים שלכם בלי שתצטרכו לשנות את קוד האפליקציה.
Cloud Service Mesh מפחית את העומס על צוותי התפעול והפיתוח שלכם על ידי פישוט אספקת השירותים, מניהול תעבורה וטלמטריה של רשתות ועד לאבטחת התקשורת בין השירותים. רשת Service mesh שמנוהלת במלואה על ידי Google מאפשרת לכם לנהל סביבות מורכבות וליהנות מהיתרונות שהן מציעות.
תכונות
ב-Cloud Service Mesh יש חבילת תכונות לניהול תעבורה, לניראות ולטלמטריה ולאבטחה.
ניהול תנועה
Cloud Service Mesh שולט בתעבורת הנתונים בין השירותים ברשת, אל הרשת (תעבורת נתונים נכנסת) ומחוץ לרשת (תעבורת נתונים יוצאת). אתם מגדירים ומפריסים משאבים לניהול התעבורה הזו בשכבת האפליקציה (L7). לדוגמה, אתם יכולים:
- שימוש בזיהוי שירותים.
- ה��דרת איזון עומסים בין שירותים.
- יצירת פריסות קנרי ופריסות כחול-ירוק.
- שליט�� מדויקת בניתוב של השירותים.
- הגדרת מפסקים.
Cloud Service Mesh שומר רשימה של כל השירותים ברשת לפי שם ולפי נקודות הקצה שלהם. הרשימה הזו משמשת לניהול זרימת תעבורת הנתונים (לדוגמה, כתובות ה-IP של Kubernetes Pod או כתובות ה-IP של מכונות וירטואליות של Compute Engine בקבוצת מופעי מכונה מנוהלים). באמצעות רישום השירות הזה, והפעלת ה-proxies זה לצד זה עם השירותים, הרשת יכולה להפנות את התנועה לנקודת הקצה המתאימה. אפשר להשתמש במקביל גם בעומסי עבודה של gRPC ללא proxy עם עומסי עבודה שמשתמשים ב-proxy של Envoy.
תובנות בנושא ניראות
ממשק המשתמש של Cloud Service Mesh ב Google Cloud מסוף מספק תובנות לגבי רשת השירותים. המדדים האלה נוצרים באופן אוטומטי לעומסי עבודה שהוגדרו באמצעות ממשקי ה-API של Istio.
- מדדים ויומנים של שירותים לתעבורת HTTP באשכול GKE של ה-mesh נקלטים אוטומטית ב- Google Cloud.
- לוחות בקרה של שירותים שהוגדרו מראש מספקים לכם את המידע שאתם צריכים כדי להבין את השירותים שלכם.
- טלמטריה מעמיקה – מבוססת על Cloud Monitoring, Cloud Logging ו-Cloud Trace – מאפשרת לכם לבדוק לעומק את מדדי השירות והיומנים. אתם יכולים לסנן ולפלח את הנתונים לפי מגוון רחב של מאפיינים.
- הקשרים בין השירותים עוזרים לכם להבין במבט חטוף את התלות בין השירותים ואת מי שמחובר לכל שירות.
- אתם יכולים לראות במהירות את מצב האבטחה של התקשורת לא רק בשירות שלכם, אלא גם את הקשרים שלו לשירותים אחרים.
- יעדים למדידת רמת השירות (SLO) מספקים תובנות לגבי תקינות השירותים. אתם יכולים להגדיר SLO ולהגדיר התראות על סמך סטנדרטים משלכם לגבי תקינות השירות.
במדריך Observability אפשר לקרוא מידע נוסף על תכונות ה-Observability של Cloud Service Mesh.
יתרונות האבטחה
ל-Cloud Service Mesh יש הרבה יתרונות בתחום האבטחה.
- מצמצם את הסיכון להתקפות חוזרות או להתחזות שנעשות באמצעות פרטי כניסה גנובים. Cloud Service Mesh מסתמך על אישורי TLS הדדי (mTLS) כדי לאמת עמיתים, ולא על אסימוני נשיאה כמו אסימוני JWT (JSON Web Tokens).
- הצפנה של נתונים במעבר. שימוש ב-mTLS לאימות מבטיח גם שכל התקשורת ב-TCP מוצפנת במעבר.
- מצמצם את הסיכון שלקוחות לא מורשים יוכלו לגשת לשירות עם מידע אישי רגיש, ללא קשר למיקום ברשת של הלקוח ולפרטי הכניסה ברמת האפליקציה.
- מצמצם את הסיכון לפרצה באבטחת מידע בנתוני משתמשים ברשת הייצור. אתם יכולים לוודא שלמשתמשים פנימיים תהיה גישה למידע אישי רגיש רק דרך לקוחות מורשים.
- מזהה אילו לקוחות ניגשו לשירות עם מידע אישי רגיש. ��י��ום ה��ישה ��-Cloud Service Mesh ��ת��ד את ��הות הלקוח ב-mTLS בנוסף לכתובת ה-IP.
- כל רכיבי מישור הבקרה והפרוקסי באשכול נוצרים באמצעות מודולי הצפנה מאומתים של FIPS 140-2.
מידע נוסף על היתרונות ותכונות האבטחה של Service Mesh זמין במדריך האבטחה.
אפשרויות פריסה
אלה אפשרויות הפריסה ב-Cloud Service Mesh:
- ב- Google Cloud
- Managed Cloud Service Mesh – מישור בקרה ומישור נתונים מנוהלים ל-GKE (מומלץ)
- Managed Cloud Service Mesh – מישור נתונים ומישור בקרה מנוהלים ל-Compute Engine עם מכונות וירטואליות (מומלץ)
- מישור בקרה בתוך האשכול ל-GKE עם ממשקי Istio API (הוצא משימוש)
- מושבת Google Cloud
- מישור בקרה בתוך אשכול ל-Kubernetes עם ממשקי Istio API
Managed Cloud Service Mesh
Managed Cloud Service Mesh מורכב ממישור הבקרה המנוהל לכל התשתיות וממישור הנתונים המנוהל ל-GKE. עם Managed Cloud Service Mesh, Google מטפלת בשדרוגים, בהרחבת הקיבולת ובאבטחה בשבילכם, וכך מצמצמת את הצורך בתחזוקה ידנית של המשתמשים. הוא כולל את מישור הבקרה, מישור הנתונים ומשאבים קשורים.
הטמעה של מישור הנתונים
אם אתם משתמשים ב- Google Cloud APIs, מישור הנתונים יכול להיות מסופק על ידי שרתי proxy של Envoy או על ידי אפליקציות gRPC בלי שרת Proxy. אם אתם מעדכנים אפליקציה קיימת, הגישה שמבוססת על sidecar מאפשרת שילוב ברשת בלי לשנות את האפליקציה. אם אתם רוצים להימנע מהתקורה של הפעלת sidecar, אתם יכולים לעדכן את האפליקציה שלכם לשימוש ב-gRPC.
גם שרתי proxy של Envoy וגם gRPC בלי שרת Proxy משתמשים ב-xDS API כדי להתחבר למישור הבקרה. אם משתמשים ב-gRPC בלי שרת Proxy, אפשר לבחור מתוך שפות נתמכות לאפליקציות, כולל Go, C++, Java ו-Python.
אם אתם משתמשים בממשקי API של Istio בקוד פתוח, מישור הנתונים מסופק על ידי שרתי proxy של Envoy.
הטמעה של מישור הבקרה
מישור הבקרה של Cloud Service Mesh תלוי בהגדרה שלכם – מופעלת או מושבתת Google Cloud – וגם אם אתם לקוחות חדשים.
הטמעה של מישור הבקרה למשתמשים קיימים
- אם ההגדרה מושבתת Google Cloud, אתם משתמשים במישור בקרה לא מנוהל בתוך האשכול של Cloud Service Mesh. מידע נוסף זמין במאמר תכונות נתמכות של מישור בקרה בתוך ��שכול.
- אם השתמשתם ב-Anthos Service Mesh בגרסה Google Cloud, אתם משתמשים בממשקי Istio API. מידע נוסף זמין במאמר תכונות נתמכות באמצעות Istio APIs (מישור בקרה מנוהל) .
- אם השתמשתם ב-Traffic Director, אתם משתמשים במישור הבקרה המנוהל של Cloud Service Mesh עם Google Cloud ממשקי API. מידע נוסף זמין במאמר Cloud Service Mesh עם תכונות נתמכות של Google Cloud API.
כדי לזהות את מישור הבקרה הנוכחי, קוראים את המאמר זיהוי ההטמעה של מישור הבקרה. מידע נוסף על מישורי בקרה ועל העברת מישורי בקרה זמין במאמר סקירה כללית על מישור בקרה מנוהל ללקוחות קיימים.
הטמעה של מישור הבקרה למשתמשים חדשים
- אם אתם מתכננים הגדרה שלGoogle Cloud , אתם בוחרים במישור הבקרה הלא מנוהל בתוך האשכול של Cloud Service Mesh. מידע נוסף זמין במאמר תכונות נתמכות של מישור בקרה בתוך אשכול.
- אם אתם מתכננים הגדרה ב-GKE, תשתמשו בממשקי ה-API של Istio עם הטמעה של מישור הבקרה של Traffic Director.Google Cloud מידע נוסף זמין במאמר בנושא תכונות נתמכות באמצעות Istio APIs (מישור בקרה מנוהל).
- אם אתם מתכננים הגדרה שלGoogle Cloud במכונות וירטואליות ב-Compute Engine, תשתמשו בהטמעה של מישור הבקרה של Traffic Director. מידע נוסף זמין במאמר בנושא תכונות נתמכות של Cloud Service Mesh עם ממשקי Google Cloud API.
העברה של מישור הבקרה
אם אתם לקוחות קיימים של Anthos Service Mesh ומשתמשים ב-Istio APIs, אתם יכולים להמשיך להשתמש ב-Istio APIs להגדרות.
אם יש לכם צי של מכונות שעדיין משתמשות בהטמעה של ISTIOD control plane, אתם חייבים לעדכן אותן.
המאמרים הבאים
- אם אתם משתמשים קיימים, כדאי לקרוא את המאמר מישור בקרה מנוהל ללקוחות קיימים.
- אם אתם מתכננים להגדיר את GKE, כדאי לקרוא את המאמר הקצאת מישור בקרה.
- אם אתם מתכננים להגדיר את התכונה באמצעות Compute Engine ומכונות וירטואליות, כדאי לקרוא את המאמר הכנה להגדרה של ממשקי API לניתוב שירותים באמצעות Envoy ועומסי עבודה ללא proxy.