PracticU

Swarm - Network Drivers

בלי כתוביותעם כתוביות
PracticU › קורס Docker - עם Swarm Cluster › Swarm - Network Drivers
מילון מושגים:
Docker - פלטפורמה להרצת אפליקציות בתוך קונטיינרים מבודדים וקלים, כדי שירוצו באופן אחיד בכל סביבה.
Linux - מערכת הפעלה בקוד פתוח מבוססת ליבת Linux, נפוצה מאוד בשרתים וקיימת בהפצות רבות כמו Ubuntu.
קונטיינר - חבילה קלה ומבודדת שאורזת אפליקציה עם כל תלויותיה, ורצה באופן אחיד בכל סביבה, למשל ב-Docker.
NAT - מנגנון שמתרגם כתובות IP פרטיות לכתובת ציבורית אחת, כדי לאפשר למחשבים ברשת פנימית לגשת לאינטרנט.
קלאסטר - קבוצת מחשבים או שרתים שעובדים יחד כמערכת אחת, לשם זמינות גבוהה, ביצועים או חלוקת עומס.
כתובת MAC - מזהה ייחודי וקבוע של כרטיס רשת, המשמש לזיהוי המכשיר ברשת המקומית.
VLAN - רשת מקומית וירטואלית שמחלקת מתג פיזי לרשתות לוגיות נפרדות, לשם ארגון ואבטחה.
תת-רשת - חלוקה של רשת גדולה לרשתות משנה קטנות יותר, לשם ארגון, ביצועים ואבטחה.

Swarm - Network Drivers
הרצאה על סוגי הרשתות ב-Docker: bridge, host, none, overlay ו-macvlan, מה כל אחת עושה, ואיך הן נראות ב-Linux וב-Windows.
השלבים העיקריים
1. רשת bridge: רשת ברירת המחדל של קונטיינר רגיל. לכל קונטיינר יש כתובת IP פרטית, והתעבורה לאינטרנט עוברת בתרגום כתובות (NAT) דרך כרטיס הרשת של המחשב המארח.
2. רשת host: הקונטיינר חולק את מחסנית הרשת של המחשב עצמו. אין בידוד ואין כתובת נפרדת, והביצועים הגבוהים ביותר, אבל אין הפרדה ביטחונית.
3. רשת none: הקונטיינר מבודד לחלוטין ומקבל רק כתובת לולאה (loopback). מתאימה לעבודה שלא צריכה תקשורת.
4. רשת overlay: רשת שפרוסה על כמה מארחים בקלאסטר. הקונטיינרים מקבלים כתובות מתוך טווח אחד ומדברים זה עם זה כאילו הם באותה רשת, והתעבורה נעטפת במסגרת VXLAN.
5. רשת macvlan: נותנת לקונטיינר כתובת MAC משלו על הרשת הפיזית, ומאפשרת לחבר אותו ל-VLAN מסוים. ההרצאה הזכירה שהיא לא עובדת בענן.
פקודות והגדרות
docker run --network host, docker network create -d overlay --subnet ... my-network, docker network inspect. ב-Linux רשת NAT היא רשת ה-bridge, וב-Windows קיימות NAT, Overlay ו-L2Bridge. ב-Windows אין מצב host.
טעויות נפוצות
קונטיינר שמחובר רק לרשת overlay מקבל בדרך כלל גם כרטיס רשת נוסף ליציאה לאינטרנט, שנוצר אוטומטית ברשת gwbridge. כשמפרסמים פורט בקלאסטר, הקונטיינר מתחבר גם לרשת ingress. בלי להבין את החיבורים האלה קשה לפתור תקלות תקשורת.
שימו לב
ברשת היציאה לאינטרנט (docker_gwbridge) התקשורת בין הקונטיינרים חסומה, כך שהם יכולים לצאת החוצה אבל לא לדבר זה עם זה. לכן לתקשורת בין שירותים משתמשים ב-overlay.
בסיום יודעים לבחור רשת מתאימה לכל שירות ולהבין אילו כרטיסי רשת נוצרים מאחורי הקלעים.
השיעור הבא בקורס: שירותי Swarm - DNS

פרקי ההרצאה: Swarm - Network Drivers

  1. 00:00

    רשת Bridge: ברירת המחדל של Docker

  2. 02:00

    בדיקת רשת Bridge וכתובות הקונטיינרים

  3. 04:46

    Namespace: בידוד הרשת של כל קונטיינר

  4. 05:54

    רשת Host בלי בידוד ובלי כתובת משלה

  5. 09:35

    רשת Ingress לפורטים שמגיעים מבחוץ

  6. 10:36

    רשת Overlay שפרוסה על כל הנודים

  7. 11:35

    בדיקת הרשת של קונטיינר ב-inspect

  8. 12:48

    התקנת כלי רשת בתוך הקונטיינר

תמלול ההרצאה: Swarm - Network Drivers

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

  1. 00:02

    שלום לכולם בהרצאה הזאת אנחנו נדבר על הרשתות השונות שיש לנו ונתחיל ברשת הראשונה שנקראת ברידג' למעשה ברידג' זה הענת הרגיל שאתם מכירים אם אני אעשה סתם docker run סתם אריץ איזשהו קונטיינר שיימחק אוטומטי כשאני אעצור אותו ושיהיה אינטראקטיבי וניכנס אליו נניח סתם אני אריץ busybox שזה container image עם כל מיני כלים

  2. 00:35

    של נטוורקינג שאני אוכל לעשות IP config וכאלו ואני אריץ איזשהו של בפנים אני אותו פה לוקאלי תיקח לו זמן להוריד אותו כמה דקות הנה נכנסנו פנימה אם אנחנו לא מציינים שום נטוורק זה למעשה יהיה הברידג' אתם יכולים לראות שIP אדרס שלו יהיה 172.17 אתם רואים ואילו פינג החוצה, פינג החוצה

  3. 01:15

    והכתובת הזאת אם אנחנו נעשה docker inspect docker ps ניקח את האימג' הזה ונעשה docker inspect על הקונטיינר אנחנו נראה שהוא התחבר אוטומט לברידג' וקיבל 1702 והגטווי שלו זה 1701 והוא מחובר לברידג'.

  4. 01:48

    אם נעשה docker network docker inspect על רשת שקוראים לה ברידג', אם נסתכל על הרשת הזאת, נחקור אותה, אנחנו נראה שרק קונטיינר אחד מחובר אליה, אתם רואים, רק קונטיינר אחד מחובר אליה, ובהגדרות שלה יש לה את הסאבנט הזה שהיא חילקה לי, אבל מה שמעניין פה שהיא מאפשרת שיחה בין הקונטיינרים, זה אומר שהם מנהיגים עוד קונטיינרים,

  5. 02:28

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

  6. 02:46

    אתם תראו את זה, docker 0. אם אנחנו נעשה עוד אחד כזה, נעשה שניים כאלו, הנה אנחנו עכשיו בשני ונעשה IP address, נראה שזה 17.03, וההוא, מה הוא היה? ההוא היה 17.02, נכון?

  7. 03:06

    נכון. אם אנחנו נעשה עכשיו פינג, זה יעבוד לנו. אם אנחנו נעשה פה פינג, מתוך ה-3 עושים פינג ל-2, אתם רואים? זה עובד.

  8. 03:17

    זה אומר אנחנו נמצאים על השלוש ועושים פינג לשניים זה עובד אז תדעו שזאת רשת שנקראת ברידג' קונטרול L ברידג' אז הברידג' זה הנאט הרגיל שאתם מכירים יש?

  9. 03:36

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

  10. 04:24

    יש פה אתר של docker.com success. docker.com articles network ויש פה הסבר על הכל. אז מה שעשינו עכשיו ראינו עכשיו רשת שנקראת ברידג' נטוורק ומה שיפה כאן בברידג' נטוורק שככה זה מצויר.

  11. 04:46

    אתם רואים באתר פה יש את המחשב הפיזי ההוסט בפנים יש ניים ספייס קונטיינר ניים ספייס זה בידוד של איי פי סטייק. זה בידוד של כל הנושא של IP כמו Stack נפרד שלו תוכנה אחת תוכל לראות בתוכנה אחרת זה בידוד ברמת מערכת ההפעלה זה נקרא Namespace ובתוך ה-Namespace הזה יש קונטיינר אחד עם הכתובת שלו יש לו virtual ETH כרטיס רשת וירטואלי שמחבר אותו למחשב הפיזי

  12. 05:21

    ובמחשב הפיזי יש docker 0 שעושה ראוטינג החוצה יש זה מה שראינו בעצם והדבר הזה נקרא אוקיי יופי הלאה ממשיכים הלאה זאת הייתה הרשת הראשונה בואו נראה עוד איזה רשתות יש לנו יש לנו את הרשת gw bridge מה זה ה-gw bridge תכף נראה את זה נדלג עליה ונחזור עליה עוד דקה בואו נראה מה זה host אם אנחנו נעשה

  13. 06:03

    docker inspect host אנחנו נראה שזאת רשת הכי פשוטה אין בה שום הגדרות אתם רואים אין בה שום options שום הגדרות שום כתובת IP אין בה כלום, מה זה הדבר המוזר הזה? מה זה הרשת הזאת שאין בה כלום?

  14. 06:24

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

  15. 07:11

    network name space אין לנו שום איזוליישן כל מחשב יכול לדבר עם כל מחשב ואם אני אעשה כמה קונטיינרים אני אראה שכולם יושבים על אותה כתובת IP זאת אומרת שאם אני אקח את הדוגמה שלהם ואני אריץ פה אימג' נניח של NGNX או אימג' של אלפין נעשה לדוגמא אימג' של אלפין, נריץ אותו ונעשה פה IP אדרס.

  16. 07:57

    אנחנו נראה פה שזה ה-IP של המחשב הפיזי שלי, של האובונטו, נכון? אנחנו עכשיו בתוך הקונטיינר ואם נצא ממנו קונטרול פי קיו ונריץ IP אדרס באובונטו שלי, עכשיו זה כבר אובונטו, אתם רואים?

  17. 08:14

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

  18. 08:25

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

  19. 08:45

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

  20. 09:11

    בגלל זה הפלט הוא אותו פלט. טוב, מה אנחנו רואים עוד? .NET, Docker Network LS, אנחנו רואים פה ברידג' זה דילגנו עליו, עוד שנייה נחזור אליו, הוסט עשינו, זה נאט, נכון, נאט עם Namespace מבודד, יש תקשורת בין המחשבים זה כמו תוכנה רגילה הכל בלוקל אינגריס תכף נעשה גם אינגריס אני

  21. 09:39

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

  22. 10:14

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

  23. 10:40

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

  24. 10:54

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

  25. 11:16

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

  26. 11:40

    טוב, אנחנו רוצים לעשות docker inspect על הזה החדש, docker ps. כרגע הקמנו את ה-wordpress הזה לפני 29 שניות ונעשה docker inspect.

  27. 11:57

    ואנחנו נראה שהקונטיינר שלנו מחובר רק לרשת אחת שנקראת MyNetwork. רק לרשת אחת. אז אם ניכנס פנימה, אנחנו אמורים לראות רק רשת אחת, נכון? רק ה-IP1.

  28. 12:12

    אז בואו ניכנס פנימה ונגלה הפתעה. אינטראקטיבית ניכנס. הנה אנחנו בתוך הקונטיינר אקזק מינוס איי-טי ומה נריץ? נריץ באש.

  29. 12:48

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

  30. 13:20

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

  31. 14:01

    טוב, זהו, התקנו הכל. טוב, אנחנו רוצים לעשות ifconfig, ואנחנו רואים פה את ה-103, שזה מה שציפינו לראות, נכון?

  32. 14:12

    איפה הזה שלנו? נכון? docker network ls, ציפינו לראות שמה הנטוורק שחיברנו אליו, נכון בוא נעשה docker ps נעשה בwordpress inspect docker inspect אנחנו על wordpress עכשיו נכון חיברנו את הwordpress שלנו למיינטוורק

לקורס המלא: קורס Docker עם Swarm Cluster

ההרצאה הקודמת: Swarm - Network Ingress

ההרצאה הבאה: שירותי Swarm - DNS

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

  • Network Teaming
  • דרייברים בלינוקס - linux drivers
  • הוספת דרייברים לאימאג' של ההתקנה - SCCM Image Drivers

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

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