PracticU

Swarm - Stack

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

Swarm - Stack
הרצאה על Stack ב-Docker: קובץ הגדרות אחד שמפעיל כמה שירותים בקלאסטר בפקודה אחת, ומה ההבדל בינו לבין Compose רגיל.
השלבים העיקריים
1. קובץ Compose כבסיס: Stack משתמש באותו פורמט של קובץ Compose שמשמש להרצה מקומית. הקובץ אחד מגדיר כמה שירותים, כמו מסד נתונים, וורדפרס ו-phpMyAdmin, וגם רשתות ומאונטים.
2. פריסה: docker stack deploy -c מקבל את קובץ ההגדרות ושם לסטאק. הקלאסטר יוצר את הרשתות ואת השירותים בפקודה אחת, במקום להקים כל שירות בנפרד.
3. סעיף deploy: הסעיף deploy מכיל הגדרות של רפליקות ומגבלות מיקום. הוא נלקח בחשבון רק בקלאסטר, ו-Compose מקומי מתעלם ממנו.
4. מעקב: docker stack ls מציג את הסטאקים, docker stack services מציג את השירותים של סטאק מסוים, ו-docker stack ps מציג את המשימות והנודים שעליהם הן רצות.
5. הסרה: docker stack rm מוחק את כל השירותים, הרשתות והסודות של הסטאק בפקודה אחת.
פקודות והגדרות
docker stack deploy -c wordpress-stack.yml wordpress, docker stack ls, docker stack services wordpress, docker stack ps wordpress, docker stack rm wordpress. בקובץ ה-YAML סעיף deploy חייב להיות מוזח מתחת לשירות הנכון, אחרת הפריסה נכשלת עם שגיאה בשורה.
שימו לב
גרסאות הפורמט של Compose תלויות בגרסת המנוע. לפי ההרצאה, גרסה 3.7 נתמכת מגרסה 18.06 ומעלה, ובמנועים ישנים חלק מהאפשרויות לא יעבדו.
בסיום יודעים לפרוס שירותים מרובים בקלאסטר מקובץ אחד ולנהל אותם כיחידה אחת.
השיעור הבא בקורס: Swarm - Secret

פרקי ההרצאה: Swarm - Stack

  1. 00:00

    מה זה Stack ומה ההבדל משירות

  2. 00:56

    תזכורת: קובץ Compose להרצה מרוכזת

  3. 02:14

    פקודות docker stack לניהול הסטאק

  4. 05:38

    הגדרת שירותים וכמות רפליקות בקובץ

  5. 06:53

    מגבלות Placement בתוך בלוק Deploy

  6. 09:47

    פריסת הסטאק עם docker stack deploy

  7. 11:29

    תיקון שגיאת הזחה בקובץ Compose

  8. 12:07

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

תמלול ההרצאה: Swarm - Stack

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

  1. 00:02

    שלום לכולם, ברוכים הבאים להרצאה על Stack. מה זה Stack? זה משהו מאוד מאוד בסיסי וחשוב, כמו שהיה לנו Compose File בשביל לאסוף פקודות של Docker Run לקובץ אחד גדול, אתם זוכרים שעשינו את זה?

  2. 00:21

    עשינו Compose File, ואני מזכיר לכם, עשינו Docker Compose File, ואספנו לתוכו את כל הפקודות שצריך בשביל לעשות Docker Run, ובמקום לעשות כל פעם Docker Run אחד-אחד, אספנו את הכל ל-compose file והיינו מריצים אותו עם docker compose app.

  3. 00:43

    אולי אני אזכיר לכם, אם אתם שכחתם, היה לנו פה docker compose, אני אראה לכם, וכתבנו version 3.3.3.services ועשינו db וwordpress וphp myadmin.

  4. 01:04

    במקום לעשות docker run כל פעם, עשינו compose file. ואז היינו עושים docker compose app והכל היה עולה ביחד, כאילו מריץ במקומנו פקודות.

  5. 01:15

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

  6. 01:49

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

  7. 02:24

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

  8. 02:54

    אנחנו יכולים לראות פירוט של המשימות בתוך סרוויס מסוים שבתוך הסטאק ודיפלוי זה ליצור אחד חדש להפעיל אחד חדש אז בוא נעשה לדוגמה ויז'ואל סטודיו קוד ונעבור על כל מה שקורה פה אז יש לי פה wordpress.tac.phile שיצרתי, שימו לב שהוא ממש אותו דבר כמו הword.compose זה אותו Compose פייל כן אותו תקן אותו סטנדרט הם ירדו ביניהם אז אנחנו עכשיו בתקן 3.1 מה

  9. 03:33

    זה אומר תקן 3.1 בוא נראה אם האינטרנט עלה לנו עכשיו השערת עלה הנה ניכנס כאן לדוקר פייל Compose פייל ורז'ן 3 ואתם אתם יכולים לראות שיש פה פורמט, כן?

  10. 03:59

    Compose File, פורמט, אז גרסה 3.7, לדוגמה, מתאימה ל-18.06 וכל מה שלמעלה. לדוגמה, הגרסה 3.1 מתאימה לכל מה ש-1.13. דרך אגב, למה זה 1.13 ופתאום 17.04? הם החליטו בשנת 2017 בחודש הרביעי להתחיל מספור לא ב-1, 2, 3, אלא שנה, חודש, שנה, חודש.

  11. 04:27

    למעשה, הגרסה האחרונה שיצאה, יצאה ב-2018 בחודש שישי, אוקיי? זה שנה וזה חודש, הם שינו את המספור. זה היה בהתחלה 1, 2, 3, ואחרי זה הם שינו את המספור, אתם רואים?

  12. 04:47

    וזהו. אז 18.06, מתי הם שינו את זה? הנה, אני רואה 17.04, ב-17.04 הם שינו את זה, נכון? משהו כזה. טוב, אז יש היום גרסה 3.7 שכל מה שבא ייתמך רק על דוקר אנג'ן מ-1806.

  13. 05:09

    זה כל מיני דקויות שהם הוסיפו ל-compose file, לאיזה פקודות מותר לעשות, ויש לנו פה מלא פקודות ואנחנו יכולים לראות פה את כל הפקודות. אתם רואים?

  14. 05:21

    Compose version 3, 2, 1 ואת כל הפקודות שיש. הנה, כאן, בצד. ראינו את זה, עברנו על זה, נכון? אני לא הולך לעבור איתכם על זה עוד פעם.

  15. 05:35

    בגדול איך זה עובד, version 3.1 זה מחייב אנג'ין מרמה מסוימת, סרוויסים, איזה סרוויסים יהיו לי? יהיה לי דאטאבייס סרוויס, יהיה לי וורדפרס סרוויס, זה כמו פקודה docker service create.

  16. 05:51

    ושימו לב, אני אומר מהסרוויס של וורדפרס יהיה לי בדיפלוי, זה משהו שלא היה לפני כן, שתי רפליקות.

  17. 05:58

    הדיפלוי זה מתייחס אך ורק כמובן לקלאסטר, לסוורם. אוקיי, אז אנחנו רואים פה סרוויס, של סרוויץ יהיה ממנו שני קונטיינרים ווליומס mnt wordpress בפנים כן זה המאונט של שימו לב המאונט פה הוא שונה מהפקודה docker service create והכל אותו דבר סופר סיקרט פספורט של רוד וורדפרס דאטאבייס שזה בדיוק זה just a user למעשה אנחנו

  18. 06:34

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

  19. 06:46

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

  20. 07:01

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

  21. 07:11

    הנה, ב-Deploy יש placement. אז אני יכול לעשות constraints, not role שווה מנאג'ר. יש איזשהו לייבל, לדוגמה, אובנטו 14. יש? כל זה קונסטרנטים, מגבלות ו-deploy, זה הפקודה שבעצם, deploy, כל מה שקשור זה אך ורק לדוקר סטאק דיפלוי, on swarm.

  22. 07:42

    זה לא מתייחס and is ignored, הוא מתעלם כשאתה משתמש ב-compose up ו-compose run. זאת אומרת, ה-section של ה-deploy בתוך הקובץ Compose, ו-Compose הוא משותף גם לבודד וגם לקלאסטר.

  23. 08:01

    אז החלק של ה-Deploy מתעלמים ממנו כשזה Docker Compose בודד. וכשלמדנו Docker Compose בודד אמרתי לכם שהוא נורא חשוב כי משתמשים בו בקלאסטר. והנה אנחנו נראה את זה עכשיו.

  24. 08:18

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

  25. 08:34

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

  26. 09:18

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

  27. 09:52

    אני עושה דיפלוי תפרוס לי מינוס מינוס help אני מציין לו פה במינוס c compose file אני יכול גם לעשות path to compose file אני יכול לעשות גם bundle file, bundle file זה כמו compose file רק בפורמט קצת שונה ופה אני יכול לציין לו האם זה swarm או קוברנטיס וכל מיני דברים אחרים שפחות חשובים לדוגמה resolve image לבדוק האם זה מתאים לדוגמה ללינוקס או לווינדוס בואו

  28. 10:30

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

  29. 10:45

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

  30. 11:19

    stack stack זה קבוצה של סרוויסים זה איכות של סרוויסים אני עושה enter והוא לא מוכן אתם רואים line 34 מה זה line 34 הנה זה זה אתם רואים הוא לא מבין מה קורה פה בline 34 בגלל זה אנחנו גם אם נעשה ככה זה לא יעזור לו אם נעשה ככה זה לא יעזור לו בואו תראו לא יעזור הוא לא יבין הוא הוא לא מוכן לקבל את זה, נכון?

  31. 11:56

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

  32. 12:19

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

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

ההרצאה הקודמת: שירותי Swarm - DNS

ההרצאה הבאה: Swarm - Secret

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

  • הגדרת Stack ב-Flutter
  • Tasks and Back Stack
  • אתר Stack Overflow

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

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