בדף הזה מוסבר איך לשלוט בזרימת התנועה ברשת בין Pods לבין שירותים באמצעות כללי חומת אש ברמת ה-Pod.
מדיניות רשת ב-Kubernetes לאפליקציות עוזרים להגדיר כללים לתעבורת התקשורת בין Pods. הוא שולט באופן שבו Pods מתקשרים זה עם זה בתוך האפליקציות שלהם ועם נקודות קצה חיצוניות. אתם יכולים להפעיל מדיניות רשת ב-Kubernetes ברשתות Pod באשכולות GKE שמופעלות בהם כמה רשתות. אתם יכולים לאכוף מדיניות רשת ב-Kubernetes על ממשקי Pod נוספים שתואמים לרשתות Pod שצוינו על ידי המשתמש.
למה כדאי להשתמש במדיניות רשת ב-Kubernetes עם כמה רשתות
כדאי להשתמש במדיניות רשת ב-Kubernetes עם כמה רשתות בתרחישים הבאים:
אבטחת רשת משופרת: אתם רוצים לבודד ולהגן על עומסי עבודה או נתונים רגישים על ידי הגדרת מדיניות רשת ב-Kubernetes לרשתות Pod ספציפיות. מדיניות רשת ב-Kubernetes עם כמה ממשקים מגבילה את החשיפה ומצמצמת את שטח המתקפה.
שליטה מדויקת בתעבורת נתונים: אתם רוצים להשיג שליטה מדויקת על זרימת תעבורת הנתונים בין Pods לבין שירותים ברשתות Pod שונות, כדי לאפשר הטופולוגיה של הרשת מורכבות ודרישות אבטחה.
סביבות עם כמה דיירים: אתם רוצים ליצור רשתות מבודדות לדיירים או לאפליקציות שונות, כדי לוודא שהם לא יכולים להפריע לתקשורת אחד של השני, תוך שמירה על שליטה בגישה לרשת בתוך כל רשת Pod.
אופטימיזציה של ניצול המשאבים: אתם רוצים להטמיע כללי מדיניות רשת ברשתות Pod ספציפיות כדי להקצות משאבים ביעילות ולתעדף את התנועה על סמך דרישות האפליקציה, וכך לשפר את הביצועים והאמינות.
אבטחה של פונקציות רשת בקונטיינרים (CNF): אתם רוצים להפריד בין תעבורת הנתונים של הניהול לבין תעבורת הנתונים של מישור הנתונים באותו Pod, כדי למנוע פרצות אבטחה פוטנציאליות וגישה לא מורשית.
איך פועלת מדיניות רשת ב-Kubernetes עם כמה רשתות Pod
בתרשים הבא מוצג איך מדיניות הרשת, שחלה על רשתות Pod ספציפיות באמצעות הערות, שולטת בתעבורת הנתונים בין Pods באשכול GKE.

בתרשים שלמעלה מוצגים כמה צומתי עובד שמריצים Pods (אפליקציות בקונטיינרים), ואיך הם מתקשרים בתוך אותו צומת או בין צמתים שונים באמצעות תשתית הרשת. בנוסף, מוסבר איך להשתמש במדיניות רשת ב-Kubernetes כדי לשלוט בתעבורת הנתונים, ואיך לפלח את הרשת באמצעות רשתות VPC ורשתות משנה כדי לשפר את האבטחה והארגון.
- בידוד תעבורת הנתונים באמצעות מדיניות רשת ממוקדת ב-Kubernetes: מדיניות הרשת משפיעה רק על תעבורת הנתונים ברשת ה-Pod "הכחולה" בגלל ההערה
networking.gke.io/network: blue-Pod-network. התנועה ברשת ברירת המחדל של Pod נשארת ללא הגבלה. - אכיפת תעבורת נתונים חד-כיוונית באמצעות כללי מדיניות של רשת Pod: בתרשים הקודם, כללי המדיניות של הרשת מאפשרים ל-Pod1 לשלוח תעבורת נתונים ל-Pod2 ברשת Pod "הכחולה". Pod2 לא יכול לשלוח תנועה בחזרה אל Pod1 באותה רשת. מדיניות רשת ב-Kubernetes של Pods עם התווית test-app-2 פועלת כערוץ חד-כיווני. היא מאפשרת תנועה יוצאת רק לפודים עם התווית test-app-3, ומונעת תקשורת עם פודים אחרים כמו test-app-1.
- מאפשרת תנועה יוצאת כברירת מחדל: אם לא הוגדרה מדיניות תעבורת נתונים יוצאת (egress) ל-Pod (במקרה הזה Pod1), כל התנועה היוצאת מותרת כברירת מחדל בממשק הרשת "הכחול".
- תאימות לתכונות קיימות: כל האפשרויות הרגילות של מדיניות הרשת ב-GKE, כמו בוררי תוויות ובלוקים של כתובות IP, פועלות עם מדיניות רשת בכמה רשתות.
- שליטה בהיקף של מדיניות רשת ב-Kubernetes באמצעות אנוטציות:
- אם יוצרים מדיניות רשת ב-Kubernetes בלי הערה, GKE מחיל מדיניות רשתות מרובות על כל ממשקי הרשת בפודים במרחב השמות שנבחר, בלי קשר לרשתות הפודים שאליהן הם מחוברים.
- אם כוללים את ההערה ומציינים את השם של רשת Pod תקינה (לדוגמה,
networking.gke.io/network: blue-Pod-network), GKE מחיל את המדיניות על Pods שמחוברים לרשת ה-Pod הספציפית הזו. - אם ההערה מפנה לרשת Pod שלא קיימת בפועל באשכול, GKE לא מחיל את מדיניות רשת ב-Kubernetes על אף Pod. הסיבה לכך היא שאין Pods שמחוברים לרשת שצוינה, כי היא לא קיימת.
- שמירה על תקשורת בין רשתות ל-Pods עם כמה ממשקי רשת: אם אתם מחילים מדיניות רשת ב-Kubernetes כדי להגביל את תעבורת הנתונים ברשת Pod ספציפית בתוך Pod, זה לא ישפיע על תעבורת הנתונים ברשתות Pod אחרות שמחוברות לאותו Pod.
יתרונות
אלה היתרונות של שימוש במדיניות רשת ב-Kubernetes עם כמה רשתות:
אבטחה משופרת: אפשר להפחית את הסיכונים שקשורים לגישה לא מורשית ולתנועה רוחבית בתוך אשכול ה-GKE, על ידי החלת מדיניות רשת ב-Kubernetes ברמה פרטנית.
גמישות והתאמה אישית: אתם יכולים להתאים את מדיניות הרשת ב-Kubernetes כך שתענה על הצרכים הספציפיים שלכם בנושא אבטחה וניהול תנועה ברשתות Pod שונות, על ידי התאמה לעומסי עבודה ולאפליקציות שונות.
ניהול רשת פשוט יותר: אתם יכולים להימנע מיצירת רשתות Pod מיותרות, ולקבל שליטה מדויקת על התקשורת באמצעות מדיניות רשת ב-Kubernetes, ניהול רשת פשוט יותר והפחתת המורכבות.
אופטימיזציה של עלויות: כשלא צריך ליצור הרבה רשתות Pod, אפשר לבצע אופטימיזציה של ניצול המשאבים ולהפחית את העלויות שקשורות לתשתית הרשת.
הגנה משופרת על CNF: כדי להבטיח את האבטחה והתקינות של פריסות CNF, אפשר לבודד את התנועה של הניהול ושל מישור הנתונים, ולהחיל מדיניות רשת ב-Kubernetes ספציפית על כל פריסה.