שיעור 9: חשיפת אפליקציות — LoadBalancer, Ingress ו-DNS
בשיעור הקודם הכרנו Service מסוג ClusterIP — כתובת יציבה ושם DNS שמחברים אל ה-Pods, אבל רק מתוך הקלאסטר. עכשיו השאלה היא איך מבקר/ת מבחוץ (מהאינטרנט) מגיע/ה אל האפליקציה. נכיר שלוש דרגות חשיפה: ClusterIP נשאר פנימי בלבד; LoadBalancer מקבל כתובת IP חיצונית אמיתית ומעביר תעבורה ברמת הרשת (L4) אל Servic
ClusterIP זה טלפון פנימי במשרד; LoadBalancer זה מספר חיצוני שכל אחד יכול לחייג אליו; ו-Ingress הוא הלובי של הבניין ששולח כל מבקר למשרד הנכון לפי השם על הדלת.
- אינגרס
- אובייקט שמנתב תעבורת HTTP/HTTPS חיצונית אל Services פנימיים לפי שם מארח (host) ונתיב (path). מספק נקודת כניסה אחת לכמה אפליקציות. צריך Ingress Controller שירוץ בקלאסטר כדי לממש את הכללים.
- לואד באלאנסר
- סוג של Service שמבקש מספק הענן כתובת IP חיצונית אמיתית, ומאזן תעבורה ברמת הרשת (L4) אל ה-Pods של אותו Service. כך האפליקציה נגישה מחוץ לקלאסטר.
- DNS של הקלאסטר
- שירות DNS פנימי שמתרגם שמות של Services לכתובות IP בתוך הקלאסטר. שם מלא נראה כך: <service>.<namespace>.svc.cluster.local, למשל web.default.svc.cluster.local.
- קלאסטר-איי-פי
- סוג ה-Service ברירת המחדל: כתובת IP וירטואלית יציבה שנגישה רק מתוך הקלאסטר. מצוין לתקשורת בין רכיבים פנימיים, אך לא נגיש מבחוץ.
- נוד-פורט
- סוג Service שפותח פורט קבוע על כל node בקלאסטר, כך שאפשר להגיע ל-Service דרך כתובת ה-node והפורט. דרך פשוטה אך גסה לחשיפה חיצונית.