
.kube בתיקיית המשתמש.kustomization.yaml מרכז רשימה של כל קבצי ה-YAML. הפקודה kubectl apply -k מיישמת את כל הרשימה בפקודה אחת, ו-kubectl delete -k מוחקת את כל מה שברשימה.kubectl config view. Network Policy מגביל תקשורת נכנסת ויוצאת לפי namespace ולפי תוויות, ואת ההרצאה אפשר לראות כהדגמה בלבד ולא כרשימה מלאה של אפשרויות ההגדרה.הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על Kubernetes - Namespace» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, אנחנו הקמנו את הכל והכל עובד לנו, רק יש לנו בעיית אבטחה חמורה כי כולם נמצאים באותו ניימספייס וקליינט אחד יכול להיכנס לדאטאבייס של קליינט שתיים, הם יכולים להיכנס אחד לשני לדאטאבייס, בואו נראה שזאת באמת בעיה ואיך אנחנו פותרים אותה ורמז לפתרון זה ליצור ניימספייס נפרד לקליינט אחד וניימספייס נפרד לקליינט שתיים,
אז הם לא יוכלו להיכנס אחד לשני לפודים, כן? להיכנס אחד לשני ולא תהיה ביניהם תקשורת. בואו נעשה עכשיו את הסיפור הזה, נפריד אותם שהם לא יהיו באותו ניים ספייס, אבל נראה שבאמת יש לנו בעיית אבטחה, אני רוצה לוודא שזה באמת בעייתי.
טוב, בואו נראה קודם כל שהכל עובד לנו. גט פודס, לא עובד לנו, מה קרה לנו? ורז'ן, מינוס מינוס שורט, סרבר לא עונה, טוב, לא יודע מה קרה בוא נלך לבנדל שלנו איפה שהורדנו את כל הדברים.
עכשיו אני אספר לכם במקום להריץ כל פעם in vsh אפשר לקחת את הקובץ הזה קיוב ימל ואני אראה לכם מה זה קיוב ימל הזה זה קובץ של כל ההגדרות כמו שעשינו בהרצאה הראשונה לקוברנטיס של כל ההגדרות של הקונטקסט זה לאן להתחבר זה קונטקסט כן וכל ההגדרות של הקלאסטר וזה הגדרות של הקלאסטר והשרת של הקלאסטר וכל הגדרות של הקונטקסט כולל סרטיפיקטים פה.
בקיצור זה קובץ ההגדרות, בואו נסתכל עליו. יש לנו בקלאסטר מי זה הקלאסטר כולל השרת, בקונטקסט יש לנו מי זה היוזר ומה הפרייבט קי של היוזר והפאבליק קי של היוזר. ובשרת יושב אותו מידע ואני מצפין לו את התקשורת עם הפרייבט קי וככה הוא יודע שזה אני כי יש לו את הפאבליק קי שלי.
בקיצור אני לוקח את כל הקובץ הזה, עושה לו קופי לתיקיית הבית, לתיקיית הבית יש פה נקודה קיוב. בואו נראה, עוד פעם קופי, הולך לתיקיית הבית.
הוא אומר לו להראות לי את כל התיקיות הסודיות גם כן. שהוא hidden, מה זה hidden? משהו שמתחיל בנקודה.
ויש לנו פה ב-hidden קיוב, שזה ה-client של הקיוב, כן? תראו, יש לנו את ה-client של הדוקר, זוכרים כל ההגדרות של דוקר קליינט? וזה כל ההגדרות של קיוב CTL, הקליינט ואנחנו מחליפים את הקובץ הזה זאת אומרת אנחנו עושים קופי פייסט יש פה קובץ קונפיג כנראה שזה איזשהו קונפיג שמשהו פה לא עובד לא יודע מה לא עובד כאן
אז אנחנו לוקחים עושים לו rename copy מעיפים אותו לטראש ושמים במקומו את הקונפיג הזה בוא נפתח עכשיו חדש פותחים חדש והקליינט אמור לקחת את הקונפיג החדש זהו הכל עובד לנו יפה מאוד נכון, אז קודם כל פתרנו את הבעיה הזאת, זה לגבי זה.
עכשיו אני רוצה להרוג את כל מה שעשינו איתכם ביחד, כל מה שעשינו לא טוב לי, למה? כי אין הפרדה בין name space אחד לשני, אין הפרדה בין היוזרים, אני רוצה שנקים פודים וסרוויסים, אז אני פותח טרמינל פה, ואני אראה לכם עכשיו משהו, יש לי קובץ customization.yaml, הוא חייב להיקרא ככה,
ויש פה רשימה של כל קבצי הyaml, ואז מה שקורה, אתם רואים יש פה שבע קבצים, שזה בדיוק כל השבע קבצים שנמצאים פה, שמונה פחות אחד שבע, ואז מה שאני עושה, אני עושה במכה אחת קיוב סיטי-אל דליט, תמחק לי, לא מינוס F אלא מינוס K, K זה קוסטומיזיישן, ואומר לו באיזה תיקייה, בתיקה נוכחית,
תחפש את הקוסטומיזיישן ותמחק הכל, הופה, מחק לי הכל. זאת אומרת שעכשיו אם אני אעשה גט פודס, הנה כולם בטרמינטינג, לא רק פודס בטרמינטינג גם סרוויסים הוא מחק לי הכל כאן הוא לוקח את הרשימה אתם רואים כבר את כל הסרוויסים מחק דרך אגב אם אני אעשה קיוב סיטי אל במקום delete apply הוא ייצור לי
הכל מההתחלה כן שימו לב הופה יוצר לי הכל מההתחלה כך אני לוקח כמה קבצי יאמל שם אותם ברשימה אחת בתוך קובץ קוסטומיזיישן ואז כשאני מעריץ אז הוא מבצע אותם אז קיוב סיטי אל נניח get services, הנה הוא יצר לי את כל הסרוויסים, get pods, הוא יצר לי את כל הפודים, שזה מאחורי הקלעים, קונטיינרים,
ועכשיו אני רוצה למחוק את הכל ולעשות הפרדה, ליצור עוד name space אחד. אז מחקנו את הכל, בואו נלך לתיקייה שלי בדסקטופ, הכנתי פה הכל מראש כמובן, נעשה open in terminal, kubectl get nodes, הכל עובד, get pods, אין כלום,
get services, יש רק אחד של קוברנטיס, זה שמקבל API, את כל הפניות של API שלי. טוב, אז אנחנו רוצים לדבר איך אנחנו יוצרים ניימספייס חדש.
עכשיו אני אראה לכם עד שהוא נפתח, שאם אתם תבואו לניימספייסס אנחנו יכולים ללחוץ קריאייט, וכשלוחצים קריאייט מה מקבלים?
קובץ ימל API version 1 kind namespace, ותרשום לבד הלאה מה שאתה רוצה. איזה כיף לנו, ואי אפשר לבחור ניימספייס, כן? כי אנחנו כביכול ברמת שרת יוצרים ניימספייס.
יש. אז זה לא באמת עוזר לי, הממשק הגרפי פה נורא אי, אבל יש לנו פה קובץ ימל שאני הכנתי שמכין את הניימספייס כמו שראינו, נותן לו איזשהו שם, וגם אני נותן לו איזה שם לייבלים.
נניח שזה קרוז, הוא הלקוח השני שלנו, והוא כועס על זה שה-Namespace שלו זמין לכולם. שימו לב, זה לייבלים חסרי משמעות. סתם אני מראה לכם איך לתלות לייבלים.
מסביב לכל אובייקט אפשר לתלות לייבלים, ואז לשלוף מידע לפי לייבלים, לפי תביעות. זה תביעות עזר. טוב, אז אנחנו מריצים את הדבר הזה ויוצרים ניימספייס.
בואו נעשה את זה. קונטרול אסקייפ אני לוחץ, ואני כותב kubectl apply -f קובץ ארבאק קריאייט ניימספייס קליינט 2. עשיתי את זה ניימספייס קריאייטד ואנחנו דרך אגב נוכל כבר לראות כאן בוא נעשה רק רפרש יש לנו ניימספייס חדש אתם רואים זה הניימספייס החדש נוצר לנו
ואנחנו כמובן גם יכולים לעשות קיוב ctl get namespaces ולראות את כל הניימספייסים זה החדש שעשינו כרגע יפה מאוד טוב אז עשינו ניימספייס עכשיו אנחנו צריכים לשייך לניימספייס הזה אובייקטים, נכון?
לשייך אליו אובייקטים של הקליינט 2. איך אנחנו עושים את זה? מאוד פשוט, אנחנו באים ל-MySQL של קליינט 2 ומוסיפים לו רק שורה הזאת, ניימספייס והשם של הניימספייס.
שימו לב, בקליינט 1 אנחנו כתבנו רק את השם בלי לציין את הניימספייס, וכאן אנחנו מציינים את הניימספייס. עכשיו, איך הוא יודע מה לעשות כשלא מציינים לו ניימספייס?
הוא הולך לדיפולט. דרך אגב, כל פקודה שאני שולח, קיוב CTL, איך זה הולך? קונפיקט ויו, בואו נראה בצ'יט. זה הצ'יט שלי, ויש פה ניימספייס, בואו נחפש ניימספייס, הנה ניימספייס, ניימספייס, איפה כל הניימספייסים?
הנה כל העבודה עם ניימספייס, בואו נעשה קיוב קונפיקט גט קונטקסט, לראות את הקונטקסט שלי, לאיזה ניימספייס אני שולח את כל הפקודות ואני רואה פה שאין לי שום ניימספייס אז היוזר שלי שולח את זה לדיפולט אוקיי כשאין כלום זה דיפולט טוב אז יצרנו ניימספייס בואו נתחיל לשייך לשם אובייקטים אז אנחנו נכנסים לקובץ
ימל של קליינט אחד ומשייכים קליינט שתיים יותר נכון ומשייכים אותו לניימספייס שתיים יפה מאוד אתם יודעים מה בוא נעשה גם עוד ניימספייס אחד עבור קליינט אחד אתם רוצים שנעשה ממש הפרדה כזו נעשה עוד ניימספייס ביחד אז אנחנו נעשה דבר כזה עושה עוד קובץ אחד קופי פייסט רינם קליינט אחד ונעשה קליינט אחד בשם תנחשו מי יוני שזה
אני והטלפון שלי זה 999 999 אתם יודעים מה 999 זה הניימספייס שלי אז בואו ניצור אותו קיוב סיטי-אל אפליי מינוס וואי מינוס אפ קובץ בשם קריאט איך זה ארבאק ארבאק ארבאק קריאט ניימספייס קליינט אחד יופי עשינו אותו ועכשיו אנחנו יכולים לעשות קיוב סיטי-אל גט ניימספייסס
יופי אז יש לנו קליינט אחד וקליינט שתיים יופי יש לנו שני ניימספייסים עכשיו אנחנו רוצים לקחת ולהתחיל לשייך אובייקטים לכל ניימספייס אז זה שייך לניימספייס 1 וזה הולך להיות deployment לניימספייס 2. זה אובייקט של deployment שפורס לי את הבודים.
יופי. זה הכל מה שיש פה. אני מחפש כל המקומות שיש בהם פריצה של אובייקטים. אז כאן עשינו, רק אנחנו צריכים פה קליינט 1, כן?
קליינט 1. פה שייכנו אותו לניימספייס 2 וגם שימו לב, יש פה שלוש נקודות, זה אומר עוד אובייקט. האובייקט השני של deployment שייך לניימספייס 2, זה סרוויס וזה דיפלוימנט באותו קובץ.
הלאה, וורדפרס קליינט אחד, קליינט אחד, פה אנחנו יוצרים סרוויס, צריך לשייך אותו לניימספייס אחד, הנה זה זה, מכניסים אותו לכאן, פה זה אובייקט ראשון, שלוש נקודות אתם מחפשים, רואים עוד אובייקט, באמת הדאטה שלו, במידע טכני עליו, מכניסים אותו לניימספייס נפרד.
לקליינט 2 אני רואה הוא שייך לניימספייס 2 וגם כאן הוא משוייך לניימספייס 2. Terrific Web UI בכלל שייך לסיסטם, כן, כל ה-Terrific הזה שייך לעולם של הסיסטם.
אינגריס רול קליינט 1, חוקים של אינגריס שייכים לניימספייס 1 ואינגריס רול 2 שייכים לניימספייס 2, זאת אומרת לכל אחד יהיו גם חוקים משלהם.
עכשיו אם אתם שואלים אותי, תכף אני אראה לכם את כל האובייקטים שקיימים בכל אחד מהניימספייס. זה יצירת ניימספייס עצמו, ניימספייס לא יוצרים בתוך ניימספייס, וזה יצירת ניימספייס, וזה משהו אחר לגבי הרשאות שנגיע אליו בהמשך,