
docker swarm init יוצר את הקלאסטר ואת התעודות הפנימיות שמצפינות את התקשורת.docker swarm join-token מציג את הפקודה המלאה להצטרפות כעובד או כמנהל, כולל הטוקן וכתובת השרת הראשי. מריצים אותה בשרת השני.docker node ls מציג את הנודים בקלאסטר. הפקודה עובדת רק על מנהל, ולכן מעובד היא נכשלת.docker node promote הופך עובד למנהל, ו-docker node demote הופך מנהל לעובד.docker swarm join-token --rotate יוצר טוקן חדש. הוא משפיע רק על מי שמצטרף מעכשיו, ולא על חברי הקלאסטר הקיימים.docker swarm leave מוציא את השרת מהקלאסטר. למנהל צריך להוסיף --force.docker node rm. ההרצאה מציינת שאי אפשר להסיר מנהל לפני שמנמיכים אותו לעובד.docker node update מאפשרת לקבוע אם נוד מקבל משימות חדשות (active), רק משימות קיימות (pause), או מפנה את המשימות ממנו (drain). תוויות (labels) על נודים מאפשרות להגדיר היכן יורץ שירות מסוים, למשל רק בשרת מסוים.הטקסט המלא של הדקות הראשונות בהרצאה «התקנת Swarm Cluster» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
ברוכים הבאים להרצאה על יצירת קלאסטר בסוורם, בדוקר. אנחנו בהרצאה הזאת ניצור קלאסטר ונשחק עם הנודים בקלאסטר ונראה איזה אופציות קיימות לנו.
אז נתחיל מזה שנראה את הפקודות שיש בתוך דוקר סוורם. סוורם זה השם של קלאסטר שמובנה בדוקר עצמו. יש המתחרה שלו, יש לו גם מתחרה שגם מנהל את כל המחשבים שהתנהלו ביחד, זה נקרא קוברנטיס.
אז יש מערכת של קוברנטיס ויש מערכת של סווארם, שניהם עושות אותו דבר, עושות אורכיסטרציה, ניהול מרכזי של כמה שירתים פיזיים שיעבדו כמקשה אחת ויריצו קונטיינרים.
לדוגמה, אנחנו נגיד לו להריץ שלושה קונטיינרים כאלו ושתיים כאלו והוא יגיד מי מריץ. יש לנו פקודת עינית שיוצרת את הסווארם, שיוצרת את הקלאסטר.
יש לנו CA, זה כל התעודות הדיגיטליות בפנים שמנהלות את הקלאסטר, כדי שהתקשורת תהיה מוצפנת, יש לו תעודות דיגיטליות, יש לו הכל עם SSL, עם TLS, הכל מוצפן, כל התקשורת מוצפנת, ויש לו CA פנימי שעושה את כל התקשורת, מצפין אותה, זה הכל אוטומט, לא צריך לגעת בזה,
אנחנו גם לא ניגע בזה כרגע. אז אנחנו נעשה אינית שייצור לנו את הקלאסטר. מה יש לנו פה עוד מעניין חוץ מהאינית שעושה אינישילייזינג? שימו לב, זה חד פעמי, יש לנו join, join זה להצטרף לקלאסטר קיים, זאת אומרת אנחנו נותנים פקודת join ומצרפים מחשב כמנאג'ר או כוורקר לתוך הקלאסטר, ואנחנו נראה את זה בהרצאה הזאת כמובן.
join token זה טוקן סודי שאיתו אפשר להצטרף לקלאסטר, אנחנו לוקחים את הטוקן הסודי הזה ואיתו מצטרפים, כדי שלא כל האקר יוכל להיכנס לנו לקלאסטר, אלא רק מי שיש לו את הכרטיס כניסה הזה.
זה לעזוב את הקלאסטר ויש לנו עוד כל מיני דברים כמו אנלוק ואפדייט, אנחנו נראה את זה בהמשך. בואו עכשיו תכלס ניצור את הקלאסטר ונעשה עינית ונראה את הקסם הזה קורה.
ושימו לב, דורקר סוורם עינית, אנטר והקלאסטר נוצר, זה הכל. זהו, יש לנו את הקלאסטר ועכשיו אנחנו יכולים לעשות ג'וין, דורקר סוורם ג'וין, אנחנו מצרפים שרתים עוד מכונות, עוד אוסטים לקלאסטר, ושימו לב, זה הטוקן הסודי הזה,
פשוט הוא עשה לי את השירות וכתב את זה על המסך, את כל הפקודה שאני לא אצטרך להמציא אותה ולכתוב אותה, ויש פה בסוף את ה-IP של השרת הראשי שאליו צריך לפנות כדי להצטרף לקלאסטר.
אז נלך נניח לאובונטו 3 ונצרף את המחשב הזה לקלאסטר, רק אנחנו לא שוכחים לעבור למצב רות, שלא יהיו לנו בעיות עם דוקר, עוברים לרות, סודו מינוס s ושימו לב this node joined a swarm הוא הצטרף ל swarm as a worker מה זה worker זה שרת שיריץ את הקונטיינרים מה שהמנג'ר
יגיד לו שימו לב worker זה שרת בקלאסטר שרק מריץ קונטיינרים הוא לא יודע מה המצב של הקלאסטר כמה מחשבים יש מי צריך לעשות איזה תפקיד הוא לא מודע לכל זה worker כל מה שהוא עושה זה סוס עבודה כל מה שהוא עושה הוא מריץ לנו את הקונטיינרים לעומת זאת, מנאג'ר יודע בדיוק כמה צריך להריץ, מי מה מעריץ, מה המצב של הקלאסטר.
לדוגמת, docker-node-ls, הוא לא יודע להראות לכם איזה נודים, איזה שרתים יש בתוך הקלאסטר, כי הוא לא, הוא not-swore-manager. אז יש תפקיד של מנאג'ר ויש תפקיד של וורקר בתוך הקלאסטר.
עכשיו, שימו לב, מנאג'ר גם יכול להריץ קונטיינרים, אין שום בעיה, אבל מוטל עליו גם לנהל את הקלאסטר. יש לו את הדאטאבייס של מה צריך להיות ומה קורה בפועל בקלאסטר.
אז הוורקר לא יודע להראות לדוגמה רשימת המחשבים השרתים בקלאסטר, רשימת הנודים בקלאסטר. נוד זה שרת, זה הוסט בקלאסטר, קוראים לו נוד.
בכלל בעולם של קלאסטרים אוהבים להמציא טרמינולוגיה, מושגים שונים. ואנחנו רואים פה שיש לנו אובנטו 3 ויש לנו את המכונה הזאת.
שכחתי להחליף לה את השם, שנייה אחת אני אחליף את השם. בואו נחליף לשם ל-1, יפה מאוד. אתם יכולים לראות שאני עושה כמה שיותר דברים בממשק הגרפי, כדי לא להפחיד אתכם עם יותר מדי פקודות.
ואנחנו חוזרים חזרה לטרמינל ורואים שהשם השתנה למה שרציתי לאובנטו 1, ויש לנו תחת פקודת דוקר תתי פקודות.
לדוגמה, פקודה שראינו שעושה את הנודים, לנהל את הנודים, את השרתים בתוך הקלאסטר, שרת רגיל נקרא הוסט, שרת בקלאסטר קוראים לו נוד, למעשה זה אותו שרת, פשוט שם שלו משתנס, וורם מנהל לנו את כל הקלאסטר בגדול, סרוויס מנהל לנו את התוכנות תכלס, את הקונטיינרים תכלס שרצים בתוך הסרוויס,
בתוך הקלאסטר, סטאק מנהל כמה סרוויסים ביחד, אנחנו נראה את כל זה בהמשך, רק תדעו שבתוך הדוקר הראשי יש תתי פקודות, אז אנחנו עושים docker node ומה יש לנו פה?
יש לנו demote, demote זה להפוך מנאג'ר חזרה לוורקר ויש לנו promote להפוך את הוורקר למנאג'ר לדוגמה בואו נראה שיש לנו כרגע אובנטו 1 שהוא לידר שהוא מנאג'ר שימו לב יש לו סטטוס ואובנטו 3 אין לו שום סטטוס מנאג'ר כי הוא וורקר פשוט אין לו שום תפקיד בעולם של מנאג'מנט ניהול הקלאסטר
אנחנו יכולים לעשות תקודה נוקר נוד פרומורט לקדם ולהפוך את אורבונטו 3 מסוס עבודה טיפש למנאג'ר שמנהל את הקלאסטר שמשתתף בניהול שלו. למעשה רק לידר, רק אחד, רק מנאג'ר אחד ינהל באמת את הקלאסטר אבל כל שאר המנאג'רים יקבלו העתק של כל המידע ואם הראשי ייפול הם יתפסו את מקומו.
אז הנה קידמנו אותו ואחרי שקידמנו אותו שימו לב הוא נהיה לא לידר, השני, האובונטו 3, נהיה ריצ'אבל, ניתן להשגה. זאת אומרת שזה מנאג'ר שמוכן לעבודה.
אני יודע שזה קצת מבלבל, אבל אל תדאגו, אנחנו נסדר לכם את כל הראש, עד סוף ההרצאה הזאת אתם כבר תבינו את זה מצוין.
טוב, מה יש לנו עוד? יש לנו אובונטו 2 שאני רוצה לצרף אותו, ולפני כן אני רוצה להראות לכם באתר וב של docker.com, באתר שלהם How Node Works, איך הנודים עובדים, והנה יש פה תמונה יפה שמנאג'רים, שימו לב, מנהלים ביניהם את ה-Distributed Data Store, יש להם דאטאבייס משותף לכולם, שרק אחד מעדכן אותו, רק אחד נמצא ב-Read
Right, זה הלידר. כל השאר מקבלים קופי ב-Read Only, אבל הם יודעים את כל מה שקורה למקרה שהוא יפול. לעומת זאת, וורקרים הם רק מריצים קונטיינרים, לא יודעים מה קורה בקלאסטר מסביב, לא יודעים מי שותף שם, מה נהיה שם, מי אחראי על מה ומה צריך להיות.
פוחקרים רק מריצים קונטיינרים וזהו, מנאג'רים גם מריצים קונטיינרים, אבל גם יודעים איזה משימות צריכות להיות וכמה מה צריך להיות ואיך לנהל את הקלאסטר.
יש פה הסבר מקיף, אני לא אכנס אתכם עכשיו לכל ההסבר המקיף הזה שיש פה, אם אתם רוצים תקראו את זה, בגדול מנאג'ר אחראי על תזמון קונטיינרים חדשים בקלאסטר.
אם כל המנאג'רים קבועים, אי אפשר להריץ קונטיינר חדש בקלאסטר באופן אוטומטי כמובן, אתם יכולים לעשות מה שאתם רוצים, הכוונה זה לניהול אוטומטי.
טוב, ראינו עכשיו את הפקודות האלו, בואו נראה מה עוד לא ראינו. לא ראינו דמורט, שזה להסיר, להפוך את המנאג'ר חזרה לוורקר.
אינספקט, זה לראות בפנים מה קורה בתוך הנוד. ls, זה לראות רשימה של נודים. פרומוט, זה לקדם לתפקיד של מנאג'ר. ps, זה לראות רשימת משימות שרצות על כל נוד, רשימת קונטיינרים שכל נוד מריץ, כרגע הוא לא מריץ כלום.
הרם זה למחוק מישהו מהקלאסטר והאבדייט זה לעדכן את הקלאסטר. בואו נראה דוגמא איך אנחנו יכולים למחוק מישהו, בואו נראה דוגמא איך אנחנו יכולים לצרף מישהו.
נעשה עכשיו את כל המשחקים האלו ונראה איך הכל פועל, איך הכל עובד. לדוגמא אני רוצה לצרף את אובנטו 2 לקלאסטר עם פקודת join, אבל בשביל זה אני צריך את הטוקן קודם, אז אני מתחיל ב docker swarm join token enter ואנחנו רואים שהפקודה הולכת ככה join swarm token options והאם אני רוצה לצרף וורקר
או מנאג'ר שימו לב יש פה גם אופציה של רוטייט רוטייט זה להחליף את המפתחות הסודיים נניח גנבו לי את הטוקן הסודי שמצרף מחשבים חדשים לקלאסטר אני יכול לעשות רוטייט ולייצר מפתח חדש זה לא משפיע על כל מי שקיים כבר בקלאסטר זה רק לצורך צירוף של מחשב חדש לקלאסטר, של נוט חדש לקלאסטר.
אז לדוגמה אני רוצה לצרף שרת בתפקיד של מנאג'ר, אז אני צריך את הפקודה הזאת. איזה יופי, הוא נותן לי לא רק את הטוקן, הוא נותן לי את כל הפקודה.
הנה, docker swarm join מינוס טוקן נותן לי את כל הטוקן הסודי, וישר גם את ה-IP של הלידר שדרכו אפשר להצטרף לקלאסטר. ממש נוח, אני עושה פשוט מאוד copy-paste לפקודה, ולא צריך להנדס את הפקודה, הוא היה מציג לי רק את הטוקן, הייתי צריך להנדס את הפקודה לבד.
עכשיו אנחנו יכולים לראות שהפקודה הזאת לא משתנה, כמה שאני לא אריץ אותה היא לא משתנה כי הטוקן נשאר אותו טוקן והטוקן נשאר אותו טוקן עד לרגע שאני אעשה לו רוטייט שאני לא אחליף אותו כי יש לי חשד שגנבו לי את הטוקן הסודי אז איך אני עושה את זה נראה בהלפ מינוס מינוס רוטייט וצריך להגיד לו מה אני רוצה טוקן של מנאג'רים נהדר אז הוא החליף לי אותו שימו
לב הוא היה בסוף NAW ונהיה 27S. עכשיו הוא יישאר קבוע כזה עד שאני לא אעשה עוד פעם רוטייט. תכלס אני לא עושה את זה אף פעם אלא אם כן יש לי חשד שגנבו לי אותו.
נהדר, עכשיו אנחנו יכולים לקחת את הטוקן החדש ולצרף את האובנטו 2 לקלאסטר שלנו. בואו נעשה את זה. לא נשכח לכתוב סודו מינוס S ולקחת את הפקודה ולצרף אותה.
והנה אנחנו רואים שהכל הצטרף. והנה אנחנו רואים שהשרת הצטרף לקלאסטר ואובונטו 2 יהיה חלק. קלאסטר והכל נהדר.
אנחנו רואים שהוא ריצ'יבל ורק אחד הוא לידר. יפה מאוד. אז ראינו דוקר סווארם ג'וין, דוקר סווארם ג'וין טוקן, ראינו CA, אנחנו לא ניגע בו.
איניט זה חד פעמים מריצים בשביל ליצור את הקלאסטר. מה עוד לא ראינו? לא ראינו ליב, איך לעזוב את הקלאסטר. האמת שזה נדיר שלוקחים שרת ומעזיבים אותו, שהוא עוזב את הקלאסטר אבל תכף נעשה את זה join זה להצטרף join token זה הטוקן שאיתו מצטרפים למעשה לוקחים טוקן מ-join token ומצטרפים עם פקודת join
כל זה כבר ראינו עכשיו אנחנו רוצים לעשות leave כאילו הוא רוצה לצאת אז אנחנו עושים docker swarm leave תעזוב את הקלאסטר מה הוא כותב לי שהוא צריך