PracticU

הסבר על Pod
Kubernetes

בלי כתוביותעם כתוביות
PracticU › קורס קוברנטיקס - Kubernetes › הסבר על Pod Kubernetes
מילון מושגים:
Kubernetes - מערכת לניהול ותזמור של קונטיינרים בקנה מידה גדול, שמפעילה, מרחיבה ומתחזקת אותם אוטומטית.
קונטיינר - חבילה קלה ומבודדת שאורזת אפליקציה עם כל תלויותיה, ורצה באופן אחיד בכל סביבה, למשל ב-Docker.
פרוקסי - שרת מתווך שמעביר בקשות בין לקוח ליעד, ויכול לשמש להסתרה, לסינון, למטמון או לבקרת גישה.
TCP - פרוטוקול תקשורת אמין שמוודא שכל חבילות המידע מגיעות ליעד בשלמות ובסדר הנכון.
ווליום - יחידת אחסון לוגית על דיסק או מספר דיסקים. ב-Docker, מנגנון לשמירת נתונים מחוץ לקונטיינר.
Localhost - שם המפנה למחשב המקומי עצמו (כתובת 127.0.0.1), המשמש לבדיקת שירותים הרצים על אותו מחשב.
אחסון - שמירת נתונים באופן קבוע על התקנים כמו דיסקים או שירותי ענן, כך שיישמרו גם לאחר כיבוי.
VPN - רשת פרטית וירטואלית שיוצרת חיבור מוצפן דרך האינטרנט, כאילו המכשיר מחובר ישירות לרשת מרוחקת.

הסבר על Pod Kubernetes
פוד ב-Kubernetes הוא מעטפת סביב קונטיינר אחד או יותר, שמוסיפה מידע ויכולות שהקלסטר צריך ושאינם בקונטיינר עצמו. ההרצאה מסבירה למה זה שימושי ומה משותף לקונטיינרים שבאותו פוד.
מה הפוד מוסיף
1. מידע לקלסטר: למשל מה לעשות כשהקונטיינר מת (restart או לא), ותוויות לזיהוי קונטיינר מבין אלפים.
2. קונטיינר עזר: שני קונטיינרים באותו פוד מתאימים כשאי אפשר או לא רוצים לגעת בקונטיינר הקיים, למשל כשבא מוכן מחברה חיצונית או עובד שנים. דוגמה: קונטיינר עזר שמתחבר ללוגים המקוריים ושולח אותם למערכת ניטור חדשה, או כזה שמטפל בפרוקסי או בפורמט נתונים שהמקורי לא מכיר. Kubernetes עובד ברמת הפוד, ולכן שני הקונטיינרים נוצרים ונהרגים יחד.
3. בידוד: כל קונטיינר מבודד בקבצים ובתהליכים. הוא רואה רק את ה-Image שלו ואת ה-processes שלו. מה שלא מבודד הוא ה-Network (Network Namespace), והוא ברמת הפוד כולו, כך שכל הקונטיינרים בו חולקים אותה כתובת IP ואותו TCP IP stack.
4. Volume משותף: דיסק משותף ברמת הפוד. קונטיינר העזר יכול לקרוא את הלוגים ישירות ממנו, בלי לעבור ב-localhost, והשרת המקורי ממשיך לכתוב לתיקייה הרגילה שלו. אפשר למפות אותו לדיסק פיזי קבוע (persistent storage), וזה חשוב כי הפוד יכול להימחק בכל רגע.
שימו לב
- קונטיינרים בפוד אחד פונים זה לזה דרך localhost, כמו תוכנות במחשב אחד. זה נוח, אבל יוצר התנגשות פורטים: אם Nginx תפס את פורט 80 בפוד, קונטיינר עזר שרוצה פורט 80 צריך לחשוף פורט אחר. בפוד עם קונטיינר אחד אין בעיה כזו.
- הרשת הווירטואלית של הפודים מחברת פודים בכל השרתים הפיזיים, ואריזת VPN מטפלת במעבר ביניהם.
אחרי ההרצאה אפשר להסביר למה פוד אינו קונטיינר ואיזה משאבים הקונטיינרים בפוד חולקים.

פרקי ההרצאה: הסבר על Pod Kubernetes

  1. 00:00

    מה זה פוד וההבדל מקונטיינר

  2. 00:39

    שני קונטיינרים באותו פוד

  3. 01:17

    קונטיינר עזר ללוגים ולפרוקסי

  4. 01:57

    בידוד הקבצים והפרוצסים בקונטיינר

  5. 02:38

    שיתוף ה-Network ברמת הפוד

  6. 03:14

    כתובת IP משותפת לפוד

תמלול ההרצאה: הסבר על Pod Kubernetes

הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על Pod Kubernetes» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם. בסרטון זה אנחנו נדבר על פודים ב-Kubernetes ומה ההבדל בין פוד לקונטיינר. פוד זאת מעטפת סביב קונטיינר. בשביל מה עשו את המעטפת הזאת?

  2. 00:14

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

  3. 00:26

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

  4. 00:39

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

  5. 00:51

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

  6. 01:07

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

  7. 01:31

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

  8. 01:44

    בקיצור, כל המטרה זה לא לגעת בקונטיינר המקורי, ושני הקונטיינרים האלו שנמצאים באותו פוד הם תמיד הולכים ביחד, כי פוד נוצר בשלמותו, כי Kubernetes עובד ברמת הפוד. או שהוא הורג את כל הפוד או שהוא מקים את כל הפוד, ושני הקונטיינרים האלו דבוקים אחד לשני, כי הם נמצאים באותו פוד.

  9. 02:06

    ועכשיו נדבר על נקודה מאוד מאוד מעניינת, שכל קונטיינר הוא כמו מכונה וירטואלית, רק בלי הקרנל, אבל זה לא מעניין בכלל. מבחינתי זה מתפקד כמו מכונה וירטואלית נפרדת שבפנים חיה איזושהי תוכנה.

  10. 02:19

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

  11. 02:35

    זאת אומרת, הקונטיינר לא רואה את הקבצים שיש בחוץ. הוא רואה רק את הקבצים שלו, של Image שלו. הוא רואה רק את הפרוצסים שלו. הוא לא רואה את הפרוצסים של המחשב הראשי.

  12. 02:46

    הוא כאילו מבודד. הדבר היחיד שהם לא בידדו פה בפנים, בתוך הקונטיינר, זה Network. הם לקחו את הבידוד של Network, שנקרא Network Namespace.

  13. 02:58

    ה-Namespace פה זה אזור מבודד. במקום לשים אותו בתוך הקונטיינר, הם שמו אותו ברמת הפוד כולו. עכשיו, אם יש לי קונטיינר אחד בתוך הפוד, אז זה לא משנה, אבל אם יש לי שני קונטיינרים בתוך הפוד, יש להם את אותו ה-Network, את אותו TCP IP stack.

  14. 03:16

    זה אומר שיש להם אותה כתובת IP. שימו לב, כתובת IP היא ברמת הפוד, היא לא ברמת קונטיינר ספציפי. זאת אומרת, כתובת 10.0.0.2 היא שייכת לפוד, שבתוך הפוד רצות שתי תוכנות, שכל תוכנה כזאת, כל קונטיינר כזה, מבודד מבחינת פרוצסים שהוא רואה.

  15. 03:36

    הוא מבודד מבחינת דיסק שהוא רואה. הוא רואה רק את הדיסק שלו, רק את הפרוצס שלו, אבל מבחינת רשת הוא לא מבודד. זה כמו תוכנה רגילה במחשב שלכם בווינדוס.

לקורס המלא: קורס קוברנטיס – Kubernetes

ההרצאה הקודמת: תקשורת בתוך קוברנטיס - Kubernetes

ההרצאה הבאה: יצירת קלסטר של - Kubernetes - בענן של גוגל

הרצאות קשורות מקורסים אחרים

  • הסבר על Kubernetes

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell
  • קורס Git ו-GitHub עם Visual Studio