קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
תכונות נתמכות באמצעות ממשקי API של Istio (מישור בקרה מנוהל)
בדף הזה מתוארות התכונות הנתמכות והמגבלות של Cloud Service Mesh כשמשתמשים ב-TRAFFIC_DIRECTOR או ב-ISTIOD כמישור הבקרה, וההבדלים בין כל הטמעה. שימו לב שאלה לא אפשרויות שאתם יכולים לבחור. ההטמעה של ISTIOD זמינה רק למשתמשים קיימים.
בהתקנות חדשות נעשה שימוש בהטמעה של TRAFFIC_DIRECTOR כשאפשר.
רשימה של ממשקי ה-API של Istio ו- Google Cloud שנתמכים ב-Cloud Service Mesh מנוהל עם TRAFFIC_DIRECTOR מופיעה במאמר תמיכה ב-API ב-Cloud Service Mesh מנוהל.
אם אתם לא בטוחים באיזה מישור בקרה של Cloud Service Mesh אתם משתמשים, אתם יכולים לבדוק את ההטמעה של מישור הבקרה לפי ההוראות במאמר זיהוי ההטמעה של מישור הבקרה.
העברות מ-Cloud Service Mesh באשכול נתמכות רק באמצעות האסטרטגיה העברת אשכולות Canary.
אפשר לבצע העברות ושדרוגים רק מגרסאות של Cloud Service Mesh באשכול שמופיעות בטבלה גרסאות נתמכות, ורק באמצעות Mesh CA או Certificate Authority Service. בהתקנות עם Istio CA (לשעבר Citadel), קודם צריך לעבור ל-Mesh CA.
אתם יכולים להשתמש במישור הבקרה המנוהל בלי מינוי ל-GKE Enterprise, אבל חלק מהרכיבים בממשק המשתמש והתכונות במסוף Google Cloud זמינים רק למנויי GKE Enterprise. במאמר ההבדלים בממשק המשתמש של GKE Enterprise ו-Cloud Service Mesh מוסבר מה זמין למנויים ולמי שאינם מנויים.
במהלך תהליך ההקצאה של מישור בקרה מנוהל, ה-CRD של Istio שתואמים לערוץ שנבחר מותקנים באשכול שצוין. אם יש באשכול הגדרות CRD קיימות של Istio, הן יוחלפו.
ב-Managed Cloud Service Mesh יש תמיכה רק בדומיין ברירת המחדל של DNS, .cluster.local.
בהתקנות חדשות של Cloud Service Mesh מנוהל, המערכת מאחזרת את JWKS רק באמצעות Envoys, אלא אם ה-fleet מכיל אשכולות אחרים שההתנהגות הזו לא מופעלת בהם. האפשרות הזו מקבילה לאפשרות PILOT_JWT_ENABLE_REMOTE_JWKS=envoy ב-Istio. בהשוואה להתקנות שאין בהן את התנאי VPCSC_GA_SUPPORTED (ראו בהמשך), יכול להיות שתצטרכו הגדרות נוספות ל-ServiceEntry ול-DestinationRule. לדוגמה, ראו requestauthn-with-se.yaml.tmpl.
כדי לקבוע אם מצב הפעולה הנוכחי שווה ערך ל-PILOT_JWT_ENABLE_REMOTE_JWKS=envoy, צריך לבדוק אם VPC Service Controls נתמכים במישור הבקרה (כלומר, התנאי VPCSC_GA_SUPPORTED מוצג).
מישור נתונים מנוהל נתמך רק בעומסי עבודה בלי שרתי proxy נוספים של sidecar (מלבד ה-sidecar של Cloud Service Mesh).
הבדלים במישור הבקרה
יש הבדלים בתכונות הנתמכות בין הטמעות מישור הבקרה של ISTIOD ו-TRAFFIC_DIRECTOR. כדי לבדוק באיזו הטמעה אתם משתמשים, קראו את המאמר זיהוי ההטמעה של מישור הבקרה.
– מציין שהתכונה זמינה ומופעלת כברירת מחדל.
† – מציין שיכולים להיות הבדלים בין ממשקי ה-API של התכונות בפלטפורמות השונות.
* – מציין שהתכונה נתמכת בפלטפורמה ואפשר להפעיל אותה, כמו שמתואר בקטע הפעלת תכונות אופציונליות או במדריך לתכונה שמקושר בטבלת התכונות.
– מציין שהתכונה לא זמינה או לא נתמכת.
התכונות שמופעלות כברירת מחדל והתכונות האופציונליות נתמכות באופן מלא על ידי התמיכה של Google Cloud. תכונות שלא מופיעות במפורש בטבלאות מקבלות תמיכה כמיטב היכולת.
מה קובע את ההטמעה של מישור הבקרה
בפעם הראשונה שאתם מקצים את Cloud Service Mesh המנוהל ב-fleet, אנחנו קובעים באיזו הטמעה של מישור הבקרה להשתמש. אותה הטמעה משמשת את כל האשכולות שמקצים Cloud Service Mesh מנוהל ב-fleet הזה.
ב-fleet חדשים שמצטרפים ל-Cloud Service Mesh מנוהל, מישור הבקרה מיושם באמצעות TRAFFIC_DIRECTOR, למעט במקרים הבאים:
אם אתם משתמשים קיימים ב-Cloud Service Mesh, תקבלו את ההטמעה של מישור הבקרה של ISTIOD כשתעבירו צי חדש באותו ארגון ב- Google Cloudל-Cloud Service Mesh, לפחות עד 30 ביוני 2024.
אם אתם משתמשים כאלה, אתם יכולים לפנות לתמיכה כדי לשנות את ההתנהגות הזו.
משתמשים שהשימוש הקיים שלהם לא תואם להטמעה של TRAFFIC_DIRECTOR ללא שינויים, ימשיכו לקבל את ההטמעה של ISTIOD עד 8 בספטמבר 2024. (המשתמשים האלה קיבלו הודעה בנוגע לשירות).
אם אחד מהאשכולות של GKE on Google Cloud ב-fleet מכיל מישור בקרה של Cloud Service Mesh בתוך האשכול כשמקצים את Cloud Service Mesh המנוהל, מקבלים את ההטמעה של מישור הבקרה ISTIOD.
אם אחד מהאשכולות ב-fleet משתמש ב-GKE Sandbox, כשמקצים את Cloud Service Mesh המנוהל מקבלים את ההטמעה של מישור הבקרה ISTIOD.
סביבות מחוץ ל- Google Cloud (GKE Enterprise on-premises, GKE Enterprise בעננים ציבוריים אחרים, Amazon EKS, Microsoft AKS או אשכולות אחרים של Kubernetes)
איתור נקודות קצה (endpoint) בכמה אשכולות באמצעות API הצהרתי וטופולוגיה פשוטה
הערות לגבי המונחים
הגדרה של כמה אשכולות ראשיים מחייבת לשכפל את ההגדרה בכל האשכולות.
הגדרה של "ראשי-מרוחק" פירושה שאשכול אחד מכיל את ההגדרה ונחשב למקור המהימן.
ב-Cloud Service Mesh נעשה שימוש בהגדרה פשוטה של רשת שמבוססת על קישוריות כללית. מופעים של עומסי עבודה נמצאים באותה רשת אם הם יכולים לתקשר ישירות, בלי שער.
טופולוגיה פשוטה לגילוי נקודות קצה בכמה אשכולות פירושה שכל אשכול ב-fleet משתתף או לא משתתף בגילוי נקודות קצה. טופולוגיות מורכבות שלא נתמכות כוללות (א) גילוי נקודות קצה חד-כיווני (למשל, אשכול א' יכול לגלות נקודות קצה באשכול ב', אבל לא להיפך) ו-(ב) רשתות גילוי נקודות קצה מנותקות (למשל, אשכולות א' וב' יכולים לגלות את נקודות הקצה זה של זה, אשכולות ג' וד' יכולים לגלות את נקודות הקצה זה של זה, אבל א'/ב' וג'/ד' לא יכולים לגלות את נקודות הקצה זה של זה).
† ב-Istio מתפרסמות תמונות של שרתי proxy מסוג default, debug ו-distroless. ב-Cloud Service Mesh עם מישור בקרה מנוהל (TRAFFIC_DIRECTOR): אשכולות שהתווספו ישירות משתמשים ב-distroless כברירת מחדל, ואי אפשר לשנות את זה. אשכולות שהועברו משתמשים כברירת מחדל בתמונות default, ויכולים להצטרף ל-distroless באמצעות MeshConfig או הערת pod. אין תמיכה בשינוי של סוגי תמונות אחרים (debug).
שימו לב שלתמונות ללא הפצה יש קבצים בינאריים מינימליים, כך שאי אפשר להריץ את הפקודות הרגילות כמו bash או curl כי הן לא קיימות בתמונה ללא הפצה.
עם זאת, אתם יכולים להשתמש בקונטיינרים זמניים כדי לצרף Pod של עומס עבודה פעיל, לבדוק אותו ולהריץ פקודות בהתאמה אישית. לדוגמה, ראו איסוף יומנים של Cloud Service Mesh.
† למרות ש-API של PeerAuthentication לא תומך במצב DISABLE להטמעה של מישור הבקרה של TRAFFIC_DIRECTOR, אפשר להשבית את mTLS לשירותים או ליציאות ספציפיים באמצעות ה-API של DestinationRule. למידע נוסף, ראו השבתת mTLS ותמיכה ב-API: PeerAuthentication.
למרות ש-TCP הוא פרוטוקול נתמך לרישות ונאספים מדדי TCP, הם לא מדווחים. המדדים מוצגים רק לשירותי HTTP במסוף Google Cloud .
אין תמיכה בשירותים שמוגדרים עם יכולות של שכבה 7 לפרוטוקולים הבאים: WebSocket, MongoDB, Redis, MySQL, Kafka, Cassandra, RabbitMQ, Cloud SQL. יכול להיות שתוכלו להפעיל את הפרוטוקול באמצעות תמיכה ב-TCP byte stream. אם זרם הבייטים של TCP לא תומך בפרוטוקול (לדוגמה, Kafka שולח כתובת להפניה אוטומטית בתשובה ספציפית לפרוטוקול, וההפניה האוטומטית הזו לא תואמת ללוגיקת הניתוב של Cloud Service Mesh), הפרוטוקול לא נתמך. אפשר ליצור יציאות של שערים עם פרוטוקול Mongo, MySQL ו-Redis, אבל הרשת מתייחסת לתנועה שנוצרת כ-TCP רגיל, בלי טיפול ספציפי לפרוטוקול.
† ב-gRPC בלי שרת Proxy, התכונות של IPv6 עם שני סטאקים נתמכות רק ב-gRPC בגרסה 1.66.1 ואילך ב-C++ וב-Python, ב-gRPC Go בגרסה 1.71 וב-gRPC Node.js בגרסה 1.12.
אם תנסו להגדיר תכונות של מחסנית כפולה עם גרסה של gRPC שלא תומכת במחסנית כפולה, הלקוחות ישתמשו רק בכתובת הראשונה שנשלחה על ידי Traffic Director.
פריסות של Envoy
תכונה
מנוהל (TD)
הוצאה משימוש של Managed (istiod)
קבצים נלווים
שער כניסה (Ingress)
תעבורת נתונים יוצאת ישירות מ-sidecars
תעבורת נתונים יוצאת באמצעות שערי תעבורת נתונים יוצאת
*
*
תמיכה ב-CRD
תכונה
מנוהל (TD)
הוצאה משימוש של Managed (istiod)
משאב Sidecar
משאב של רשומת שירות
כללי ניתוב של אחוזים, הזרקת תקלות, התאמת נתיבים, הפניות אוטומטיות, ניסיונות חוזרים, כתיבה מחדש, זמן קצוב לתפוגה, ניסיון חוזר, שיקוף, מניפולציה של כותרות ו-CORS
† ההטמעה של מישור הבקרה של TRAFFIC_DIRECTOR תומכת בקבוצת משנה של שדות ServiceEntry. במאמר הזה מפורטת הרשימה המלאה של השדות הנתמכים, השדות שלא נתמכים ומגבלות ההגדרה.
כלל יעד
תכונה
מנוהל (TD)
הוצאה משימוש של Managed (istiod)
DestinationRule v1beta1
*
† ההטמעה של מישור הבקרה של TRAFFIC_DIRECTOR דורשת שכלל היעד שמגדיר קבוצות משנה יהיה באותו מרחב שמות ואשכול כמו שירות Kubernetes או ServiceEntry. לרשימה המלאה של השדות הנתמכים, השדות שלא נתמכים ומגבלות ההגדרה, ראו תמיכה ב-API: DestinationRule.
Sidecar
תכונה
מנוהל (TD)
הוצאה משימוש של Managed (istiod)
Sidecar v1beta1
*
† ההטמעה של מישור הבקרה של TRAFFIC_DIRECTOR תומכת בקבוצת משנה של שדות Sidecar. הרשימה המלאה של השדות הנתמכים, השדות שלא נתמכים ומגבלות ההגדרה מופיעה במאמר תמיכה ב-API: Sidecar.
שרת proxy ל-DNS
תכונה
מנוהל (TD)
הוצאה משימוש של Managed (istiod)
תרגום שם (Name resolution) של Service באשכולות שונים