
env.sh, או הגרסה ל-PowerShell) מגדיר את משתני הסביבה של הכתובת והתעודות. אחרי ההרצה, docker version מציג גם את צד השרת.docker context export שומר את החיבור לקובץ, ו-docker context import מייבא אותו תחת שם משלו. כך החיבור נשמר גם אחרי הפעלה מחדש של המחשב.docker context use מחליף את היעד של כל הפקודות בלי לשנות את הפקודה עצמה.docker context export, docker context import, docker context use, docker context ls, docker context inspect.הטקסט המלא של הדקות הראשונות בהרצאה «Docker Swarm - Remote CLI» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
ברוכים הבאים להרצאה איך עובדים עם קלאסטר מרחוק וזה מאוד מאוד חשוב כי אנחנו רוצים שהיוזרים שלנו יעבדו מתחנות עבודה שלהם אבל לא ייכנסו לתוך ה-nodes בקלאסטר, נכון?
אנחנו רוצים שיהיה להם קליינט, לא אכפת לי אם זה מכונה וירטואלית או מחשב פיזי אבל הם צריכים להתחבר מרחוק לתוך הקלאסטר שלנו.
אז התקנתי פה אובון תונקי, התקנתי עליו דוקר, אנחנו יכולים לראות שהוא לא חבר בקלאסטר כי זאת תחנת עבודה כאילו זה לא נורד בקלאסטר הוא לא וורקר הוא לא מריץ שום אימג'ים הוא אמור בעצם להתחבר כקליינט לשמה אוקיי אז איך אנחנו נתחיל לעבוד אז קודם כל אנחנו יכולים להיכנס ל-UCP נניח משתמש בשם אלכס נכנס שזה יוזר פשוט נכנס לתוך UCP אתם יכולים לראות ישר שאין
לו פה את כל האופציות שיש לאדמיניסטרטור לדוגמה אין לו לדוגמה פה לאדמיניסטרטור יש access control ואצלו אין access control אתם רואים אין לו פה access control טוב אז בואו נראה איך הוא מקים סרוויס אז הוא לוקח סרוויס והוא רוצה לעשות סרוויס חדש בוא ניכנס לdtr ונמשוך איזשהו image dtrfractic.com 8443 באמצעיות אתם תעשו פשוט כתובות IP שונות ולא תצטרכו
ככה לשנות פורטים ידנית. אוקיי, אז אלכס פה נכנס לרפוזיטורי שלו, יש לו פה בטאג איזשהו אימג' דוקר דמו, עשינו את זה ביחד איתכם והוא לוקח את האימג' הזה, הולך ל-UCP, לסרוויסים, מקים סרוויס חדש, נקרא לזה T1, טסט 1, אומרים לו שהאימג'
זה זה, אני לא יודע אם הוא צריך שם וסיסמה, בוא נראה אני אדמין בוא נעשה פה שם וסיסמה אלכס ופסוורד ואנחנו יוצרים סרוויס חדש בקלאסטר וזה מצוין הסרוויס נוצר והכל בסדר ככה הוא עובד.
קח לו כמה שניות והוא עובד אנחנו נלך עכשיו ככה אפשר לעבוד בצורה כזאת אין שום בעיה לעבוד דרך ממשק ובי אבל מה קורה כשאנחנו רוצים לעשות את הסרוויס הזה לוקאלית דרך פקודות זאת אומרת אנחנו רוצים לעשות דוקר סרוויס קריאייט נקרא לו t2 וניתן לו את אותו הפאת, את אותו האימייג'
אנחנו עושים פקודה והוא אומר תקשיב אני לא חלק מהסווארם אני לא יודע לאן ללכת כי זה cli זה command line זה פקודת דוקר מקומית היא לא יודעת איפה נמצא השרת וזה נכון כי אני לא חלק מקלאסטר ואני לא יודע מה אתה רוצה שאני אעשה זה למעשה דוקר מקומי שלא יודע איפה נמצא הקלאסטר בוא נראה מה יש לנו
בתוך תיקיית הבית שלנו, בתוך תיקיית הבית אין לנו אפילו תיקייה נקודת דוקר. אתם רואים, אין לנו נקודת דוקר, זאת אומרת נקודת דוקר לא קיים, no such file.
אתם יודעים מה אנחנו יכולים לעשות? אנחנו יכולים לעשות לוגין לתוך ה-dtr הזה, נכון? בואו נעשה לזה לוגין, נעשה דוקר לוגין לתוך ה-dtr שלנו תחת שם אלכס, פסוורד, הנה זה עבד, עשינו לוגין.
עכשיו שימו לב, אחרי הלוגין תיקיית דוקר באמת הופיעה מקומית ואפשר לעשות cut ולראות שבתוך הקונפיקט שלה אכן אנחנו רואים שעשינו לוגין ל-DTR. בגלל שעשינו לוגין ל-DTR אנחנו יכולים לעשות אפילו דוקר פול לאימג' שלנו, נכון?
איך האימג' שלנו נקרא פה? זאת אומרת אין לנו בעיה לעבוד עם DTR, הנה עשינו פול, לקחנו את כל האימג' אלינו והוא נמצא אצלנו, דוקר אימג'ס, אנחנו מקומית עובדים.
בואו ננסה ליצור סרוויס, איך הפקודה הזאת הולכת? docker service create t2, וזה עדיין לא עובד לנו.
מה זאת אומרת? זה שעשינו לוגין ל-DTR, זה שאנחנו יכולים לעבוד עם DTR עם הלוגין שלו ולמשוך ממנו אימג'ים ולדחוף אליו אימג'ים, זה לא קשור לקלאסטר של Swarm. הנושא של DTR זה כאילו שירות חיצוני, נכון שהוא רץ שם בתוך הקונטיינר, בתוך הקלאסטר, אבל זה לא מעניין.
הוא שירות חיצוני אנחנו יכולים לעשות עליו לוגין אנחנו יכולים למשוך ממנו אימייג'ים אבל עדיין הוא לא יודע לאן להתחבר בשביל לעשות סרוויס קריאייט בגלל שכל הנושא הזה לאן להתחבר נקרא קונטקסט ואם אנחנו נעשה דוקר קונטקסט מינוס מינוס help אנחנו נראה שיש לנו את כל ההקשר של הפקודות שלא קשורות לDTR עזבו עכשיו
את הDTR ואת האימייג'ים אז אנחנו יכולים לראות בעצם איזה קונטקסט יש לנו ויש לנו דיפולט קונטקסט ודיפולט קונטקסט, אם נעשה דוקר קונטקסט אינספקט דיפולט, אנחנו פה נראה שהדיפולט שלו זה למעשה להיות על ההוסט המקומי שלי.
כל הפקודות להריץ על ההוסט המקומי, על המחשב המקומי שלי. אוקיי, אנחנו צריכים להחליף לו את הקונטקסט. וזה מאוד מאוד פשוט, אנחנו יכולים ליצור פה קונטקסט חדש ולעשות אינספקט, ואנחנו יכולים לעשות את זה בדרך הרבה הרבה יותר פשוטה, ואני אראה לכם כמה טריקים.
אז נכנסים ל-UCP, לאלכס, ב-My Profile שלו אנחנו יכולים להוריד את כל ה-Bundle, את כל התעודות הדיגיטליות שלו. Generate Client Bundle, הוא יוצר לנו Public ו-Private Key.
לאלכס, שומר, הורדנו את זה לתיקי הדאונלואודס, הנה זה פה, בואו נפתח את זה. Extract here, הנה פתחנו את זה. ויש לנו פה את כל התעודות שלנו, זו התעודה של האבא שחותם על כל הצעשייה שלנו, זה ה-Public Key שלנו, תעודה עם ה-Public Key, זה public key נטו בלי התעודה, זה רק הנוסחה המתמטית.
לוקחים את זה, עוטפים את זה ויוצרים מזה תעודה, ויש פה environmentCMD ל-powerShell ו-environmentPowershell environmentCMD ו-environmentShell, שזה בדיוק מה שאנחנו צריכים להגדרת סביבה.
Key זה למעשה ה-private key של אלכס, אנחנו מעוניינים בקובץ הזה, בואו נעשה את זה, בואו נראה את הקובץ הזה, ניכנס לתיקיית bundle, זאת תיקייה environment.sh ואנחנו רואים, פה מאוד מאוד פשוט ארבע משתנה סביבה אחד אומר לבדוק ssl שתיים אומר איזה גרסה של ssl זה שטויות שלוש אומר שהתעודות של אלכס נמצאות
בתיקי הנוכחית וזה מה שרציתי שיהיה לו שאת כל הפקודות docker host לאן ללכת עם הפקודות ללכת לשרת שנקרא ucp practical.com עם כל הפקודות של docker service create שימו לב הוא מגיע תכלס לאתר ווב לתוך הקונטיינר של ucp אבל קונטיינר של ucp מקבל את כל הפקודות הרגילות של דוקר הוא מבין אותם ומעביר את זה לדוקר הפיזי הבנתם זאת אומרת יש לי קלאסטר שאני לא באמת יכול להגיע אליו אז
אני מגיע לתוך הקונטיינר לתוך ucp לתוך הקונטיינר הוא יודע להבין את כל ה-Restful את כל ה-API של הדוקר הרגיל ומקבל אליו את הפניות שלי ומעביר את זה לתוך הקלאסטר פינמר ובכך למעשה אני פותח החוצה רק פורט אחד אני לא צריך לפתוח את המכונה הפיזית את הפניות למכונה הפיזית של הקלאסטר אני מעביר דרך פרוקסי שזה למעשה ה-UCP
אוקיי, אז אני לוקח מפה את כל הפקודות האלו, מריץ אותן כאן עכשיו יש לי דוקר הוסט מקומי ואני יכול לעשות docker service create name t2 אוי, שכחתי להיכנס לתיקייה הנכונה סליחה, סליחה, סליחה, איפה התיקייה שלנו?
הנה, זאת התיקייה, שכחתי להיכנס אליה כמובן שאתם תשימו את זה בתיקייה הנכונה הוא כותב לי שהוא לא מצא את ה-CAPM נכון, כי אני בתיקייה לא נכונה בואו ניכנס עוד פעם עכשיו, מה שאני מראה לכם זה דרך קיצור, כן?
יש הרבה דרכים יותר מסובכות לעשות את זה ליצור עוד קונטקסטים אני עכשיו לא נכנס לזה אני רק מראה לכם את הדרך הפשוטה לעשות את זה ועכשיו כשאני בדרך הנכונה אני עושה קריאייט והוא מתחבר לתוך ה-UCP ויוצר לי שם סרוויס והכל עובד מצוין.
אז הסוד האמיתי זה זה, אוקיי, זה זה שלאן מתחברים וזה איפה נמצאות התעודות הדיגיטליות שאפשר לסמוך עליהן. יופי, יופי, זה מה שרציתי להראות לכם.