PracticU

התקנת Swarm Cluster

בלי כתוביותעם כתוביות
PracticU › קורס Docker - עם Swarm Cluster › התקנת Swarm Cluster
מילון מושגים:
קלאסטר - קבוצת מחשבים או שרתים שעובדים יחד כמערכת אחת, לשם זמינות גבוהה, ביצועים או חלוקת עומס.
Docker - פלטפורמה להרצת אפליקציות בתוך קונטיינרים מבודדים וקלים, כדי שירוצו באופן אחיד בכל סביבה.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
טוקן - פיסת מידע שמשמשת לאימות או להרשאה, שהמערכת מנפיקה ללקוח ומוצגת בבקשות הבאות במקום סיסמה.
שירות - תוכנה שרצה ברקע ומספקת פונקציונליות לרכיבים אחרים, לרוב ללא ממשק משתמש, ומופעלת אוטומטית עם המערכת.

התקנת Swarm Cluster
בהרצאה הזאת מקימים קלאסטר Swarm של Docker, מוסיפים אליו מחשבים, ומכירים את תפקידי המנהל והעובד ואת הפקודות לניהול הקלאסטר.
מושגים
1. Swarm: קלאסטר מובנה בתוך Docker, שמנהל כמה שרתים כמקשה אחת ומתזמן עליהם קונטיינרים.
2. Manager ו-Worker: מנהל שומר על מצב הקלאסטר ויכול להריץ קונטיינרים. עובד מריץ קונטיינרים בלבד ואינו יודע מה קורה בשאר הקלאסטר.
3. Leader: מנהל אחד הוא הלידר והוא מקבל את ההחלטות. שאר המנהלים מקבלים עותק של המידע, ואם הלידר נופל, אחד מהם תופס את מקומו.
4. טוקן הצטרפות: טוקן סודי שמאפשר להצטרף לקלאסטר. מי שאין לו את הטוקן לא יכול להצטרף.
הקמה והוספת מחשבים
1. יצירה: docker swarm init יוצר את הקלאסטר ואת התעודות הפנימיות שמצפינות את התקשורת.
2. הצטרפות: docker swarm join-token מציג את הפקודה המלאה להצטרפות כעובד או כמנהל, כולל הטוקן וכתובת השרת הראשי. מריצים אותה בשרת השני.
3. בדיקה: docker node ls מציג את הנודים בקלאסטר. הפקודה עובדת רק על מנהל, ולכן מעובד היא נכשלת.
4. קידום ודירוג: docker node promote הופך עובד למנהל, ו-docker node demote הופך מנהל לעובד.
5. החלפת טוקן: docker swarm join-token --rotate יוצר טוקן חדש. הוא משפיע רק על מי שמצטרף מעכשיו, ולא על חברי הקלאסטר הקיימים.
עזיבה והסרה
1. עזיבה: docker swarm leave מוציא את השרת מהקלאסטר. למנהל צריך להוסיף --force.
2. הסרה מהרשימה: אחרי העזיבה השרת עדיין מופיע ברשימה, ולהסרה מוחקים אותו עם docker node rm. ההרצאה מציינת שאי אפשר להסיר מנהל לפני שמנמיכים אותו לעובד.
3. החזרה: מצטרפים שוב עם טוקן חדש, כמו בהוספה רגילה.
תוויות ועדכון
פקודת docker node update מאפשרת לקבוע אם נוד מקבל משימות חדשות (active), רק משימות קיימות (pause), או מפנה את המשימות ממנו (drain). תוויות (labels) על נודים מאפשרות להגדיר היכן יורץ שירות מסוים, למשל רק בשרת מסוים.
שימו לב
ההרצאה מציינת שהמינוי של מנהלים צריך להיות מוגבל למספר מצומצם, כי כל מנהל נוסף מוסיף תקשורת בין השרתים. השרת עצמו ימשיך לרוץ גם אם הוא מוגדר כעובד בלבד.
השיעור הבא בקורס: Swarm - Node Labels

פרקי ההרצאה: התקנת Swarm Cluster

  1. 00:00

    מבוא לקלאסטר Docker Swarm

  2. 00:56

    אתחול הקלאסטר ויצירת תעודות פנימיות

  3. 02:30

    צירוף שרת לקלאסטר כ-Worker

  4. 03:45

    ההבדל בין Manager ל-Worker

  5. 05:55

    ניהול הנודים בקלאסטר עם docker node

  6. 07:12

    קידום שרת ל-Manager ותפקיד ה-Leader

  7. 10:37

    החלפת טוקן הצטרפות עם rotate

  8. 14:13

    עזיבת הקלאסטר עם swarm leave

תמלול ההרצאה: התקנת Swarm Cluster

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

  1. 00:02

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

  2. 00:18

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

  3. 00:39

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

  4. 00:53

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

  5. 01:04

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

  6. 01:26

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

  7. 01:51

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

  8. 02:09

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

  9. 02:25

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

  10. 02:50

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

  11. 03:04

    אז נלך נניח לאובונטו 3 ונצרף את המחשב הזה לקלאסטר, רק אנחנו לא שוכחים לעבור למצב רות, שלא יהיו לנו בעיות עם דוקר, עוברים לרות, סודו מינוס s ושימו לב this node joined a swarm הוא הצטרף ל swarm as a worker מה זה worker זה שרת שיריץ את הקונטיינרים מה שהמנג'ר

  12. 03:29

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

  13. 03:57

    לדוגמת, docker-node-ls, הוא לא יודע להראות לכם איזה נודים, איזה שרתים יש בתוך הקלאסטר, כי הוא לא, הוא not-swore-manager. אז יש תפקיד של מנאג'ר ויש תפקיד של וורקר בתוך הקלאסטר.

  14. 04:11

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

  15. 04:26

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

  16. 04:38

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

  17. 04:48

    שכחתי להחליף לה את השם, שנייה אחת אני אחליף את השם. בואו נחליף לשם ל-1, יפה מאוד. אתם יכולים לראות שאני עושה כמה שיותר דברים בממשק הגרפי, כדי לא להפחיד אתכם עם יותר מדי פקודות.

  18. 05:12

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

  19. 05:24

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

  20. 05:53

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

  21. 06:09

    יש לנו demote, demote זה להפוך מנאג'ר חזרה לוורקר ויש לנו promote להפוך את הוורקר למנאג'ר לדוגמה בואו נראה שיש לנו כרגע אובנטו 1 שהוא לידר שהוא מנאג'ר שימו לב יש לו סטטוס ואובנטו 3 אין לו שום סטטוס מנאג'ר כי הוא וורקר פשוט אין לו שום תפקיד בעולם של מנאג'מנט ניהול הקלאסטר

  22. 06:44

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

  23. 07:12

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

  24. 07:27

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

  25. 07:43

    טוב, מה יש לנו עוד? יש לנו אובונטו 2 שאני רוצה לצרף אותו, ולפני כן אני רוצה להראות לכם באתר וב של docker.com, באתר שלהם How Node Works, איך הנודים עובדים, והנה יש פה תמונה יפה שמנאג'רים, שימו לב, מנהלים ביניהם את ה-Distributed Data Store, יש להם דאטאבייס משותף לכולם, שרק אחד מעדכן אותו, רק אחד נמצא ב-Read

  26. 08:15

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

  27. 08:32

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

  28. 08:47

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

  29. 09:01

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

  30. 09:15

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

  31. 09:26

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

  32. 09:51

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

  33. 10:03

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

  34. 10:39

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

  35. 11:11

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

  36. 11:22

    הנה, docker swarm join מינוס טוקן נותן לי את כל הטוקן הסודי, וישר גם את ה-IP של הלידר שדרכו אפשר להצטרף לקלאסטר. ממש נוח, אני עושה פשוט מאוד copy-paste לפקודה, ולא צריך להנדס את הפקודה, הוא היה מציג לי רק את הטוקן, הייתי צריך להנדס את הפקודה לבד.

  37. 11:46

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

  38. 12:27

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

  39. 12:46

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

  40. 13:24

    והנה אנחנו רואים שהכל הצטרף. והנה אנחנו רואים שהשרת הצטרף לקלאסטר ואובונטו 2 יהיה חלק. קלאסטר והכל נהדר.

  41. 13:38

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

  42. 14:01

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

  43. 14:32

    כל זה כבר ראינו עכשיו אנחנו רוצים לעשות leave כאילו הוא רוצה לצאת אז אנחנו עושים docker swarm leave תעזוב את הקלאסטר מה הוא כותב לי שהוא צריך

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

ההרצאה הקודמת: התקנת DNS ובדיקת ביצועים של אתר אינטרנט

ההרצאה הבאה: Swarm - Node Labels

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

  • הרצאה על FortiGate HA Cluster
  • הקמת Cluster HyperV - חלק 1
  • יצירת vSAN Cluster
  • צ'ק פוינט קלאסטר - Cluster - חלק 1

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

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