
share data בלי מאפיינים. המידע נשמר בפועל בדיסק הפיזי של ה-node. בהמשך עושים לו mount לקונטיינרים השונים.netcat אם יש חיבור (בדוגמה גוגל בפורט 443, ובמציאות שם של שירות ה-database ופורט 3306), ממתין עשר שניות בין בדיקות ומדפיס הודעה ל-log. כך האתר הראשי לא עולה לפני ה-database.index.html בתיקייה שממופה ל-volume המשותף, ואז ממתין עשר שניות ומדפיס done. שני חיצים מוסיפים לסוף הקובץ ולא מוחקים את התוכן.index.html. כך משתמשים ב-image המקורי של nginx בלי ליצור image משלנו.while true שמדפיס ללוג ומוסיף שעה ותאריך לקובץ אחת לעשר שניות. nginx אינו יודע שמישהו מעדכן את הקובץ.הטקסט המלא של הדקות הראשונות בהרצאה «הרבה קונטיינרים בפוד אחד - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם. בהרצאה זו נקים כמה קונטיינרים בתוך אותו pod, מה שנקרא multi container pod. ושני הקונטיינרים האלו הם מתים ביחד, קמים ביחד, חיים ביחד והם משתפים ביניהם את אותה כתובת IP.
למעשה כל קונטיינר זה כמו תוכנה רגילה ולכל התוכנות במחשב יש את אותו IP של המחשב. כברירת מחדל כל אחד חי את החיים שלו, אבל אני יכול למפות תיקייה מסוימת מתוך קונטיינר לדיסק הפיזי המשותף.
בואו נראה את כל זה בפעולה. קודם כל יש לנו פה קובץ pod נקודה YAML, שבפנים אני כותב שאני הולך להקים pod בשם multi container pod. אני נותן לו כמה תגיות, זה לא חובה.
זה המידע הכללי על ה-pod עצמו. מה קורה בפנים? בפנים יש לנו volume משותף, דיסק משותף, נקרא לו share data. זה למעשה הדיסק הירוק הזה.
אנחנו נותנים לו שם וירטואלי, במקרה שלי share data, ואני לא נותן לו שום מאפיינים. בפועל המידע שיירשם ב-volume הזה יישמר בתוך הדיסק הפיזי של ה-node, של המחשב הפיזי. אז יצרנו volume share data, ואחרי זה אנחנו מחברים אותו, עושים mount לקונטיינרים שונים.
תכף נגיע לכל הנושא של ה-mount. בינתיים אנחנו בשלב הראשון של פשוט להכריז על הקמה של volume משותף, של דיסק משותף. הגענו ל-init containers, שזה הקונטיינרים שנועדו לאתחול ראשוני בלבד.
לדוגמה, יש לנו קונטיינר בשם wait for database. תמתין ל-database שיעלה. הוא מבוסס על image מאוד קטן של Linux. הלינוקס הכי קטן שאני ראיתי, הוא משהו כמו חמש מגה בייט.
ומה קורה ב-image הזה? מורצת הפקודה bin sh, שזה ה-CLI, והוא מריץ command. איזה command? מינוס C, את כל ה-argument הזה.
מה כתוב פה? תמתין עד שתוכנת netcat, שבודקת תקשורת, לא תחזיר תשובה חיובית מגוגל דוט קום בפורט ארבע ארבע שלוש. זאת אומרת, אני מחכה במקרה הזה לגוגל, אבל במציאות הייתי רושם נניח db service פורט שלוש שלוש אפס שש.
ומה הוא עושה בזמן ההמתנה? הוא כותב הודעה על המסך, ממתין ל-MySQL