Cloud Run API reference

בדף הזה מופיע מידע על ממשקי ה-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 או ב-Secure Naming. התנועה תהיה בטקסט פשוט. חשוב לוודא שלשירותי 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. האפשרות הזו פועלת באופן דומה גם לעומסי עבודה (workloads) שאינם 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.
BackendService *BackendServiceBackend הגדרת שירות לקצה העורפי. (אופציונלי).
BackendServiceBackend struct מזהה שירות קצה עורפי.
שם מחרוזת שם ה-BackendService. האורך צריך להיות בין 1 ל-49 תווים, והוא צריך לכלול רק אותיות קטנות, מקפים ומספרים.
מיקום מיקום המיקום של BackendService. ב-CSM, הערך חייב להיות Global. (אזורי/גלובלי עבור איזון עומסים מנוהל). ברירת המחדל היא אותו מיקום כמו של האשכול.
פרויקט מחרוזת מזהה הפרויקט של BackendService. ברירת המחדל היא אותו פרויקט כמו אשכול GKE. השם צריך לכלול בין 6 ל-30 תווים ולעמוד בדפוס מסוים. נכון לעכשיו, BackendService ואשכול GKE צריכים להיות באותו פרויקט.
GCPBackendList struct מכיל רשימה של GCPBackends.
פריטים ‫[]*GCPBackend מערך של מצביעים ל-GCPBackend שמייצגים את רשימת משאבי ה-GCPBackend.
ListMeta metav1.ListMeta מבנה מוטמע לאחסון פרטי מטא-נתונים של רשימה, כמו גרסת המשאב וטוקן המשך עבור חלוקה לעמודים.