PracticU

Docker Swarm - Unlock and Upgrade

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

Docker Swarm - Unlock and Upgrade
הרצאה על הצפנת הקלאסטר בנעילה אוטומטית (autolock) ועל שדרוג UCP לגרסה חדשה, כולל שדרוג מנהלים לפני וורקרים.
השלבים העיקריים
1. למה נעילה: מידע רגיש בקלאסטר, כמו סודות, מפתחות TLS והמידע בדאטאבייס של המנהלים (Raft), נשמר בדיסק מוצפן. מפתח הפתיחה נדרש אחרי כל הפעלה מחדש של מנהל.
2. הפעלת נעילה: docker swarm update --autolock=true מחזיר מפתח פתיחה שיש לשמור במקום בטוח. בלי המפתח לא ניתן לפתוח את הקלאסטר אחרי ריסטארט.
3. פתיחה אחרי ריסטארט: אחרי הפעלה מחדש, docker node ls לא מחזיר תשובה עד שמריצים docker swarm unlock ומדביקים את המפתח.
4. החלפת מפתח: docker swarm unlock-key --rotate יוצר מפתח חדש, והישן מבוטל.
5. שדרוג UCP: מריצים את אימג' ה-UCP בגרסה החדשה במצב אינטראקטיבי (upgrade). קודם מתבצע שדרוג המנהלים, והשירותים עוברים לגרסה החדשה בזה אחר זה. וורקרים מקבלים תווית שמונעת שדרוג עד שמסירים אותה.
פקודות והגדרות
docker swarm update --autolock=true, docker swarm unlock, docker swarm unlock-key --rotate, והרצה של אימג' docker/ucp בגרסה החדשה עם הפרמטר upgrade --interactive.
שימו לב
קלאסטר עם שני מנהלים בלבד מסתכן: נפילה של אחד מהם מפילה את הרוב, והקלאסטר לא עובד. ההרצאה הזכירה שכשיש מנהלים רבים, למשל חמישה, אפשר לאבד כמה מהם ועדיין להמשיך. בשדרוג כדאי לוודא שכל נוד תקין לפני המעבר לנוד הבא.
בסיום יודעים להפעיל נעילה לקלאסטר ולשדרג את UCP בצורה מבוקרת.

פרקי ההרצאה: Docker Swarm - Unlock and Upgrade

  1. 00:00

    הצפנת הדאטאבייס של הקלאסטר

  2. 03:11

    מנהל נעול אחרי ריסטארט

  3. 03:48

    הפעלת נעילה לקלאסטר קיים

  4. 06:13

    החלפת מפתח הנעילה עם rotate

  5. 07:40

    פתיחת נעילה עם המפתח החדש

  6. 08:24

    בדיקת עדכון זמין ל-UCP

  7. 09:02

    עדכון UCP במקום בפקודה אחת

  8. 10:04

    עדכון וורקרים ידנית עם הסרת תוויות

תמלול ההרצאה: Docker Swarm - Unlock and Upgrade

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

  1. 00:02

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

  2. 00:37

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

  3. 00:51

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

  4. 01:06

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

  5. 01:20

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

  6. 01:43

    אז בשביל כל זה יש לנו מפתחות הצפנה שצריכים להיכנס לזיכרון של Node. הם נכנסים לזיכרון של ה-Node של הראם ופותחים איתם את ההצפנה.

  7. 02:02

    הקטע שאני לא רוצה שהם ישכבו ב-hard disk בצורה לא מוצפנת, שאם מישהו יגנוב לי את הדיסק אז הוא לא יוכל להוציא את המידע הסופר סודי שלי, את כל הסיסמאות שלי ואת כל ה-private keys שלי.

  8. 02:18

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

  9. 02:28

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

  10. 02:43

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

  11. 03:06

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

  12. 03:21

    לדוגמה, אתם רואים הם עושים ריסטארט ואחרי הריסטארט סרוויס ls לא נותן כלום, אתם רואים? כמובן עושים docker service restart ואחרי ה-restart service ls לא נותן כלום כי ה-swarm is encrypted.

  13. 03:37

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

  14. 03:53

    בואו נעשה את זה ונקבל את המפתח ההצפנה שלנו, בואו נעשה את זה ביחד. אז יש לנו פה docker swarm == help. אנחנו רואים שיש לנו פקודה unlock לפתוח נעילה unlock key זה לראות את המפתח ולהחליף אותו ואנחנו עושים update של האופציה unlock true אחרי שעשיתי את זה הוא נותן לי את המפתח

  15. 04:25

    עכשיו ובואו נעשה restart לשרת 3 נעשה לו שימו לב כרגע הוא יכול להראות לי את הנודים אני עושה reboot נותן לו לעשות restart הנה הוא חזר נעשה docker node ls אנחנו לא יכולים לראות מידע מתוך הסוורם כי סוורם איז אנקריפטד אבל לדוגמא דוקר פי אס כן עובד כי זה לא קשור לקלאסטר

  16. 05:05

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

  17. 05:38

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

  18. 06:02

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

  19. 06:30

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

  20. 06:54

    בוא נעשה לזה קופי פייסט הצידה שלא ילך לנו לאיבוד את זה העתקתי לי הצידה ואת זה גם אני מעתיק הצידה למקרה שהמפתח הישן החדש עוד לא תפס ריבוט בוא נעשה ריבוט, נראה מה יקרה עכשיו והנה הוא עלה, נעשה דורקר PS, ה-PS עובד אתם רואים לפני 7 שניות הוא התחיל אבל docker node ls לא יעבוד עד שלא נפתח אותו עם ה docker swarm unlock

  21. 07:43

    עכשיו הוא שואל אותי מה המפתח ההצפנה, אני לוקח את המפתח השני, פתח, node ls עכשיו לוקח לו זמן, הוא מסתנכרן ורואה שהכל תקין עכשיו שימו לב, כשאני אבוא לכאן ואני אעשה docker swarm key רק תראה לי את המפתח, הוא יראה כבר את המפתח החדש, אתם רואים?

  22. 08:26

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

  23. 08:45

    New Update are Available ל-3.2.3. יש עדכון לגרסת של UCP, בואו נעדכן אותו. נלך ל-Admin Settings, אני רק רוצה לוודא שאין לי פה בעיה עם החתימות הדיגיטליות.

  24. 08:59

    כן, אין לי פה תווי, שלא יעשה לי בעיות בזמן העדכון. נלך לכתבה שנקראת Upgrade, Admin Install Upgrade. ויש לנו פה המון המון הסברים ואנחנו נעשה automated in place cluster upgrade.

  25. 09:25

    עדכון במקום, פשוט מריצים את הפקודה הזאת, מה היא עושה? היא מריצה container run אינטראקטיבית, ממפה את הווליום של הדוקר כדי שהקונטיינר יוכל לנהל את כל הדוקר ומריצה את האימג' הזה. בסוף מורץ האימג' הזה שנקרא docker ucp הרגיל עם פקודת עזר של ה-upgrade, זה כבר פרמטר בתוך האימג',

  26. 09:51

    זאת אומרת, בתוך האימג' זה קובץ אקזה כביכול, וזה הפרמטר של האקזה. עוד פעם, זה האימג', בתוך האימג' תוכנת upgrade כביכול ל-XC או סקריפט, ומעבירים לה פרמטר אינטראקטיב, ואז הוא שאל אותי כל השאלות אינטראקטיבית, וישדרג לי את הגרסה, לדוגמה ל-321, 323, לאיזה גרסה שאני רוצה,

  27. 10:14

    זאת דוגמה. עוד שנייה נעשה את זה. מה עוד אפשר לעשות? אפשר לעשות, חוץ מאינטראקטיב, להוסיף עוד Manual Worker Update.

  28. 10:27

    Manual Worker Update אומר תעדכן את כל המנאג'רים אבל לא וורקרים. וורקרים אני אעדכן ידנית אחד אחד על ידי זה שאני אעשה Label RM, אני אוריד לייבלים שאומרים לא לעשות Upgrade לוורקר. זאת אומרת על כל

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

ההרצאה הקודמת: Docker Swarm - Sign Image

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

  • docker
  • שדרוג גירסה - SCCM Client Upgrade
  • קונטיינר בענן - Cloud Run - התקנת Docker על וונדוס 11

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

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