שרתי proxy ליעד ב-Cloud Service Mesh
המסמך הזה רלוונטי רק ל-Cloud Service Mesh עם ממשקי ה-API של איזון העומסים. מומלץ מאוד להשתמש בממשקי ה-API לניתוב שירותים כדי לפרוס את Cloud Service Mesh.
כשמגדירים את Cloud Service Mesh, אחד המשאבים שמגדירים הוא שרת proxy של יעד. בהקשר של Cloud Service Mesh, לשרתי proxy של יעד יש שתי מטרות עיקריות:
הגדרת הפרוטוקול שבו משתמשים לקוחות Cloud Service Mesh כשהם פותחים חיבור לקצה העורפי או לנקודות הקצה שמשויכות לשירות.
עבודה עם כללי העברה ומיפוי כתובות URL כדי ליצור מפה של כללי ניתוב. המיפוי של כללי הניתוב מספק יכולות נוספות, כמו כללי ניתוב, בהתאם לסוג שרת ה-proxy של היעד. בחירות לא תקינות מוסתרות בממשק המשתמש או נדחות על ידי ה-API.
סוגים של שרתי proxy יעד ופרוטוקולים של בקשות
Cloud Service Mesh יוצר תצורות שונות ללקוחות שלו על סמך סוג פרוקסי היעד שאתם מגדירים. כשמגדירים סוג של פרוקסי יעד, לקוח Cloud Service Mesh משתמש בפרוטוקול בקשה ספציפי.
| שרת proxy יעד | פרוטוקול בקשה |
|---|---|
| HTTPS | לקוחות יוזמים חיבורי HTTPS |
| HTTP | לקוחות יוזמים חיבורי HTTP |
| gRPC | לקוחות יוזמים חיבורי gRPC |
| TCP | לקוחות יוצרים חיבורי TCP |
אתם לא מוגבלים לבחירה של סוג אחד בלבד. לדוגמה, יכול להיות שהאפליקציה שלכם תרצה להשתמש ב-HTTP כשמפנים אותה לשירותים מסוימים, אבל להשתמש ב-TCP כשמפנים אותה לשירותים אחרים. במקרה שימוש כזה, צריך ליצור גם proxy מסוג HTTP ליעד וגם proxy מסוג TCP ליעד.
שילובים תקינים של משאבים במיפוי של כלל ניתוב
כדי למנוע טעויות בהגדרות, ב-Cloud Service Mesh אפשר ליצור רק מיפויים של כללי ניתוב שנראים כך:
- כלל העברה > שרת proxy גלובלי של HTTPS ביעד > מפת URL > שירות עורפי אחד או יותר
- כלל העברה > שרת proxy HTTP גלובלי ליעד > מפת URL > שירות לקצה העורפי אחד או יותר
- כלל העברה > שרת proxy גלובלי של יעד gRPC > מפת URL > שירות קצה עורפי אחד או יותר
- כלל העברה > שרת proxy TCP גלובלי ליעד > שירות לקצה העורפי אחד
אם משתמשים במסוף Google Cloud כדי להגדיר שרת proxy HTTP ליעד, שרת ה-proxy ליעד מוגדר באופן מרומז כחלק מההגדרה של מפת כללי הניתוב. הגדרת שרת proxy של TCP עדיין לא נתמכת במסוףGoogle Cloud .
אם אתם משתמשים ב-Google Cloud CLI או בממשקי ה-API, אתם צריכים להגדיר את שרת ה-proxy של היעד באופן מפורש.
טיפול בתנועת גולשים
בקטעים הבאים מתוארים דרכים לטפל בתנועה בהתאם לסוג של פרוקסי היעד שבו אתם משתמשים.
שימוש בשרת proxy של HTTP או HTTPS ביעד
כשמגדירים שירותים מבוססי HTTP או HTTPS, בדרך כלל לכל מופע של שירות יש שרת proxy של Envoy שמוצב לצדו. Cloud Service Mesh מגדיר את שרת ה-Proxy של Envoy. הוא חלק ממישור הנתונים של Service mesh ומטפל בתעבורה באופן הבא.
שרת ה-proxy של Envoy מקבל את הבקשה היוצאת. לאחר מכן, הוא משווה בין כתובת ה-IP של היעד והיציאה של הבקשה לבין כתובת ה-IP והיציאה שהוגדרו בכל כלל העברה שמפנה לשרת proxy של יעד HTTP או HTTPS. אם נמצאת התאמה, שרת ה-proxy של Envoy מעריך את הבקשה בהתאם למפת ה-URL התואמת של שרת ה-proxy של היעד.
שימוש בשרת proxy של TCP ביעד
כשמגדירים שירותים מבוססי TCP, בדרך כלל לכל מופע של שירות יש פרוקסי Envoy שנפרס לצדו. Cloud Service Mesh מגדיר את שרת ה-Proxy של Envoy. הוא חלק ממישור הנתונים של Service mesh ומטפל בתעבורה באופן הבא.
שרת ה-proxy של Envoy מקבל את הבקשה היוצאת. לאחר מכן הוא משווה בין כתובת ה-IP והיציאה של היעד של הבקשה לבין כתובת ה-IP והיציאה שהוגדרו בכל כלל העברה שמפנה לשרת proxy TCP של יעד. כל כלל העברה מנתב תעבורת TCP לשרת proxy יעד שמפנה לשירות קצה עורפי שמוגדר כברירת מחדל. שירות לקצה העורפי מציין בדיקת תקינות וקובע את ה-Backend המתאים.
שימוש ב-proxy של יעד gRPC
כשמגדירים שירותים מבוססי-gRPC, בדרך כלל לא נפרסים פרוקסי של Envoy לצד מופעי השירות. במקום זאת, Cloud Service Mesh מגדיר את ספריית gRPC. הספרייה היא חלק ממישור הנתונים של Service mesh, והיא מטפלת בתעבורה באופן הבא.
ספריית gRPC משווה את hostname[:port] שצוין ב-URI לכללי המארח בכל מיפויי כתובות ה-URL ששרת proxy של gRPC יעד מפנה אליהם. אם נמצאת התאמה, ספריית gRPC מעריכה את הבקשה בהתאם לכללי הנתיב שמשויכים לכלל המארח התואם.
משאבי שרת proxy יעד
כדי להוסיף, למחוק, להציג מידע על שרתי proxy של יעד ולקבל מידע עליהם, אפשר להשתמש ב-API בארכיטקטורת REST או ב-CLI של gcloud.
בנוסף, כדי לקבל מידע על שרת proxy של יעד, אפשר להשתמש בפקודות הבאות של gcloud:
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] list
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] describe TARGET_PROXY_NAME
ממשקי API
לתיאורים של המאפיינים והשיטות שזמינים לכם כשאתם עובדים עם שרתי proxy ליעד דרך API בארכיטקטורת REST, תוכלו לעיין במקורות המידע הבאים שנתמכים ב-Cloud Service Mesh:
CLI של gcloud
במשאבים הבאים אפשר לקבל מידע על Google Cloud CLI:
המאמרים הבאים
- מידע נוסף על Cloud Service Mesh זמין בסקירה הכללית על Cloud Service Mesh.
- הוראות לפריסת Cloud Service Mesh מופיעות במדריך לפריסת Cloud Service Mesh.