PracticU

הסבר על
Chart Helm

בלי כתוביותעם כתוביות
PracticU › קורס קוברנטיקס - Kubernetes › הסבר על Chart Helm
מילון מושגים:
CMD - שורת הפקודה הקלאסית של Windows (Command Prompt), להרצת פקודות ותוכניות בממשק טקסטואלי.
פריסה - העברת תוכנה מסביבת פיתוח לסביבה שבה היא תרוץ בפועל, כדי להעמידה לשימוש.
Kubernetes - מערכת לניהול ותזמור של קונטיינרים בקנה מידה גדול, שמפעילה, מרחיבה ומתחזקת אותם אוטומטית.
קלאסטר - קבוצת מחשבים או שרתים שעובדים יחד כמערכת אחת, לשם זמינות גבוהה, ביצועים או חלוקת עומס.
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
חבילה - אוסף ארוז של קוד, ספריות או קבצים המופץ כיחידה אחת ומותקן בעזרת מנהל חבילות.
תמונה - קובץ גרפי המוצג על המסך. בהקשר של וירטואליזציה או Docker, תבנית מוכנה שממנה יוצרים מכונה או קונטיינר.
תבנית - מבנה בסיסי מוכן שממנו יוצרים פריטים דומים, כמו תבנית עמוד או תבנית מסמך.

הסבר על Chart Helm
הופכים את קבצי ה-YAML של האפליקציה ל-chart של Helm, כדי שאפשר יהיה לפרוס אותם, לשדרג, לגלגל אחורה ולמחוק כיחידה אחת.
בניית ה-chart
1. התקנה: ב-CMD כמנהל מריצים winget install Helm.Helm. הפקודה helm version הציגה גרסה 4.2.0.
2. תיקיית templates: יוצרים תת-תיקייה templates ומעבירים אליה את קבצי ה-YAML (deployment ו-service). אלה קבצי Kubernetes רגילים. ה-cluster לא יודע שמשתמשים ב-Helm, כי הכלי מותקן רק בתחנת העבודה.
3. Chart.yaml: Helm מחייב את הקובץ הזה עם שש שורות: גרסת API של Helm (apiVersion שתיים), שם החבילה (Practicu Frontend Chart), תיאור, version של קבצי ה-YAML (0.0.1, ומעלים אותה כשהם משתנים) ו-appVersion שהוא גרסת ה-image (בדוגמה 1.21.0).
4. מניעת כפילות: הגרסה של ה-image הייתה כתובה בשני מקומות. בתבנית ה-deployment מחליפים אותה בסוגריים מסולסלים כפולים, שמפנים לשדה appVersion של ה-chart. Helm מחליף את הביטוי בערך לפני שליחה ל-cluster, כך שמספר הגרסה מתעדכן במקום אחד.
נקודות חשובות
- הקובץ Chart.yaml נשאר במחשב ולא נשלח ל-cluster.
- ה-cluster מקבל YAML רגיל עם מספר גרסה מפורש.
- שני שדות הגרסה עוזרים להבין מה השתנה: קבצי ה-YAML או רק ה-image.
בהרצאה הבאה פורסים את החבילה. אחרי ההרצאה אפשר ליצור chart בסיסי עם templates ו-Chart.yaml ולהפנות גרסת image משדה אחד.
השיעור הבא בקורס: התקנה ושדרוג עם Helm

פרקי ההרצאה: הסבר על Chart Helm

  1. 00:00

    הפיכת קבצי YAML לחבילה אחת

  2. 00:38

    התקנת Helm ותיקיית templates

  3. 01:11

    הקלסטר לא מודע ל-Helm

  4. 01:53

    קובץ Chart.yaml ומידע החבילה

  5. 02:29

    ניהול גרסאות ה-chart

תמלול ההרצאה: הסבר על Chart Helm

הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על Chart Helm» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם. היום אנחנו נהפוך את קבצי YAML האלו לחבילה אחת, לתוכנה אחת לפי תקן של Helm, כדי שנוכל לפרוס אותם כיחידה אחת, למחוק אותם כיחידה אחת, לשדרג או לגלגל אחורה.

  2. 00:16

    הכול ילך כחבילה אחת ולא ככל קובץ בנפרד. זאת המטרה של Helm. קודם כל בואו נתקין את ה-Helm. נעשה CMD, Run as administrator, ואני עושה Wingit Install Helm נקודה Helm.

  3. 00:30

    בואו נבדוק ש-Helm עובד. Helm מינוס מינוס help לא נתן שגיאה. Helm version נותן לנו גרסה נוכחית ארבע שתיים אפס. עכשיו כשיש לנו את ה-Helm מותקן, אנחנו צריכים לבנות חבילה שהוא יבין אותה.

  4. 00:44

    כדי ש-Helm יבין את קבצי ה-YAML שלנו, אנחנו צריכים ליצור תת-תיקייה בשם templates, שבלונות, שלמעשה השבלונות האלו זה קבצי YAML שלנו. אנחנו שמים בפנים את ה-YAML של האפליקציה שלנו, וה-Helm ישלח את הקבצים האלו לקובירנטיס.

  5. 01:01

    למעשה זה קבצי YAML רגילים של קובירנטיס. מבחינת הקלסטר שום דבר לא השתנה. שימו לב שהקלסטר בכלל לא מודע לזה שאני משתמש ב-Helm. מבחינתו של הקלסטר הוא מקבל קבצי YAML רגילים והוא לא יודע כלום על Helm.

  6. 01:17

    Helm מותקן אצלי בתחנת העבודה או אצלי בשרת. הקלסטר של קובירנטיס לא יודע כלום על הכלי הזה. הכלי הזה בא לעזור לי לארגן אצלי את כל קבצי YAML לחבילות שאני אתייחס אליהם כקבוצה אחת, כיחידה אחת.

  7. 01:37

    התוספת הזאת מותקנת אך ורק אצלי במחשב ועושה לי אוטומציה בניהול קבצי YAML. הקלסטר מקבל קבצי YAML רגילים ומבצע אותם. אז עד עכשיו רק יצרתי תיקייה והעברתי לתוכה שני קבצים, אבל אני צריך לתת גם שם לאפליקציה וגרסה ומידע כללי על החבילה הזאת.

  8. 01:57

    אז Helm מחייב קובץ טקסט בשם Chart נקודה YAML. יצרתי פה קובץ ריק. אני נכנס לתוך ה-Notepad ושם פה כמה שורות. בשורה הראשונה אני מציין שזה Helm מגרסה שלוש ומעלה.

  9. 02:12

    התקן שלו נקרא version שתיים. נותן שם לחבילה הזאת. במקרה שלנו זה Practicu Frontend Chart. Chart זה תרשים, חבילה. יש פה Description, תיאור.

  10. 02:24

    הגרסה של קבצי YAML שלי נניח תהיה אפס אפס אחד. כל פעם שאני אשנה קובץ YAML בפנים, נניח אני עושה Edit עם Notepad ומשנה פה משהו בפנים בתוך קובץ YAML, אז את ה-version הזה אני אמור לשנות לאפס נקודה אפס שתיים.

  11. 02:41

    זה לנוחות שלי. מבחינתו של Helm אתה יכול לא לשנות פה כלום, אז ה-version הזה נועד לעזור לי לדעת שקובץ YAML השתנה. ואם קובץ YAML לא משתנה אבל הגרסה של Image משתנה, זאת אומרת התוכנה התעדכנה, המתכנתים הוציאו גרסה חדשה לאפליקציה שלי.

  12. 03:03

    נניח היה לי V1 ונהיה V2 או V3. כשמשתנה רק ה-image וכל השאר נשאר אותו דבר, אז את הגרסה הזאת של ה-image אני כותב אותה פה. לדוגמה גרסה אחד עשרים ואחד נקודה אפס.

לקורס המלא: קורס קוברנטיס – Kubernetes

ההרצאה הקודמת: הסבר על Helm - Kubernetes

ההרצאה הבאה: התקנה ושדרוג - עם Helm

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell
  • קורס Git ו-GitHub עם Visual Studio