הפעלת תכונות אופציונליות במישור הבקרה המנוהל
דף זה מתאר כיצד להפעיל תכונות אופציונליות ב-Cloud Service Mesh מנוהל. מידע על מישור הבקרה בתוך האשכול מופיע במאמר הפעלת תכונות אופציונליות במישור הבקרה בתוך האשכול.
כשמפעילים שירות מנוהל של Cloud Service Mesh, התכונות הנתמכות משתנות בהתאם להטמעה של רמת הבקרה, וחלק מהתכונות זמינות רק דרך רשימת ההיתרים. פרטים נוספים מופיעים במאמר בנושא תכונות נתמכות.
אם אתם משתמשים כיום בתצורה מבוססת IstioOperator, ה-
תמונת proxy ללא הפצה
אשכולות שהועלו ישירות (אשכולות המצורפים ישירות למערכת המנוהלת
TRAFFIC_DIRECTORמישור הבקרה ): רק ה-distrolessסוג התמונה נתמך. אי אפשר לשנות את זה. אין תמיכה בתמונהdefault.אשכולות שהועברו (אשכולות שהועברו ממישור הבקרה
ISTIODלמישור הבקרהTRAFFIC_DIRECTOR): סוג התמונה מוגדר כברירת מחדל לתמונהdefault(המכילה קבצים בינאריים של ניפוי שגיאות). כדי לשפר את האבטחה, אתם יכולים להביע הסכמה מפורשת לשימוש בתמונותdistroless.
מומלץ להשתמש בסוג התמונה Distroless כדי לשפר את האבטחה. השיטה המומלצת היא להגביל את התוכן של זמן ריצה של קונטיינר רק לחבילות הנדרשות. הגישה הזו משפרת את האבטחה ואת יחס האות לרעש של סורקי חשיפות ופגיעויות נפוצות (CVE). Istio מספק תמונות של שרת proxy שמבוססות על תמונות בסיסיות ללא הפצה.
תמונת ה-proxy ללא הפצה לא מכילה קבצים בינאריים מלבד ה-proxy.
לכן אי אפשר exec מעטפת או להשתמש ב-curl, ב-ping או בכלי ניפוי באגים אחרים בתוך הקונטיינר. עם זאת, אפשר להשתמש בקונטיינרים זמניים כדי להתחבר ל-Pod של עומס עבודה שפועל, לבדוק אותו ולהריץ פקודות מותאמות אישית. לדוגמה, ראו איסוף יומנים של Cloud Service Mesh.
ההגדרה הבאה מאפשרת שימוש בתמונות distroless בכל Cloud Service Mesh. כדי שהשינוי בסוג התמונה ייכנס לתוקף, כל פוד צריך להפעיל מחדש ולהזריק מחדש.
apiVersion: v1
kind: ConfigMap
metadata:
name: istio-release-channel
namespace: istio-system
data:
mesh: |-
defaultConfig:
image:
imageType: distroless
אפשר לבטל את ההגדרה של imageType באמצעות הערת ה-Pod הבאה. שימו לב שבקלאסטרים עם מישור הבקרה המנוהל TRAFFIC_DIRECTOR, רק distroless נתמך כערך ביטול מפורש (אסור להשתמש ב-debug או בסוגים אחרים של תמונות שאינן distroless).
sidecar.istio.io/proxyImageType: distroless
אחרי שמשנים את סוג התמונה של פריסה באמצעות ההערה, צריך להפעיל מחדש את הפריסה. כדי לחזור לתמונת ברירת המחדל, מסירים את ההערה sidecar.istio.io/proxyImageType או את השדה imageType מה-MeshConfig ומפעילים מחדש את הפריסה.
kubectl rollout restart deployment -n NAMESPACE DEPLOYMENT_NAME
מכיוון שלא נדרש דימוי בסיס לניפוי באגים, ברוב סוגי ניפוי הבאגים של ה-Proxy צריך להשתמש ב-gcloud beta container fleet mesh debug proxy-status / proxy-config
(פרטים).
מדיניות בנושא תנועה יוצאת
כברירת מחדל, הערך של outboundTrafficPolicy הוא ALLOW_ANY. במצב הזה, כל התנועה לכל שירות חיצוני מותרת. כדי לשלוט בתעבורה ולהגביל אותה רק לשירותים חיצוניים שמוגדרים עבורם ערכי שירות, אפשר לשנות את התנהגות ברירת המחדל של ALLOW_ANY ל-REGISTRY_ONLY.
ההגדרה הבאה מגדירה את
outboundTrafficPolicyל-REGISTRY_ONLY:apiVersion: v1 kind: ConfigMap metadata: name: istio-release-channel namespace: istio-system data: mesh: |- outboundTrafficPolicy: mode: REGISTRY_ONLYכאשר release-channel הוא ערוץ ההפצה שלכם (
asm-managed, asm-managed-stableאוasm-managed-rapid).אפשר לבצע את שינויי ההגדרות הקודמים הנדרשים ב-configmap באמצעות הפקודה הבאה:
kubectl edit configmap istio-release-channel -n istio-system -o yaml
מריצים את הפקודה הבאה כדי להציג את ה-configmap:
kubectl get configmap istio-release-channel -n istio-system -o yaml
כדי לוודא ש-
outboundTrafficPolicyמופעל עםREGISTRY_ONLY, צריך לוודא שהשורות הבאות מופיעות בקטעmesh:.... apiVersion: v1 data: mesh: | outboundTrafficPolicy: mode: REGISTRY_ONLY ...
אימות משתמשי קצה
אתם יכולים להגדיר אימות משתמשים מנוהל ב-Cloud Service Mesh לאימות משתמשים סופיים מבוסס-דפדפן ולבקרת גישה לעומסי העבודה שפרסתם. מידע נוסף זמין במאמר בנושא הגדרת אימות משתמשים ב-Cloud Service Mesh.
הגדרת גרסת ה-TLS המינימלית לעומסי העבודה
אם הצטרפתם ישירות ל-Cloud Service Mesh עם TRAFFIC_DIRECTOR
הטמעה מנוהלת של מישור הבקרה, לא תוכלו לשנות את ההגדרה הזו.
אתם יכולים להשתמש בשדה minProtocolVersion כדי לציין את גרסת ה-TLS המינימלית לחיבורי TLS בין עומסי העבודה. למידע נוסף על הגדרת גרסת ה-TLS המינימלית ובדיקת הגדרת ה-TLS של עומסי העבודה, ראו הגדרת גרסת ה-TLS המינימלית של עומסי עבודה ב-Istio.
בדוגמה הבאה מוצגת הגדרה של ConfigMap שקובעת את גרסת ה-TLS המינימלית לעומסי עבודה ל-1.3:
apiVersion: v1
kind: ConfigMap
metadata:
name: istio-release-channel
namespace: istio-system
data:
mesh: |-
meshMTLS:
minProtocolVersion: TLSV1_3