כללי העברה ל-Cloud Service Mesh
המסמך הזה רלוונטי רק ל-Cloud Service Mesh עם ממשקי ה-API של איזון העומסים. מומלץ מאוד להשתמש בממשקי ה-API לניתוב שירותים כדי לפרוס את Cloud Service Mesh.
Cloud Service Mesh משתמש בכלל ההעברה כדי לקבוע את שרת ה-proxy של היעד שאליו מנותבת התנועה ברשת.
כל כלל העברה מספק כתובת IPv4 גלובלית אחת לשירות. אפשר להשתמש בכתובת הזו כדי ליצור רשומות DNS פנימיות לשירות (לדוגמה, באמצעות אזור פרטי מנוהל ב-Cloud DNS). מסנני המטא-נתונים בכלל ההעברה קובעים את הקריטריונים שלפיהם פרוקסי מסוג קובץ עזר חיצוני שתואם ל-xDS מקבל את ההגדרה.
במישור הבקרה של Cloud Service Mesh, כלל ההעברה הגלובלי הפנימי שמנוהל עצמאית מנתב את תעבורת הנתונים לפי כתובת IP, יציאה ופרוטוקול לשרת proxy של יעד. שרת ה-proxy של היעד מפנה למפת URL שמכילה כללים שקובעים את היעד של התנועה. במפת ה-URL מצוין גם שירות לקצה העורפי שמוגדר כברירת מחדל. שירות לקצה העורפי הזה מציין בדיקת תקינות וקובע את ה-Backend המתאים, כמו קבוצת מופעי מכונה מנוהלים (MIG) שמכילה מופעי מכונה וירטואלית (VM) או קבוצת נקודות קצה ברשת (NEG) שמכילה תרמילי Backend של Google Kubernetes Engine (GKE).
בתרשים הבא אפשר לראות איך כלל העברה משתלב בארכיטקטורה של Cloud Service Mesh.
מאפיינים של כלל העברה
משאב של כלל העברה מכיל את המאפיינים הבאים שחלים על Cloud Service Mesh. כלל ההעברה מטפל בתעבורת נתונים שתואמת לכתובת ה-IP של היעד, לפרוטוקול ולמספר היציאה.
כתובת IP של 0.0.0.0 בכלל העברה היא אחת מהאפשרויות כשמשתמשים ב-Cloud Service Mesh. כתובת IP 0.0.0.0 פירושה כל כתובת IP.
בפריסת proxy, כתובת IP של
0.0.0.0מאפשרת ל-proxy להתאים לכל תנועה נכנסת אם לא נמצאה התאמה ספציפית אחרת.בפריסה ללא שרת proxy, כתובת IP
0.0.0.0מאפשרת לציין שלא נדרשת כתובת IP. בהמשך מפורטים פרטים נוספים על שימוש בכתובות IP של0.0.0.0עם שרת proxy של gRPC ליעד.
בטבלה הבאה מתוארים מאפיינים של כללי העברה בפירוט רב יותר.
| מאפיין (property) | חובה | תיאור |
|---|---|---|
name |
✔ | השם של כלל ההעברה. השם חייב להיות ייחודי בפרויקט הזה, באורך של 1 עד 63 תווים, ולהתאים לביטוי הרגולרי:
כלומר, התו הראשון חייב להיות אות קטנה, וכל התווים הבאים חייבים להיות מקף, אות קטנה או ספרה, למעט התו האחרון, שלא יכול להיות מקף. |
IPAddress |
✔ | אחת מהכתובות הבאות: כתובות ה-IP של כללי ההעברה ב-Cloud Service Mesh לא צריכות להתאים לטווחים של כתובות IP של תת-רשתות ברשת של הענן הווירטואלי הפרטי (VPC). לכל רשת VPC, כתובת IP ויציאה, יכול להיות רק כלל העברה פנימי אחד בניהול עצמי. לדוגמה, באותה רשת VPC, אי אפשר ליצור שני כללי העברה שמשתמשים בכתובת ה-IP |
IPAddress עם שרת proxy יעד של gRPC |
כלל העברה שמפנה לשרת proxy של יעד gRPC עם השדה לקוח gRPC שמשתמש בסכימת כתוצאה מכך, Cloud Service Mesh משתמש בכתובת ה-IP |
|
target |
✔ |
שרת ה-proxy שאליו כלל ההעברה הזה מפנה את התנועה.
Cloud Service Mesh תומך ב- כשמשתמשים במסוף Google Cloud כדי להגדיר את כלל ההעברה, שרת ה-proxy של היעד מוגדר באופן אוטומטי. כשמשתמשים ב-Google Cloud CLI או ב-API, פרוקסי היעד צריך להתקיים לפני שיוצרים את כלל ההעברה. אפשר להשתמש ביותר מכלל העברה אחד עם שרת proxy נתון. |
IPProtocol |
✔ | סוג הפרוטוקול שהכלל הזה להעברה תואם לו. הערך הנתמך היחיד הוא TCP. |
loadBalancingScheme |
✔ | מציינת את אופן השימוש בכלל ההעברה. הערך התקין של Cloud Service Mesh הוא INTERNAL_SELF_MANAGED. |
portRange |
✔ |
יציאה או טווח יציאות שמחוברים באמצעות מקף. מנות של הפרוטוקול שצוין
שנשלחות ליציאות האלה מועברות לחלק האחורי המתאים.
אפשר לציין מספר יחיד או טווח – לדוגמה, לכל רשת VPC, כתובת IP ויציאה, יכול להיות רק כלל העברה פנימי אחד בניהול עצמי. לדוגמה, באותה רשת VPC, אי אפשר ליצור שני כללי העברה שמשתמשים בכתובת ה-IP בשירותי gRPC בלי שרת Proxy, היציאה בכלל ההעברה תואמת ליציאה שצוינה ב-URI שאפליקציית gRPC משתמשת בו כדי להתחבר לשירות. אם לא מציינים יציאה ב-URI, יציאת ברירת המחדל היא |
network |
✔ |
מציינת את רשת ה-VPC שבה נמצאות מכונות ה-VM שמריצות שרתי proxy של Envoy. Google Cloud שרתי ה-proxy של Envoy קוראים את ההגדרה של Cloud Service Mesh שאתם מגדירים לאותה רשת שבה פרוסים שרתי ה-proxy. אפשר להשתמש ברשת VPC בשם Cloud Service Mesh תומך באיזון עומסים ללקוחות רק בתוך Google Cloud הרשת. אתם מציינים את שם הרשת בכלל ההעברה. אין תמיכה בקישור בין רשתות VPC שכנות (peering). |
הוספת כלל גלובלי להעברה
כדי ללמוד איך להגדיר כלל העברה במסגרת ההגדרה הכוללת של Cloud Service Mesh באמצעות ממשקי ה-API של איזון העומסים, אפשר לעיין במאמרים הבאים:
- הגדרה של Cloud Service Mesh למכונות וירטואליות ב-Compute Engine עם פריסה אוטומטית של Envoy
- הגדרה של Cloud Service Mesh למכונות וירטואליות ב-Compute Engine עם פריסה ידנית של Envoy
- הגדרה של Cloud Service Mesh ל-Pods של GKE עם הזרקה אוטומטית של Envoy
- הגדרה של Cloud Service Mesh עבור Pods ב-GKE עם הזרקה ידנית של Envoy
- הגדרת Cloud Service Mesh למכונות וירטואליות של Compute Engine ולשירותי gRPC ללא proxy
- הגדרה של Cloud Service Mesh עבור פודים של GKE ושירותי gRPC ללא שרת proxy
המאמרים הבאים
- כדי להשתמש במסנני מטא-נתונים כדי לקבוע אילו פרוקסי מסוג sidecar יקבלו את ההגדרה שמצורפת לכלל ההעברה, אפשר לעיין במאמר בנושא הגדרת סינון הגדרות על סמך התאמה של
MetadataFilter. - מידע על ניתוב תעבורה זמין במאמר סקירה כללית על מיפוי כללי ניתוב ב-Cloud Service Mesh.
- מידע נוסף על Cloud Service Mesh זמין בסקירה הכללית על Cloud Service Mesh.