PracticU

התקנה של DTR Registry

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

התקנה של DTR Registry
הרצאה על התקנת DTR, מאגר האימג'ים המרכזי של Docker Enterprise: בחירת שמות, התקנה על נוד, פתרון בעיות תעודה ופורטים, ובדיקת החיבור בפוש של אימג'.
השלבים העיקריים
1. למה מאגר מרכזי: מאגר חינמי מאפשר רק דחיפה ומשיכה של אימג'ים. DTR מוסיף הרשאות לפי משתמשים וצוותים, חתימה דיגיטלית וסריקה של פגיעויות, והוא חלק מהרישיון.
2. שם כללי: במקום להתחבר לכתובת IP של נוד מסוים, מגדירים שם כללי ב-DNS (למשל ucp.example.com) עם כמה כתובות שמתחלפות בסבב. כך הפקודות לא תלויות בנוד מסוים.
3. התקנה: פקודת install של האימג' docker/dtr מקבלת את כתובת UCP, את הנוד שבו DTR ירוץ, את השם החיצוני ואת הפרטים של המשתמש. ההתקנה מתבצעת בתוך קונטיינר זמני.
4. תעודה לא מאומתת: ההתקנה נכשלה כי התעודה של UCP לא כללה את השם שבו התחברו. הפתרון היה להוסיף את השם לשדה Subject Alternative Names בהגדרות כל נוד.
5. התנגשות פורטים: פורט 443 היה תפוס על ידי הפרוקסי, ולכן DTR הופעל על פורט 8443.
פקודות והגדרות
docker run -it --rm docker/dtr install --ucp-url ... --ucp-node ... --dtr-external-url ..., docker login <השם החיצוני>:8443, ו-docker tag עם docker push לבדיקה.
טעויות נפוצות
ההרצאה ציינה שלא מומלץ להתקין DTR על נוד מנהל, ועדיף להתקין אותו על וורקר נפרד. ההדגמה נעשתה על מנהל מפני שלא היה וורקר זמין.
שימו לב
אם מתחברים ל-DTR בשם שאינו מופיע בתעודה, הדפדפן וכלי ה-CLI מציגים אזהרה ועלולים להיכשל במשיכת אימג'ים. ההרצאה הציגה את הפתרון בעדכון התעודה ובחיבור לשם החיצוני דרך פורט 8443.
בסיום יש מאגר אימג'ים מרכזי עם שם שאפשר להתחבר אליו מכל מקום.
השיעור הבא בקורס: התקנה של DTR HA Cluster

פרקי ההרצאה: התקנה של DTR Registry

  1. 00:00

    מאגר DTR המרכזי בגרסה בתשלום

  2. 00:44

    בחירת שמות כלליים לשירותי UCP ו-DTR

  3. 01:45

    שם כללי עם Round Robin ב-DNS

  4. 04:31

    הרצת מתקין DTR בקונטיינר חד פעמי

  5. 05:45

    הגדרות מתקדמות: מזהה רפליקה ו-CA

  6. 07:51

    שגיאת תעודה: שמות חסרים ב-SAN

  7. 09:06

    הוספת שם כללי לתעודה של כל נוד

  8. 13:48

    הוספת התעודה לכל מנהלי הקלאסטר

תמלול ההרצאה: התקנה של DTR Registry

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

  1. 00:02

    שלום לכולם בהרצאה הזאת אנחנו רוצים להתקין dtr את המאגר המרכזי של אימג'ים שמגיע כבר בתשלום זוכרים שהתקנו אותו בחינם עכשיו אנחנו מתקינים את הגרסה בתשלום שלו למעשה המוצר שעולה כסף כולל שני דברים docker enterprise כולל שני דברים את ה-ucp universal control plan שזה ניהול של קונטיינרים והמוצר השני זה בעצם ה-dtr שזה הניהול המרכזי

  2. 00:44

    של docker trusted registry וזה בדיוק מה שאנחנו רוצים להתקין אז בואו נראה איך אנחנו מתקינים אותו קודם כל הוא שואל אותי מה יהיה השם שלו שכל היוזרים יפנו לשם הזה ואני גם לא אוהב את הנושא הזה שאין פה שם יפה אז בואו נסדר כאן את הנושא של השמות ואז נתקין את dtr כי dtr פה אתם רואים הוא שואל איפה נמצא url

  3. 01:21

    של ucp ואני לא רוצה לתת לו או IP של אחד כי יש לי פה שלושה אני רוצה לתת לו שם כללי ואז שיעבוד עם השם הכללי שלו אז מה אני עושה אני הולך ל-DNS שלי וב-DNS שלי הקמתי ucp.practicue.com ucp.practicue.com עם שלושת ה-IPים שזה נקרא ראונד רובין מה זה אומר זה אומר שאם אני אבוא פה ואני אריץ NSLOOKUP בוא נעשה את זה דרך CMD למי שלא יודע מה זה ראונד רובין בדקה אחת נדגים את

  4. 02:02

    זה נעשה פה ns-לוקאפ ucp.practicue.com אתם רואים הוא מחזיר את שלושת התשובות פעם הראשונה אחד פעם שנייה זה שלוש כאילו מסובב אותם כל פעם שאתה מריץ פקודה הוא מסובב את התשובה עכשיו שתיים עכשיו אחד ואז הוא מפזר עומסים על אותו שם הלקוחות מקבלים על שם אחד כמה כתובות

  5. 02:37

    IP זה מה שעשיתי והקמתי גם רשומת dtr מראש אז יש לי dtr ויש לי פה ucp על שלושתם למה אני רוצה את זה? כדי שבתוך פקודה שמריצה לי את ה-image של docker dtr, זה ה-image, אני בפנים מריץ install ואני רוצה לחבר אותו לא ל-IP ספציפי, שה-dtr יהיה מחובר ל-UCP, המאגר המרכזי יהיה מחובר ל-UCP בשם כללי.

  6. 03:10

    אז נעשה את זה פה ונכתוב פה ucp.practicue.com ועכשיו אנחנו מתחברים לפי ucp.practicue.com בואו נראה איך זה ישפיע על הפקודה. הכנסנו חזרה, אבל הפעם ב-UCP.

  7. 03:33

    מי שפספס, אנחנו ב-ucp-practicu.com. אדמין, אדמין סטטינגס. יופי, ועכשיו אנחנו כאן אומרים לו על איזה UCP להתקין את זה, על UCP על אובנטו 1 או על אובנטו 2, על איזה נוד להתקין אותו, איפה להריץ את הזה, איך הלקוחות יפנו אליו, הם יפנו אליו dtr.practicu.com, לא כתבתי את זה נכון בוא נעתיק את זה פשוט מכאן כדי לא לעשות טעויות כתיב נעשה קופי

  8. 04:10

    אני אלך ל-dtr.practical.com זה הלקוחות זה ה-external url שלו הלאה פה אני יכול לתת לו איזשהו ID דרך אגב כל מה שאני כותב זה משנה כאן תסתכלו אתם רואים זה אומר docker run תריץ קונטיינר חד פעמי אינטראקטיבית אחרי זה תמחק את הקונטיינר הזה איזה קונטיינר אימג' שנקרא docker dtr זה האימג'

  9. 04:40

    בפנים תריץ תוכנה שנקראת install לדוגמה יש לו עוד תוכנה עוד כאילו תוכנה פנימית אקזה פנימי כביכול שנקרא reconfigure אז docker dtr זה ה-image שמקנפג לי את כל ה-dtr ה-install מתקין תוכנה בפנים שנקראת install שמתקינה וזה כל הפרמטרים שאני אעביר לה לדוגמה חוץ מתוכנת install יש לי תוכנת reconfigure שמשנה הגדרות בדיעבד אם התקנתי משהו לא טוב טוב אז אנחנו רואים פה dtr external

  10. 05:17

    את ה-URL הזה שהגדרתי פה, אם אני אעשה פה MMM זה מתווסף כאן. הוא למעשה במקומי כותב את הפקודה. UCP Node, על איזה Node להתקין את ה-DTR, איפה הוא פיזית ירוץ, איזה יוזרניים, כי הוא רואה את היוזרניים שלי ואז הוא שאל אותי רק סיסמה כדי שהאימג' הפנימי הזה, הקונטרנר הפנימי הזה

  11. 05:44

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

  12. 05:54

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

  13. 06:07

    אם אני לא רוצה שיהיה ID רנדומלי, אקראי, אני יכול לכתוב ידנית, לא אכפת לי שיהיה מזהה אוטומט. הלאה.

  14. 06:16

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

  15. 06:54

    ככה אני בעצם מתקין לו Trusted Root CA לתוך הקונטיינר הפנימי של DTR. יש? יש. אז פה אני מסביר לו מי זה ה-CA שלי, כי ה-CA שלי הוא לא מישהו שבאמת מוכר בכל העולם, זה CA שלי, אני רוצה שהוא יסמוך עליו, עכשיו אני לוקח את כל הפקודה הזאתי, מעתיק אותה ל-Kלי בורד,

  16. 07:18

    בוא נפתח פה טרמינל, נריץ את הפקודה הזאת, דורקר run it, את ה-image install עם כל הפרמטרים שכתבנו, enter, מתחילים את ההתקנה, הוא שואל אותי את הסיסמה ל-UCP כי יוזרניים הבאנו לו בפקודה, והנה הוא כותב לי שגיאה ראשונה: failed to get HTTP בגלל ש-HTTPs הזה, סרטיפיקייט איז וי לתפור,

  17. 08:05

    הסרטיפיקייט הזה ולידי בשביל מה? לשמות האלו, שימו לב כמה שמות יש פה, זה כל השמות שהוא וי לתפור, אבל שימו לב מה יש לו פה, יש לו פה כל מיני שמות, אבל not ucp-practic.com, אין לו את השם הזה בתעודה, מה הוא רוצה להגיד לי?

  18. 08:30

    הוא רוצה להגיד לי כשהוא בא להתחבר לאתר הזה, אתם רואים? קונקשן is not secure יש פה התרעה ואנחנו עשינו אותה באקספצ'ן אבל הוא אומר תקשיבי לי יש בעיה עם החיבור הזה כי התעודה הדיגיטלית בוא נראה אותה זאת התעודה הדיגיטלית שיש לנו על האתר subject alternate names יש לנו פה כל מיני שמות כמו אובונטו אחד IP אבל אין לנו

  19. 08:56

    את ה-ucp.practice.com אין לנו את השם שאיתו אנחנו רצינו להתחבר עשינו את זה ב-dns אבל לא שמנו את זה בתוך תעודה אוקיי אז בוא נוסיף את זה לתעודה איך עושים את זה?

  20. 09:12

    אנחנו הולכים ל-Shared Resources, Nodes ויש לי פה נודים, נתחיל בראשון ובאובנטו אחד, בנוד אחד, בשרת פיזיה הראשון שלי, אנחנו יכולים לראות פה SANS.

  21. 09:32

    SANS זה בעצם Subject Alternate Names Used by UCP Manager Self-Signed Certificate, זה בדיוק השמות של Subject Alternate Names ואנחנו רואים פה אובנטו ו-21. אני עושה לו פה לשנות ואני רוצה לשנות את השמות.

  22. 09:54

    אני אומר לו, תקשיב, אני רוצה את ה- ucp.practic.com רק עם השם הזה אני רוצה שהלקוחות יתחברו לניהול ואת השמות האלו אני מעיף. יופי, שינינו את זה.

  23. 10:08

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

  24. 10:21

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

  25. 10:49

    אני חייב שלכולם, לכל הנודים תהיה תעודה כזאת. הנה התחברתי לשרת השני, לשרת אחר, הוא נותן לי הודעת אזהרה. הנה זה אותה הודעת אזהרה.

  26. 11:04

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

  27. 11:28

    אם אנחנו נלך עכשיו ל-192, 168, 121, 21 ל-Node הראשון שלי, אנחנו נראה כאן בתעודה של ה-Node הראשון, ב-Subject Alternate Names של התעודה, שיש לנו פה ucp-practical.com, מה שלא היה לפני כן, נכון?

  28. 11:56

    ucp Universal Control Plan, אני קורא לו Control Panel. אוקיי, אז ucp פה קיים, אבל אם נלך לדוגמה ל-Node שלא עשינו, עדיין, נניח, 23, עוד לא טיפלנו בו.

  29. 12:14

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

  30. 12:33

    ואם נלך עכשיו לשלישי שעוד לא טיפלנו בו, אתם רואים, אין לו עדיין ucp, יש לו אובנטו 3, ucp-controller-qt.com, אבל אין ucp-practical.com, אין את השם שלי, שזאת הבעיה בעצם.

  31. 12:48

    נלך ל-Node 3, אתם רואים, אני עובר אחד-אחד. ופה ב-Node 3 אנחנו רואים סאנס. זה למעשה, אנחנו מתחברים לאתר ווב שמנהל את ה-Node 3. אז אנחנו אומרים לו פה UCP.

  32. 13:30

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

  33. 13:53

    ucp-sun-certificate-docker אתם עושים דבר כזה הנה add sun to cluster certificate הנה docker.com ucp-admin add suns to cluster אז אני חסכתי לכם לקרוא את כל זה הנה פה כתוב שצריך להיכנס ופה כתוב do this on every existing manager node יש יש זה בעצם label על docker node מי שרוצה לדעת מאחורי הקלעים אוקיי סיימנו עם הבעיה הזאת אז עכשיו אנחנו יכולים להתחבר לפי השם

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

ההרצאה הקודמת: Swarm - RBAC - Users & Roles

ההרצאה הבאה: התקנה של DTR HA Cluster

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

  • הרצאה על Registry
  • התקנה
  • התקנה של DC
  • שליפת סיסמה של Service - מתוך Registry

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

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