
install של האימג' docker/dtr מקבלת את כתובת UCP, את הנוד שבו DTR ירוץ, את השם החיצוני ואת הפרטים של המשתמש. ההתקנה מתבצעת בתוך קונטיינר זמני.docker run -it --rm docker/dtr install --ucp-url ... --ucp-node ... --dtr-external-url ..., docker login <השם החיצוני>:8443, ו-docker tag עם docker push לבדיקה.הטקסט המלא של הדקות הראשונות בהרצאה «התקנה של DTR Registry» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בהרצאה הזאת אנחנו רוצים להתקין dtr את המאגר המרכזי של אימג'ים שמגיע כבר בתשלום זוכרים שהתקנו אותו בחינם עכשיו אנחנו מתקינים את הגרסה בתשלום שלו למעשה המוצר שעולה כסף כולל שני דברים docker enterprise כולל שני דברים את ה-ucp universal control plan שזה ניהול של קונטיינרים והמוצר השני זה בעצם ה-dtr שזה הניהול המרכזי
של docker trusted registry וזה בדיוק מה שאנחנו רוצים להתקין אז בואו נראה איך אנחנו מתקינים אותו קודם כל הוא שואל אותי מה יהיה השם שלו שכל היוזרים יפנו לשם הזה ואני גם לא אוהב את הנושא הזה שאין פה שם יפה אז בואו נסדר כאן את הנושא של השמות ואז נתקין את dtr כי dtr פה אתם רואים הוא שואל איפה נמצא url
של ucp ואני לא רוצה לתת לו או IP של אחד כי יש לי פה שלושה אני רוצה לתת לו שם כללי ואז שיעבוד עם השם הכללי שלו אז מה אני עושה אני הולך ל-DNS שלי וב-DNS שלי הקמתי ucp.practicue.com ucp.practicue.com עם שלושת ה-IPים שזה נקרא ראונד רובין מה זה אומר זה אומר שאם אני אבוא פה ואני אריץ NSLOOKUP בוא נעשה את זה דרך CMD למי שלא יודע מה זה ראונד רובין בדקה אחת נדגים את
זה נעשה פה ns-לוקאפ ucp.practicue.com אתם רואים הוא מחזיר את שלושת התשובות פעם הראשונה אחד פעם שנייה זה שלוש כאילו מסובב אותם כל פעם שאתה מריץ פקודה הוא מסובב את התשובה עכשיו שתיים עכשיו אחד ואז הוא מפזר עומסים על אותו שם הלקוחות מקבלים על שם אחד כמה כתובות
IP זה מה שעשיתי והקמתי גם רשומת dtr מראש אז יש לי dtr ויש לי פה ucp על שלושתם למה אני רוצה את זה? כדי שבתוך פקודה שמריצה לי את ה-image של docker dtr, זה ה-image, אני בפנים מריץ install ואני רוצה לחבר אותו לא ל-IP ספציפי, שה-dtr יהיה מחובר ל-UCP, המאגר המרכזי יהיה מחובר ל-UCP בשם כללי.
אז נעשה את זה פה ונכתוב פה ucp.practicue.com ועכשיו אנחנו מתחברים לפי ucp.practicue.com בואו נראה איך זה ישפיע על הפקודה. הכנסנו חזרה, אבל הפעם ב-UCP.
מי שפספס, אנחנו ב-ucp-practicu.com. אדמין, אדמין סטטינגס. יופי, ועכשיו אנחנו כאן אומרים לו על איזה UCP להתקין את זה, על UCP על אובנטו 1 או על אובנטו 2, על איזה נוד להתקין אותו, איפה להריץ את הזה, איך הלקוחות יפנו אליו, הם יפנו אליו dtr.practicu.com, לא כתבתי את זה נכון בוא נעתיק את זה פשוט מכאן כדי לא לעשות טעויות כתיב נעשה קופי
אני אלך ל-dtr.practical.com זה הלקוחות זה ה-external url שלו הלאה פה אני יכול לתת לו איזשהו ID דרך אגב כל מה שאני כותב זה משנה כאן תסתכלו אתם רואים זה אומר docker run תריץ קונטיינר חד פעמי אינטראקטיבית אחרי זה תמחק את הקונטיינר הזה איזה קונטיינר אימג' שנקרא docker dtr זה האימג'
בפנים תריץ תוכנה שנקראת install לדוגמה יש לו עוד תוכנה עוד כאילו תוכנה פנימית אקזה פנימי כביכול שנקרא reconfigure אז docker dtr זה ה-image שמקנפג לי את כל ה-dtr ה-install מתקין תוכנה בפנים שנקראת install שמתקינה וזה כל הפרמטרים שאני אעביר לה לדוגמה חוץ מתוכנת install יש לי תוכנת reconfigure שמשנה הגדרות בדיעבד אם התקנתי משהו לא טוב טוב אז אנחנו רואים פה dtr external
את ה-URL הזה שהגדרתי פה, אם אני אעשה פה MMM זה מתווסף כאן. הוא למעשה במקומי כותב את הפקודה. UCP Node, על איזה Node להתקין את ה-DTR, איפה הוא פיזית ירוץ, איזה יוזרניים, כי הוא רואה את היוזרניים שלי ואז הוא שאל אותי רק סיסמה כדי שהאימג' הפנימי הזה, הקונטרנר הפנימי הזה
יתחבר ולאן להתחבר ל-UCP דבר הזה. בסדר גמור? ככה אנחנו רוצים להתקין אותו. מה יש פה לנו עוד?
מה זה ID? אני יכול לכתוב פה מזהה של DTR רפליקה. DTR יכול להיות בכמה אינסטנסים, כאילו הוא יכול להיות בקלאסטרים, כמה נודים, לכל אחד יש ID מסוים.
אם אני לא רוצה שיהיה ID רנדומלי, אקראי, אני יכול לכתוב ידנית, לא אכפת לי שיהיה מזהה אוטומט. הלאה.
כאן אני אומר לו אל תבדוק את ה-SSL, Insecure SSL, אל תבדוק SSL של UCP, אני אומר לו תבדוק, שיהיה יותר בטוח. ואז פה אני יכול להגיד לו, תקשיב, ה-CA הראשי זה לא משהו שמוכר בכל העולם, תוסיף אותו, זאת התעודה של ה-CA הראשי שחתם לי על הכל.
ככה אני בעצם מתקין לו Trusted Root CA לתוך הקונטיינר הפנימי של DTR. יש? יש. אז פה אני מסביר לו מי זה ה-CA שלי, כי ה-CA שלי הוא לא מישהו שבאמת מוכר בכל העולם, זה CA שלי, אני רוצה שהוא יסמוך עליו, עכשיו אני לוקח את כל הפקודה הזאתי, מעתיק אותה ל-Kלי בורד,
בוא נפתח פה טרמינל, נריץ את הפקודה הזאת, דורקר run it, את ה-image install עם כל הפרמטרים שכתבנו, enter, מתחילים את ההתקנה, הוא שואל אותי את הסיסמה ל-UCP כי יוזרניים הבאנו לו בפקודה, והנה הוא כותב לי שגיאה ראשונה: failed to get HTTP בגלל ש-HTTPs הזה, סרטיפיקייט איז וי לתפור,
הסרטיפיקייט הזה ולידי בשביל מה? לשמות האלו, שימו לב כמה שמות יש פה, זה כל השמות שהוא וי לתפור, אבל שימו לב מה יש לו פה, יש לו פה כל מיני שמות, אבל not ucp-practic.com, אין לו את השם הזה בתעודה, מה הוא רוצה להגיד לי?
הוא רוצה להגיד לי כשהוא בא להתחבר לאתר הזה, אתם רואים? קונקשן is not secure יש פה התרעה ואנחנו עשינו אותה באקספצ'ן אבל הוא אומר תקשיבי לי יש בעיה עם החיבור הזה כי התעודה הדיגיטלית בוא נראה אותה זאת התעודה הדיגיטלית שיש לנו על האתר subject alternate names יש לנו פה כל מיני שמות כמו אובונטו אחד IP אבל אין לנו
את ה-ucp.practice.com אין לנו את השם שאיתו אנחנו רצינו להתחבר עשינו את זה ב-dns אבל לא שמנו את זה בתוך תעודה אוקיי אז בוא נוסיף את זה לתעודה איך עושים את זה?
אנחנו הולכים ל-Shared Resources, Nodes ויש לי פה נודים, נתחיל בראשון ובאובנטו אחד, בנוד אחד, בשרת פיזיה הראשון שלי, אנחנו יכולים לראות פה SANS.
SANS זה בעצם Subject Alternate Names Used by UCP Manager Self-Signed Certificate, זה בדיוק השמות של Subject Alternate Names ואנחנו רואים פה אובנטו ו-21. אני עושה לו פה לשנות ואני רוצה לשנות את השמות.
אני אומר לו, תקשיב, אני רוצה את ה- ucp.practic.com רק עם השם הזה אני רוצה שהלקוחות יתחברו לניהול ואת השמות האלו אני מעיף. יופי, שינינו את זה.
עכשיו, זה לא מספיק ששינינו את זה כאן, אנחנו צריכים לשנות את זה בעצם על כל השרתים. זה למעשה תעודה לוקאלית שמותקנת על כל שרת ucp.
הרי יש לנו כמה אינסטנסים, נכון? למה אני עושה את זה? כי כשאנחנו מתחברים פה ב- ucp url, אתם רואים, אנחנו מתחברים לכאן, אנחנו לא יודעים בדיוק לאיזה נוד אנחנו נתחבר כי DNS פעם מעביר אותי לפה, פעם מעביר אותי לשם, אז אני לא יודע בדיוק לאן הוא יעביר אותי.
אני חייב שלכולם, לכל הנודים תהיה תעודה כזאת. הנה התחברתי לשרת השני, לשרת אחר, הוא נותן לי הודעת אזהרה. הנה זה אותה הודעת אזהרה.
נעשה אוקיי, נלך לנודס ואנחנו בנוד השני, נכון? להוסיף גם לו סאן. סאבג'קט אלטרנט ניימס בתעודה, נעשה סייב. עכשיו מי שרוצה לראות מה בעצם, מה משתנה פה, בואו אני אראה לכם.
אם אנחנו נלך עכשיו ל-192, 168, 121, 21 ל-Node הראשון שלי, אנחנו נראה כאן בתעודה של ה-Node הראשון, ב-Subject Alternate Names של התעודה, שיש לנו פה ucp-practical.com, מה שלא היה לפני כן, נכון?
ucp Universal Control Plan, אני קורא לו Control Panel. אוקיי, אז ucp פה קיים, אבל אם נלך לדוגמה ל-Node שלא עשינו, עדיין, נניח, 23, עוד לא טיפלנו בו.
לנוד השלישי שלי, ניכנס לתוך הנוד השלישי, נו, נראה שהתעודה, זו אותה מערכת ניהול, זה אותו ובסייט, רק שהוא רץ על שירתים שונים, יש לו הרבה אינסטנסים, הרבה נודים.
ואם נלך עכשיו לשלישי שעוד לא טיפלנו בו, אתם רואים, אין לו עדיין ucp, יש לו אובנטו 3, ucp-controller-qt.com, אבל אין ucp-practical.com, אין את השם שלי, שזאת הבעיה בעצם.
נלך ל-Node 3, אתם רואים, אני עובר אחד-אחד. ופה ב-Node 3 אנחנו רואים סאנס. זה למעשה, אנחנו מתחברים לאתר ווב שמנהל את ה-Node 3. אז אנחנו אומרים לו פה UCP.
יופי. עכשיו לא משנה לאן נתחבר, אנחנו נקבל תשובה נכונה. עכשיו, מי שרוצה לראות מאיפה אני לוקח את כל המידע שלי, מי שחושב שאני גאון גדול, אז אני אראה לכם.
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 מי שרוצה לדעת מאחורי הקלעים אוקיי סיימנו עם הבעיה הזאת אז עכשיו אנחנו יכולים להתחבר לפי השם