הפניית API של Cloud Run

בדף הזה מופיע מידע על ממשקי ה-API שמשמשים להגדרת Cloud Service Mesh לעומסי עבודה של Cloud Run.

Cloud Run API

v1 API

‫Cloud Service Mesh מופעל באמצעות הערה ברמת Revision. הערך של ההערה הזו הוא שם הרשת הבסיסית של אשכול Cloud Service Mesh Istio.

הערה ערך
run.googleapis.com/mesh projects/PROJECT/locations/global/meshes/MESH

‫v2 API

‫Cloud Service Mesh מופעל באמצעות השדה serviceMesh במשאב Service

Cloud Service Mesh Istio API

VirtualService API

שם השדה סוג תיאור השדה
שערים מחרוזת [] אם השערים כוללים external-mesh, השירות הווירטואלי חל רק על עומסי עבודה שאינם GKE.

אם מציינים את הערך mesh יחד עם external-mesh, השירות הווירטואלי יחול על עומסי עבודה שהם לא GKE וגם על עומסי עבודה שהם GKE.
exportTo מחרוזת מכיוון שלעומסי עבודה שאינם GKE אין מושג של מרחב שמות, שירותים וירטואליים מסוג external-mesh יתעלמו מהשדה exportTo.

עם זאת, הם ימשיכו לפעול בשירותים וירטואליים עם mesh או בשערים, וימשיכו לפעול כמצופה בעומסי עבודה של GKE.
httpRoute.HTTPMatchRequest.SourceLabels map<string, string=""></string,> המערכת תתעלם מההגדרה הזו בשירותים וירטואליים מסוג external-mesh.
עם זאת, הם ימשיכו לפעול בשירותים וירטואליים עם mesh או בשערים, וימשיכו לפעול כמצופה בעומסי עבודה של GKE.
httpRoute.HTTPMatchRequest.SourceNamespace מחרוזת המערכת תתעלם מההגדרה הזו בשירותים וירטואליים מסוג external-mesh.

עם זאת, הם ימשיכו לפעול בשירותים וירטואליים עם mesh או בשערים, וימשיכו לפעול כמצופה בעומסי עבודה של GKE.
httpRoute.HTTPMatchRequest.Gateways string[] המערכת תתעלם מההגדרה הזו בשירותים וירטואליים מסוג external-mesh.

עם זאת, הם ימשיכו לפעול בשירותים וירטואליים עם mesh או בשערים, וימשיכו לפעול כמצופה בעומסי עבודה של GKE.
tls tlsRoute[] המערכת תתעלם מההגדרה הזו בשירותים וירטואליים מסוג external-mesh.

עם זאת, הם ימשיכו לפעול בשירותים וירטואליים עם mesh או בשערים, וימשיכו לפעול כמצופה בעומסי עבודה של GKE.
tcp tcpRoute[] המערכת תתעלם מההגדרה הזו בשירות וירטואלי של רשת חיצונית.

עם זאת, הם ימשיכו לפעול בשירותים וירטואליים עם mesh או בשערים, וימשיכו לפעול כמצופה בעומסי עבודה של GKE.

‫Istio Auto MTLS ומתן שמות מאובטח

בשלב הזה, Cloud Service Mesh תומך ב-Istio MutualTLS אוטומטי ובשמות מאובטחים לבקשות בין שירותי GKE.

בגרסת Preview, עומסי עבודה שאינם ב-GKE שמתקשרים עם עומסי עבודה או שירותים ב-GKE לא ישתמשו ב-Istio Auto MTLS ולא בשמות מאובטחים. התנועה תהיה בטקסט פשוט. חשוב לוודא שלשירותי GKE יש מדיניות mTLS מתירה (שהיא ברירת המחדל של Istio API) שמקבלת תעבורת mTLS מעומסי עבודה ב-GKE וטקסט רגיל מעומסי עבודה שלא ב-GKE.

כדי לבדוק אם PeerAuthentication נמצא במצב permissive, משתמשים בפקודה הבאה:

# list PeerAuthentication resources in a namespace
# If no PeerAuthentication resource exists in the namespace, 
# then it's PERMISSIVE mode (Istio API default)
kubectl get PeerAuthentication -n $NAMESPACE

# for each of the above run the following command
kubectl get PeerAuthentication $PEER-AUTHN -n $NAMESPACE

# Expected Output is as follows:
# MTLS Mode must be PERMISSIVE.
# If the output says STRICT, then please update the policy to PERMISSIVE.
apiVersion: security.istio.io/v1
kind: PeerAuthentication
metadata:
  name: $PEER-AUTHN
  namespace: $NAMESPACE
spec:
  mtls:
    mode: PERMISSIVE

נתוני טלמטריה של MeshConfig

‫Cloud Service Mesh תומך ב-MeshConfig telemetry API כדי להפעיל ולהשבית את Cloud Logging ו-Cloud Monitoring לעומסי עבודה של GKE. השיטה הזו פועלת באופן דומה גם לעומסי עבודה שאינם GKE.

כלל יעד

בגרסת הטרום-השקה, DestinationRule תהיה תמיכה בטירגוט של שירותים וירטואליים מסוג external-mesh, למעט השדות הבאים: trafficPolicy.tls

Sidecar API

‫Sidecar API לא רלוונטי לעומסי עבודה שאינם ב-GKE. עומסי עבודה שאינם GKE יוכלו לראות את כל השירותים הווירטואליים שמוגדרים בהיקף 'external-mesh' בלי סינון לפי כללים של Sidecar visibility.

ממשק API לאבטחה – מדיניות הרשאות, מדיניות אימות בקשות

ההגדרות האלה לא יחולו על עומסי עבודה שאינם ב-GKE ופועלים כלקוחות ששולחים תעבורה יוצאת. הם ימשיכו להחיל עומסי עבודה של GKE שמקבלים תנועה נכנסת.

GCPBackend API

שם השדה סוג תיאור השדה
GCPBackend struct סכימה למשאב GCPBackend.
TypeMeta metav1.TypeMeta מבנה מוטמע לאחסון פרטי מטא-נתונים כמו סוג וגרסת API.
ObjectMeta metav1.ObjectMeta מבנה מוטמע לאחסון מידע על מטא-נתונים, כמו שם, מרחב שמות, תוויות, הערות וכו'.
מפרט GCPBackendSpec מפרט של משאב GCPBackend, שמגדיר את המצב הרצוי שלו.
GCPBackendSpec struct ההגדרה הזו מגדירה את המצב הרצוי של GRPCRoute.
CloudRun *CloudRunBackend הגדרה של קצה עורפי שפועל ב-Cloud Run (אופציונלי).
CloudRunBackend struct מזהה שירות שפועל ב-Cloud Run.
שירות מחרוזת שם השירות ב-Cloud Run. השם צריך להיות באורך של 1 עד 49 תווים, לפעול לפי דפוס ספציפי ולהכיל רק אותיות קטנות, מקפים ומספרים.
אזורים ‫[]Region אזורים של שירות Cloud Run. צריך לציין אזור אחד בדיוק.
פרויקט מחרוזת מזהה הפרויקט של שירות Cloud Run. ברירת המחדל היא אותו פרויקט כמו אשכול GKE. השם צריך לכלול בין 6 ל-30 תווים ולעמוד בדפוס מסוים. נכון לעכשיו, שירות Cloud Run ואשכול GKE חייבים להיות באותו פרויקט.
GCPBackendList struct מכיל רשימה של GCPBackends.
פריטים []*GCPBackend מערך של מצביעים ל-GCPBackend שמייצגים את רשימת משאבי ה-GCPBackend.
ListMeta metav1.ListMeta מבנה מוטמע לאחסון פרטי מטא-נתונים של רשימה, כמו גרסת המשאב וטוקן המשך להחלפת דפים.