
docker stack deploy -c <קובץ>.yaml <שם-stack> פורס stack. docker stack ls מציג את ה-stacks, docker service ls מציג את השירותים, ו-docker network ls מציג את הרשתות.הטקסט המלא של הדקות הראשונות בהרצאה «Swarm - NGINX Reverse Proxy» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בהרצאה הזאת אנחנו רוצים עכשיו להקים כמה אתרי וורדפרס, כמה אתרי ווב על אותו קלאסטר. תחשבו שיש לנו לקוח אחד, קליינט אחד וקליינט שתיים ששניהם יושבים על אותו קלאסטר.
21, 22, 23 זה כתובות של הנודים שלי בקלאסטר של סוורם ואני רוצה לפרסם שני אתרים על אותו פורט 80. עכשיו, אי אפשר לפרסם סתם שני שרתים על פורט 80 ואנחנו נצטרך לפתור את הבעיה.
קודם כל יש לי פה כמו שאתם רואים שלושה נודים, אין לי כרגע אף סרוויס שרץ, אין לי שום דבר שרץ מאחורי הקלעים, קלאסטר נקי והכנתי פה תיקיות בתיקיית mnt, אתם רואים פקודה 3 mnt איזה תיקייה לארתור רק שיראה שתי שכבות, פקודה 3 מראה לי את העומק של התיקיות, למי שאין את זה יעשה opt get ויתקין פקודה 3
ויש לי פה תיקיית M&T בפנים יש קליינט 1 וקליינט 2 בתוך קליינט 1 יש לי מייסקיול ווורדפרס קליינט 2 מייסקיול ווורדפרס.
הבעיה שלי איך אני מפרסם פורטים שונים אז הטריק יהיה לעשות NGNX מה זה NGNX בוא נראה מה זה NGNX נלך לאתר שלהם ונבדוק NGNX זה למעשה רוורס פרוקסי מה זה אומר רוורס פרוקסי זה אומר שהוא עושה פרוקסי מקרב אתרים אבל ללקוחות חיצוניים, לא ללקוחות פנימיים, ללקוחות חיצוניים.
עוד פעם, פרוקסי רגיל, דרך אגב, זה אחד הדברים הכי מפורסמים פה, יותר מ-10 מיליון הורדות. זה NGNX, בואו אני אספר לכם מה זה בכלל NGNX למי שלא מכיר.
NGNX, אם אנחנו נלך לוויקי, איפה יש לנו פה וויקי? בואו נכתוב וויקי, וויקי, NGNX, אין NGNX וויקי.
שימו לב, קודם כל אומרים את זה engine x, וזה וב סרבר, אתר שרת וב רגיל, אבל הוא גם משתמש כ-reverse proxy, זה אומר שבקשות מבחוץ, הוא עוצר אותן, מביא להן תוכן מבפנים ומחזיר לו בקשה חזרה.
עוד פעם, לקוח שמגיע מבחוץ, הוא עוצר אותו, הולך פנימה לבד, מביא את התוכן ומחזיר את הבקשה. בואו אני אראה לכם שנייה מה זה reverse proxy.
כי זה מאוד חשוב שתדעו אם נלך לגוגל נרשום רברס פרוקסי ונעשה תמונות אני רוצה להראות לכם מה זה אז לדוגמה הנה יש לנו פה דוגמא טובה לקוח מגיע מבחוץ הוא עוצר אותו ומביא לו תוכן הנה לקוחות מגיעים מבחוץ הוא עוצר אותם ומביא להם תוכן לבד הנה אינטרנט ראוטר הוא מגיע לרברס פרוקסי והוא כבר מביא לו תוכן מבפנים אוקיי וככה בעצם אם הלקוחות החיצוניים יפנו בפורט 80 לשרת
שלנו, שרת שלנו יהיה פתוח בפורט 80 והוא יקבל בקשות מבחוץ פנימה. משהו כזה מאינטרנט, אתם רואים, הם פונים לפרוקסי, הוא מטפל בבקשות ומחזיר להם תשובה.
יש? יש. אוקיי, הוא יודע להיות גם לועד בלנסר, זה אומר מפזר עומסים אחד לפה, אחד לשם. מייל פרוקסי גם, כמו ב-HTTP פרוקסי, גם במייל, הוא יכול לתפוס את המייל, לבדוק עליו דברים ואז להעביר אותו לשרת הפנימי.
המטרה של זה שאם יש קונקשן מבחוץ והוא סתם פותח מלא קונקשנים ומנסה להפיל לי את השרת אז שיפיל לי את השרת המתווך ולא את השרת האמיתי עם הדואר. כאילו הוא עוצר כמו שומר בכניסה שעוצר את האנשים אומר תעצור אני אביא לך את מה שאתה צריך מהמשרדים ויש ציפי קאש כן לעשות קאשינג כמו פרוקסי רגיל יופי עכשיו מה מה טוב מה אני רוצה לספר לכם שהוא השרת הכי פופולרי בעולם באוגוסט 2009 NGNX משרת 32%
מכל ובסייטים מכל אתרי האינטרנט המדורגים בקיצור מכל אתרי האינטרנט הוא 32% first הוא הראשון מכל אתרי האינטרנט אחריו זה אפאצ'י זאת אומרת באינטרנט כל שרת שלישי מבוסס על NGNX למה בגלל שהוא בעצם reverse פרוקסי מאוד יעיל, זול, אופן סורס, חינמי למעשה, פרי אופן סורס,
וב-2019, במרץ 2019, F5, חברה של לאות בלנסרים, F5 ראוטרים, רוכשת אותם ב-670 מיליון דולר. את החברה שבעצם תומכת ב-Nginx, אוקיי? שזה איגרוף סיסואב הזה, עשה את ה-Nginx, פתח את הקוד שלו, אבל נותן תמיכה טכנית למי שרוצה לשאול אותו שאלות.
קנו את זה ב-670 מיליון, למרות שזה אופן סורס. אוקיי, אז יש לכם פה היסטוריה וכל מיני דברים כאלו, הכי חשוב שהוא יודע להיות רברס פרוקסי, זה מה שהכי חשוב לנו.
הוא יקבל בקשות בפורט 80 וייתן אותן החוצה ללקוחות. טוב, אז זה NGNX, יש לנו פה ממש הסבר איך להפעיל אותו. מה שמעניין אותנו זה קובץ ההגדרות שלו.
אתם רואים יש לו קובץ שנקרא nginx.conf שצריך להיות במקום הזה עם כל ההגדרות. עכשיו כמובן שאתם יכולים ללכת לאתר האינטרנט של nginx ולראות איך מגדירים אותו.
אני כבר עשיתי את זה עבורכם ויש לנו פה את הקובץ ההגדרות שאני שמתי. בואו נעבור עליו מהר. כל החלק הזה למעשה העתקתי מקובץ הגדרות המקורי שהיה, זה שטויות, כל זה שטויות, החלק הזה זה מעניין.
העתיקו את הכל ממני או מכל אתר אינטרנט החלק הזה זה מעניין וזה שני החלקים המעניינים זה וזה מה החלק הזה אומר הוא אומר תקשיב תאזין בפורט 80 אם מישהו מגיע עם בקשת htp וכתוב בפנים client1.com מה שאתה עושה אתה מעביר אותו ל-htp-web-service-wordpress1-service1 אם מישהו מגיע עם בקשה client2.com גם בפורט 80 אבל על קליינט 2 יהיה כתוב תעביר אותו לאתר וורדפרס
2 זה וורדפרס 2 זה וורדפרס 1 הבנתם את מה שאני רוצה להגיד שהוא מעביר לוורדפרס 1 ו-2 לפי החדר או קליינט 1 או קליינט 2 והוא מאזין בפורט 80 וזה נקרא לפזר עומסים ולהיות הוסט הדר מי שרוצה באמת לדעת איך זה נקרא זה נקרא הוסט הדר הכותרת של הבקשת גט זאת אומרת הוא קורא את הבקשת גט של הלקוח ומפזר קליינט 2 הולך
לוורדפרס 2. מה זה וורדפרס 2? בואו נראה, זה מאוד פשוט. פה כתוב וורדפרס 2 עקב סרוויס. מה זה וורדפרס 2 עקב סרוויס?
זה וורדפרס 2 עקב סרוויס. זה כל הקובץ, אין פה משהו אחר, יש פה 25 שורות. אז מה שאנחנו רואים פה זה למעשה הוורדפרס, כאשר יש לי ככה db2 service עם הsql של הלקוח, ווורדפרס 2 סרוויס.
עם wordpress של הלקוח השני, נעבור זריז על ההגדרות שלו, db2service זה אימג' מייסקיואל 5.7, משתנה סביבה שזה כל מיני יוזרים של רוט, דאטאבייס והכל, ווליום, שימו לב mnt client 2 מייסקיואל ובלקוח אחד יהיה אותו דבר רק פה יהיה אחד אוקיי, פה יושב בעצם הדאטאבייס, יושב הדאטאבייס אצלי
בדיסק ואצלו שמה בפנים זה יהיה כאן, כל זה עברנו עליו בוורדפרס 2 סרוויס זה אימי של וורדפרס הוא מחכה שיעלה הקונטיינר הקודם הסרוויס הקודם הוורדפרס מתחבר לDB2 סרוויס הזה עם וורדפרס db שזה וורדפרס db just a user זה just a user שהוגדר בתוך sql just a password הוגדר כאן סופר סיקרט פאספורט פה לא משתמשים בו שזה הרוט ווליום mnt client 2 פה הוא שם את כל התוכן של וורדפרס כל ה-upload
כל הטימים, כל התמונות, ואשים כאן בארדיסק הפיזי שלי, ואעשה שתי רפליקות. עכשיו שימו לב, הוא לא מפרסם אף פורט החוצה. שימו לב, אין פה פרסום של פורטים החוצה.
למה? כי החוצה מפרסם הכל NGNX. הבנתם? היחיד שיחשוף פורטים החוצה זה NGNX. איך NGNX יתחבר לפה? תכף נראה את זה.
אז בואו נתחיל. אז אנחנו נעשה דבר כזה. אנחנו נפתח Control, בוא נעשה כזה דבר, נפתח ונעשה docker stack deploy -c תפרוס לי את ה-deploy של wordpress client1.yaml ונקרא לזה client1 זה יהיה stack של client1 אוקיי בואו נראה שימו לב מה הוא יוצר לנו רשת שנקראת client1 default ובתוך הרשת client1 default יישב כל הדבר
הזה שני הקונטיינרים אוקיי הלאה נעשה אותו דבר עם שתיים עד עכשיו זה שום דבר חדש אין נכון כל זה ראינו ואנחנו יודעים לעשות את זה אז יש לנו פה שניים בואו קצת נחקור אותם נעשה docker service ls אנחנו נראה שיש לנו פה גם את הקליינט אחד stack של קליינט אחד עם db אחד קליינט אחד עם wordpress אחד קליינט שתיים
עם wordpress שתיים וכל זה אנחנו רואים שזה עובד אין אף פורט חשוף החוצה אנחנו יכולים לעשות גם docker stack ls ולראות שיש לנו שני סטייקים אם אנחנו רוצים פירוט לדוגמא על קליינט אחד לדוגמא אנחנו נראה שבקליינט אחד יש שני סרוויסים קליינט אחד קליינט אחד שזה למעשה מה שראינו כאן מה שאני רוצה להראות לכם שאין שום פורט
שחשוף החוצה כי אין לו צורך. דבר אחרון שאני רוצה להראות לכם בדוקר נטוורק אלס אנחנו רואים שנוצרה לנו שתי רשתות חדשות אתם רואים שתי רשתות חדשות קליינט אחד דיפולט וקליינט שתיים דיפולט.
כרגע זה רשתות סגורות שאני לא יכול להתחבר אליהן, יופי. עכשיו אנחנו עושים סטייק חדש של NGNX ופה כל הקסם. מה זה הסטייק הזה?
בואו נראה אותו, נסגור את זה. הסטייק הזה, אני אקרא לו Service NGNX. Service NGNX חושף פורט 80 החוצה באנגרית. אני אומר לו מונט לקובץ קונף הזה, זה הקובץ קונף הזה, זה קובץ קונף שלי, אתם רואים זה הקובץ קונף הזה שדיברנו עליו, אז אני אומר לו, תיקח את הקובץ Conf הזה ותכניס אותו פנימה לתוך ה-Image בתיקיית ETC NGNX
ב-Read Only, נקודתיים Read Only. תעשה לי שלושה NGNXים, אני יכול לעשות אחד, שתיים, כמה שאני רוצה, כמה NGNXים יהיו לי.
שימו לב, בגלל שזה ב-MNT זה מרופלק לכל הנודים. ועכשיו זה החלק המעניין, אני אומר לו, תקשיב, תחבר את הקונטיינר הזה לשתי הרשתות, Client 1 ו-Client 2, שהוא ידע להגיע לשתיהם.
אתם רואים? זה Client 1 דיפולט client2 default אז אני אומר לו אתה מחובר לשני הרשתות האלו יופי וכדי שהוא יכיר אותם בנטוורקס הראשי שימו לב זה נטוורק לקונטיינר וזה נטוורק לכל הטק אני אומר לו תקשיב הטק הזה הולך להשתמש ברשת שנקראת client1 default אבל היא external true מה זה אומר external true שהיא כבר קיימת לא צריך ליצור אותה איך ידעתי שזה כאן בוא נעשה
קונטרול סי מאיפה אני יודע את זה אני הולך פה לדוקר קומפוז פייל רפרנס נכנס לרפרנס ומחפש בתוך רפרנס הנה דוקר קומפוז טרו איפה זה בוא