PracticU

הסבר על Kubernetes - ReplicationSet

בלי כתוביותעם כתוביות
PracticU › קורס קוברנטיקס - Kubernetes › הסבר על Kubernetes - ReplicationSet
מילון מושגים:
Kubernetes - מערכת לניהול ותזמור של קונטיינרים בקנה מידה גדול, שמפעילה, מרחיבה ומתחזקת אותם אוטומטית.
פריסה - העברת תוכנה מסביבת פיתוח לסביבה שבה היא תרוץ בפועל, כדי להעמידה לשימוש.
עדכון - שינוי שמביא תוכנה או מערכת לגרסה חדשה יותר, כדי לתקן תקלות, לסגור חולשות אבטחה או להוסיף יכולות.
Docker Image - תבנית לקריאה בלבד שמכילה אפליקציה ותלויותיה, וממנה מריצים קונטיינרים ב-Docker.
ממשק - נקודת מגע בין רכיבים: ממשק משתמש שבו אדם מפעיל תוכנה, או ממשק תכנותי שמגדיר אילו פעולות רכיב אחד חושף לאחר.

הסבר על Kubernetes - ReplicationSet
ההרצאה מסבירה את ההבדל בין Deployment ל-ReplicaSet, בעזרת עדכון גרסת האימג' של וורדפרס. נראה שה-Deployment יוצר ReplicaSet חדש לכל אימג' חדש, ושומר את הישן כדי שאפשר יהיה לחזור אחורה.
השלבים העיקריים
1. מצב התחלתי: kubectl get deployments ו-kubectl get replicasets מראים שלכל Deployment יש ReplicaSet אחד, ו-ReplicaSet יוצר פוד אחד.
2. עדכון האימג': הפקודה kubectl edit deployment פותחת את הקובץ בעורך VI. מחליפים את שם האימג' של וורדפרס באימג' אחר, שומרים ויוצאים. ההרצאה מדגישה שזו אותה פעולה שאפשר לעשות בממשק הגרפי, רק בלי עלות.
3. ReplicaSet חדש: אחרי העדכון נוצר ReplicaSet נוסף לאותו Deployment, והישן נשאר. הפוד החדש נוצר מה-ReplicaSet החדש.
4. שינוי מספר הרפליקות: עריכה נוספת משנה את מספר הרפליקות ל-2. ה-ReplicaSet שומר על מספר הפודים שהוגדר לו, ולכן נוצר פוד שני.
5. היסטוריה וחזרה אחורה: kubectl rollout history מציג את גרסאות העדכון, ו-kubectl rollout undo מחזיר את ה-Deployment לגרסה הקודמת. בהרצאה העדכון לא עבד כראוי, והחזרה לאחור הפעילה מחדש את ה-ReplicaSet הישן.
שימו לב
פוד לא קם לתחייה. בחזרה לאחור נוצרים פודים חדשים עם שמות חדשים מה-ReplicaSet הישן. ReplicaSet הוא קובץ הגדרה שמתחזק מספר פודים מסוג אחד, ו-Deployment מנהל את המעבר בין ReplicaSets.
ה-Deployment מבצע את העדכון האוטומטי, כך שאין צורך לנהל ידנית כל ReplicaSet.
השיעור הבא בקורס: הסבר על אתר האינטרנט של Kubernetes

פרקי ההרצאה: הסבר על Kubernetes - ReplicationSet

  1. 00:00

    ההבדל בין Deployment ל-ReplicaSet

  2. 01:41

    עדכון אימג' ב-Deployment עם kubectl edit

  3. 04:16

    ReplicaSet חדש לכל גרסת אימג'

  4. 05:29

    שינוי מספר הרפליקות בעדכון

  5. 07:02

    היסטוריית העדכונים עם rollout history

  6. 09:08

    הרפליקה הישנה נשמרת לחזרה לאחור

תמלול ההרצאה: הסבר על Kubernetes - ReplicationSet

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

  1. 00:02

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

  2. 00:17

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

  3. 00:27

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

  4. 01:00

    אז אנחנו עושים קיוב CTL מינוס מינוס ניים ספייס עבור קליינט איזה קליינט אנחנו עושים אנחנו עושים פה קליינט אחד אנחנו רוצים לראות את זה קליינט אחד בניים ספייס של קליינט אחד מה אנחנו נריץ נתחיל להריץ get deployments.apps נראה את כל הדיפלוימנטים יש לנו שני דיפלוימנטים ועבור כל אחד יש לנו

  5. 01:28

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

  6. 02:05

    ולוחץ tab. עכשיו אם אתם חושבים להשתמש בממשק גרפי כי שילמתם 1500 דולר עבור כל שרת, זה אומר שילמתם 5000 דולר כמעט על השלושה שרתים שיש לנו פה ואתם נכנסים לwordpress controller deployment ויש פה כפתור של edit, שימו לב, יש לו רימוב ויש לו אדיט.

  7. 02:28

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

  8. 02:44

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

  9. 03:00

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

  10. 03:34

    נקודתיים write q וכווית נקודתיים wq לפני כן לחצתי i לאינסרט הכנסתי את החדש עוד פעם התחלתי מזה שלחצתי delete כמה פעמים מחקתי את המילת wordpress אחרי זה לחצתי i למצב אינסרט אחרי זה הכנסתי את זה בקופי פייסט אחרי זה escape לצאת ממצב האינסרט ואחרי זה נקודתיים wq אוקיי אז קודם כל delete אחרי זה i לאינסרט אחרי זה פייסט אחרי זה נקודתיים

  11. 04:07

    wq ככה עובדים עם וי.איי, מוערך וי.איי, יש לנו בקורס לינוקס הסבר מקיף על הנושא. סיימנו, edited, ועכשיו אנחנו עושים get replication sets עבור wordpress client deployment, ואנחנו רואים פה, get replication sets, סליחה, והנה אנחנו רואים פה

  12. 04:33

    שב-client אחד ניימספייס יש לנו פתאום לא wordpress אחד, אלא שני, שניים, אחד זה הישן, זה ה-replication set הישן עם אימג' הישן, שהיה לפני 22 שעות, וזה רפליקיישן סט החדש לפני שמונה שניות.

  13. 04:53

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

  14. 05:03

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

  15. 05:23

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

  16. 05:52

    הוא הולך, לוחץ delete, לוחץ i ואומר שאני רוצה 2 escape.wq בבקשה שימו לב מה קורה פה replica set כבר החדש לא מתחלף כי הוא נשאר אותו image אבל נהיה פה שניים רצוי שתיים יש בפועל שני פודים עכשיו אם אני אעשה פה get pods אני אראה קונטיינר creating אתם רואים הוא יוצר לנו קונטיינר חדש יופי אז יהיה לנו שני wordpressים

  17. 06:30

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

  18. 06:55

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

  19. 07:26

    אני לא זוכר איך לבדוק היסטוריה של כל העדכונים הנה cheat sheet ואני רוצה פה בsearch למצוא rollout זה נקרא הנה rollout updating resources rollout יופי אז הנה זה rollout history, אני יכול לראות היסטורי של ה-deployment.

  20. 07:53

    בואו נעשה את זה, נראה את ההיסטוריה של כל העדכונים שהיו לנו. אז אנחנו הולכים ל-get, יותר נכון, get deployments. בואו נעשה פה במקום get קיוב ctl rollout history של deployment בשם wordpress client 1 deployment.

  21. 08:26

    דרך אגב, במקום דבר כזה, זה כי אני לוחץ תאב אני כותב, אפשר לכתוב גם ככה. אתם רואים, גם ככה אפשר לכתוב, זה אותו דבר. אז אפשר לכתוב deployment והשם שלו ולעומת זאת אפשר לכתוב עם tab ואני מעדיף עם tab מאשר ככה כי הדבר הזה לא עובד עם tab.

  22. 08:48

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

  23. 09:06

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

  24. 09:16

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

  25. 09:29

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

לקורס המלא: קורס קוברנטיס – Kubernetes

ההרצאה הקודמת: הסבר על Kubernetes - RBAC - Users & Roles

ההרצאה הבאה: הסבר על אתר האינטרנט של Kubernetes

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

  • הסבר על Kubernetes

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

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