
--mode global מבטיח קונטיינר אחד על כל נוד, לא פחות ולא יותר. לא ניתן לשנות את המספר, ולכן docker service scale נכשל במצב זה.docker service create --mode global --constraint 'node.platform.os == linux', docker service scale (נכשל במצב global), docker node demote, docker swarm join.הטקסט המלא של הדקות הראשונות בהרצאה «Swarm - Global Mode» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בהרצאה הזאת אנחנו נדבר על מוד רפליקטד מה זה המוד הזה רפליקטד המוד רפליקטד זה אומר המצב הרגיל שאנחנו מכירים שיש לנו מופעים ואנחנו יכולים לשים אותם איפה שבא לנו לדוגמה כרגע יש לנו שני מופעים של וורטפרס על מחשב אחד על מחשב שני על מחשב שלישי וזה נקרא המצב הרגיל דרך אגב מה יקרה אם המחשב השלישי ייפול או המחשב השני ייפול מה יקרה
הכל יעבור למחשבים אחרים, בואו נראה. לדוגמה, השרת פה החליט לעזוב אותנו, אוקיי? אני רוצה להחליף אותו. אז אנחנו כאן עושים docker swarm, קודם כל ככה, זה docker node-demoat, אובונטו 2, תהפוך אותו ל-Worker, בואו נראה שהוא הפך באמת ל-Worker, docker node-LS, שימו לב,
פה הוא כבר אף אחד לפני כן הוא היה ריצ'אבל במנג'ר סטטוס, עכשיו הוא וורקר פשוט, אחרי שהוא וורקר פשוט אנחנו יכולים לעשות docker swore leave, תעזוב את הקלאסטר.
מה יקרה כשאני אומר לו לעזוב את הקלאסטר? ה-node ls עדיין לא קלט את זה, אבל תכף הוא יקלוט את זה והוא יעיף לנו את כל המכונות, אוי, רגע, אני פונה לאחד שמת.
הנה, תראו, הוורקר נהיה באדום, אתם רואים, והמכונות שלו התפנו לאן? לשלישי, שימו לב, בשלישי נהיה 1, שתיים שלוש ובראשון יהיה אחד שתיים שלוש וזה נקרא רפליקטד מוד הרפליקטד מוד אומר שאם משהו נופל תעביר את זה לאחד אחר וככה אנחנו מכירים אותו זו ההתנהגות הרגילה של רפליקטד מוד ובוא נעשה אפילו נוד דוקר נוד
rm תמחק לי את אובנטו שתיים האובנטו שתיים הזה מת הוא לא קיים יותר ויש לי קלאסטר רק עם שני נודים ושתיהם מנאג'רים דרך אגב מומלץ לעשות קלאסטרים עם מספר אי-זוגי של נודים לדוגמה 3 או 5. טוב חברים הכל עובד לנו סליחה אתם רואים פה נהיה לנו רק 2 ועל כל אחד יש 3. טוב זה מה שראינו עד עכשיו אבל מה קורה אם אני רוצה לפרוס איזשהו שירות שאמור
להיות אחד על כל אחד אני רוצה להגיד לו תמיד תהיה אחד על כל אחד ואין לך דבר כזה שנקרא סקייל נכון אנחנו יודעים docker סרוויס סקייל אנחנו יכולים להחליף לו סקייל נניח דוקר סרוויס ls אנחנו יכולים לעשות דוקר סרוויס סקייל ולהגיד שוורטפרס סרוויס יהיה לנו רק נניח שלושה נניח שיהיו רק שניים אז תראו
אני עושה סקייל ונהיה שניים אני עושה סקייל ונהיה שלושה עכשיו אם אני רוצה להקים סרוויס שאני לא רוצה לא שתיים ולא שלושה אני רוצה שיהיה על כל נוד פיזי רק אחד נניח איזשהו אג'נט אז יש מצב מיוחד שנקרא גלובל זאת אומרת במקום replicated כזה שזה אומר לא יודע איפה הוא נמצא אני רוצה אחד על כל נוד אי אפשר לא פחות
ולא יותר זה טוב אם אתם רוצים איזשהו נניח agent על כל נוד להתקין אתם לא רוצים להסתבך עם האמפליקיישן אתם רוצים על כל אחד רק אחד אז איך אנחנו יכולים לעשות דבר כזה אז קודם כל נלך ונתקין נניח איזשהו agent נקרא docker hub קונטיינר אדוויזר, מה זה קונטיינר אדוויזר?
זה משהו שעשו אותו בגוגל, אתם רואים גוגל קונטיינר אדוויזר, מה זה קונטיינר אדוויזר? קונטיינר אדוויזר פרוביידס אינפורמיישן על כל הסטטיסטיקות, על הביצועים, על שימוש במשאבים של הקונטיינרים וגם על ההוסט עצמו, על המחשב עצמו שהוא עובד.
בקיצור, נותן לי המון המון מידע. אז נניח שאני רוצה לעשות דבר כזה, להריץ אותו ויש לי פה אפילו את הגיט-האפ שלו ואני הולך לגיט-האפ שלו בוא נלך ונראה בגיט-האפ פרויקט הזה שהוא אוסף לנו סטטיסטיקה ותכף אני אתעסק בזה מה שמעניין אותי פה שאני רוצה להריץ אחד על כל אחד זאת אומרת אני צריך כזה דבר על כל קונטיינר על כל הוסט פיזי אוקיי אז יש לנו פה פקודה איך
להריץ אותו דורקר ראן אז נשתמש בכל הדברים האלו בשביל להריץ אותו אבל אנחנו לא רוצים אותו כקונטיינר רגיל אנחנו לא רוצים אותו עם דוקרן, אנחנו רוצים שיהיה בקלאסטר, אוקיי?
אז אנחנו נעשה את אותם הדברים. אתם רואים מונט, הוא צריך כל מיני מונטים. כל המונטים האלו לקחתי מכאן, אתם רואים, זה כל המונטים, רק שהם נקראים בקלאסטר במקום ווליום. שימו לב, במקום מילת ווליום בקלאסטר משתמשים במילת מונט מסוג ביינד. זה מאוד חשוב שזה מסוג ביינד.
הלאה, וזה מה שרציתי להראות לכם, מוד גלובל. זה המוד הזה, אתם רואים? במקום Replicated Global. מה זה אומר? אחד על כל אחד, לא פחות ולא יותר.
שימו לב, קונסטריינט יש מגבלה שזה יהיה רק על לינוקסים, שלא ירוץ בטעות על ווינדוס, ו-Google's Advisor Latest. זה קונסטריינט, זוכרים מאיפה אנחנו מכירים את הקונסטריינט הזה? מהמדבקות, מהלייבלים.
זוכרים? אמרנו רק לייבל של DMZ, רק לייבל כזה, עכשיו אנחנו עושים קונסטריינט מגבלה שיהיה רק על לינוקסים. מה שקורה פה שאנחנו מריצים את האימג' הזה רק על לינוקסים במצב של גלובל ומחברים אותו לכל מיני תיקיות שהוא צריך, לדוגמה תיקיית