
kubectl run, אפשר לתאר פוד בקובץ YAML שמגדיר את התוצאה הרצויה. ההרצאה בונה קובץ כזה, משנה בו דרישות חומרה, ומוסיפה לו תוויות לסינון.pod.yaml. בו פוד בשם nginx-pod עם קונטיינר אחד מ-image של nginx. את חלק הפורט מוחקים, כי התקשורת תילמד בנפרד.kubectl apply -f pod.yaml. מתקבלת הודעה שהפוד נוצר. kubectl describe מראה אירועים (תזמון ל-node, משיכת image, יצירת הקונטיינר), את ה-node, ה-IP של הפוד וה-limits.kubectl delete pod. מוסיפים בקובץ resources ובו requests של שני מעבדים וארבעה ג'יגה זיכרון, ומריצים apply שוב. בניסיון הראשון נכשל כי requests חייב להיות תחת resources, ויש מבנה קבוע לקובץ.kubectl run mypod עם --dry-run=client, פלט בפורמט YAML ושמירה לקובץ. מקבלים קובץ מוכן, ושם מוחקים את הסוגריים של resources ורושמים שמונה מעבדים ושמונה ג'יגה. שורה לא תקינה בגלל רווחים תוקנה בעריכה. בינתיים הפוד היה במצב Pending.describe רואים למשל run=mypod. מסננים עם kubectl get pods ו--l. אפשר להוסיף ב-YAML עוד תוויות כמו environment, team, app או version, ולהריץ apply בלי למחוק את הפוד. הקלסטר מזהה את השינוי ומעדכן אותו (configured). מסננים גם לפי שתי תוויות ביחד.הטקסט המלא של הדקות הראשונות בהרצאה «קובץ YAML Kubernetes» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם. בסרטון זה ניצור pod בעזרת קובץ YAML שמתאר את התוצאה הסופית שאני רוצה לקבל. הוא מתאר לי את ה-pod. לדוגמה, מאיזה image אני רוצה ליצור אותו.
בוא נעתיק את הדוגמה מתוך האתר של קוברנטיס. ניצור בשולחן העבודה קובץ טקסט חדש. נקרא לו pod.yaml. נעשה right click, Edit in Notepad ונדביק את הדוגמה שלנו.
ניתן לראות כאן שאנחנו יוצרים pod חדש בשם nginx-pod, ובתוך ה-pod יש קונטיינר בשם nginx container, והקונטיינר הזה מבוסס על image של nginx והוא מבקש לפתוח port שמונים.
דרך אגב, בתוך אותו pod, בתוך אותה קפסולה, אני יכול לשים כמה קונטיינרים ביחד. נעשה את זה בסרטון הבא. כרגע אני מתעסק ב-pod שבפנים יש רק קונטיינר אחד, וזה שרת web שיושב על port שמונים.
בואו רק נוריד את הנושא של ה-port, כי אני לא רוצה להתעסק בתקשורת כרגע. אני מוחק את זה. אני משאיר רק יצירה של ה-pod, ובפנים יצירה של קונטיינר אחד nginx.
כל נושא התקשורת יטופל בסרטון נפרד, כי יש שם הרבה מה ללמוד. בואו נשמור את הכול. נעשה File, Save. כרגע אין לנו אף pod.
אני בודק שpod.yaml נמצא בתיקייה הנוכחית. אכן קובץ קיים, מאה שישים ושמונה בתים. זה אומר מאה שישים ושמונה תווים, אותיות. ואני יכול להריץ kubectl apply. תיישם בתוך הקלאסטר את מה שאני אתן לך בקובץ pod.yaml.
ובדקתי ש-pod YAML קיים אצלי בתיקייה הנוכחית. הוא כותב לי פה אזהרות, אני מתעלם מהם. מה שחשוב לי ש-pod בשם nginx-pod is created.
ב-kubectl get pods אני רואה את ה-pod שלנו. אני יכול לעשות describe ולראות את מה שיש בפנים. קודם כל אני מסתכל פה בסוף. יש eventים, אירועים שהיו.
האירוע הראשון כאן אני רואה שזה schedule. זה תזמון הקצאה של ה-pod שלנו על node פיזי מסוים בקלאסטר. BL9W זה השרת שנבחר להריץ את ה-pod הזה. אחרי זה מטפלים ב-image.
ה-image כבר קיים. כבר הורדנו אותו בסרטונים קודמים. ואז נוצר הקונטיינר. ה-describe הזה מראה לי את כל האירועים שקרו בפנים בתוך ה-pod, ולמעלה שלו ב-kubectl describe, הכי למעלה אני רואה את השם של ה-pod.
אני רואה את השרת הפיזי ואת ה-IP שלו. שרת פיזי נקרא node, node בקלאסטר. אני רואה את הלימיט, את המקסימום שמותר לו לצרוך, ואת ה-IP של ה-pod, את ה-IP הפנימי שלו.
שימו לב, זה IP של השרת הפיזי וזה IP של ה-pod. ולמעשה קונטיינר יכול לדבר עם קונטיינר אחר. שרת יכול לדבר עם שרת אחר דרך IP הפנימי הזה בלי להתעסק ב-IP חיצוני.
ובפנים אנחנו רואים nginx container. יש לנו קונטיינר אחד שדורש שני ג'יגה