הגדרת כללי מדיניות לרשת

‫Kf משתלב בצורה הדוקה עם Kubernetes ו-Istio כדי לספק אכיפה חזקה של מדיניות הרשת.

כברירת מחדל, עומסי עבודה של Kf מופעלים באשכול Kubernetes ומבצעים רזולוציית כתובות באמצעות Kubernetes DNS. מפענח ה-DNS הזה ינסה קודם לפתור כתובות בתוך האשכול, ורק אם לא יימצאו כתובות כאלה הוא ינסה לפתור כתובות חיצוניות.

כל אפליקציית Kf מופעלת עם Envoy sidecar שמוזרק על ידי Istio או Anthos Service Mesh‏ (ASM). ה-sidecar הזה מעביר את כל תעבורת הנתונים ברשת אל ה-Pod של Kubernetes וממנו.

כל Pod של Kubernetes מופעל על צומת (Node), מכונה פיזית או וירטואלית שאחראית לניהול קובצי אימג' של קונטיינר שמרכיבים את ה-Pod. צמתים קיימים ברשת פיזית או וירטואלית.

ביחד, הם יוצרים היררכיה של מערכות שבהן אפשר להחיל מדיניות רשת. בהמשך מפורטים סוגי הדוחות מהמפורט ביותר ועד לכללי ביותר.

מדיניות ברמת הרשת

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

אם אתם מריצים את Kf באשכול GKE ב-GCP, ‏ Kf ממליץ על:

מדיניות ברמת הצומת

אפשר להגדיר כללי מדיניות לקונטיינרים שפועלים בצומת באמצעות Kubernetes NetworkPolicies. אלה המיפויים הכי קרובים למדיניות הרשת של Cloud Foundry שקיימים ב-Kubernetes.

מדיניות הרשת מגובה על ידי תוסף Kubernetes. אם הגדרתם אשכול GKE משלכם, תצטרכו להפעיל את האכיפה של NetworkPolicy.

תוויות Kf לאפליקציות עם kf.dev/networkpolicy=app ולגרסאות עם kf.dev/networkpolicy=build. כך אפשר לטרגט את NetworkPolicies ישירות אל Pods שמריצים אפליקציות או גרסאות build.

כל מרחב Kf יוצר שני NetworkPolicies כברירת מחדל, אחד שמטרגט אפליקציות ואחד שמטרגט בנייה. אפשר לשנות את ההגדרה בשדות של המרחב spec.networkConfig.(app|build)NetworkPolicy.(in|e)gress. אפשר להגדיר בשדות האלה אחד מהערכים הבאים:

הערך של הטיפוס בן המנייה (enum) תיאור
PermitAll מאפשרת את כל התנועה.
DenyAll חסימת כל התנועה.

כברירת מחדל, Kf משתמש במדיניות רשת מתירה. היא מאפשרת את הפונקציונליות הבאה ש-Kf משתמש בה:

  • ניתוב צפון/דרום לשער תעבורת הנתונים הנכנסת (ingress) של האשכול
  • תעבורת נתונים יוצאת (egress) לאינטרנט, למשל כדי לאחזר Buildpacks
  • ניתוב מזרח/מערב בין אפליקציות
  • גישה לשרת ה-DNS של Kubernetes
  • גישה למאגרי תמונות של קונטיינרים
  • גישה ישירה לרשת ה-VPC
  • גישה לשירותי Google כמו Cloud Logging
  • גישה לשרת Workload Identity לרוטציה אוטומטית של פרטי הכניסה

מדיניות Service mesh

אם אתם צריכים שליטה מדויקת ברשת, אימות, הרשאה וניראות (observability), אתם יכולים להחיל מדיניות באמצעות Anthos Service Mesh.

‫Service mesh היא שכבת תשתית שמאפשרת תקשורת מנוהלת, ניתנת לצפייה ומאובטחת בין השירותים שלכם, ומאפשרת לכם ליצור אפליקציות ארגוניות חזקות שמורכבות ממיקרו-שירותים רבים בתשתית שבחרתם.

כאן אפשר לראות את רשימת התכונות הנתמכות.