
helm list מראה שאין חבילות. מתיקיית Chart.yaml מריצים helm install עם שם האפליקציה (pu-frontend) ונקודה לתיקייה הנוכחית. נוצר revision 1.helm status מציג שלושה פודים ב-Running, service מסוג load balancer עם IP חיצוני ו-deployment. בגלישה אליו מתקבל "Welcome to nginx" קצר.kubectl get pods ו-get service עובדים כרגיל.version ל-2 ו-appVersion ל-latest, ואז helm upgrade מהתיקייה הנוכחית. helm history מראה revision 2 במצב deployed ואת הראשון כ-superseded. נשארו שני פודים, ואחרי רענון ההודעה בדפדפן נהייתה ארוכה יותר, כלומר ה-image התעדכן.helm uninstall מוחק את כל האפליקציה, פודים ו-service כאחד. הוא גם מוחק את ה-Secrets של הגרסאות, ולכן ה-History לא זמין אחריו.helm list, helm install, helm status, helm history, helm upgrade, helm rollback, helm uninstall.הטקסט המלא של הדקות הראשונות בהרצאה «התקנה ושדרוג עם Helm» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם. היום אנחנו נפרוס את אפליקציית Helm שלנו בתוך הקלסטר של קוברנטיס. כרגע אני אעבור אימות מול G Cloud Authentication Login מול הענן שלי, ועכשיו אפשר לעשות helm list, לראות חבילות תוכנה שמותקנות בתוך הקוברנטיס שלי, והפלא ופלא, אין לי אף אפליקציה מוכנה, אין לי אף חבילה מוכנה.
אני נמצא כרגע בתוך התיקייה עם Chart YAML, הקובץ שמתאר את האפליקציה, ואפשר להריץ פקודת helm install. Helm תתקין לי אפליקציה בשם pu-frontend. אני יכול לתת לה כל שם שאני רוצה.
נקודה זה אומר תיקייה נוכחית. זה איפה נמצא קובץ Chart.YAML. תוך כמה רגעים Helm התקין לי את האפליקציה שלי. שימו לב Revision אחד, גרסה מספר אחת, כי עוד לא עשינו שדרוגים, ואם אני עושה helm list אני רואה את השם של האפליקציה, גרסה מספר אחד ואת השם שלה מתוך קובץ Chart.YAML.
בואו עכשיו נבדוק את הסטטוס של האפליקציה שלנו. בתוך הסטטוס אנחנו רואים את כל הפודים. במקרה שלנו יש שלושה פודים, שלושה אתרי אינטרנט שעונים ללקוחות והם במצב Running.
יש לנו service אחד, load balancer, שדרכו מתחברים הלקוחות. אני רואה שהוא כבר קיבל כתובת IP חיצונית ויש לנו גם deployment. ה-deployment הזה אחראי לוודא שבכל רגע נתון יש שלושה פודים באוויר שמטפלים בלקוחות, ואם פוד אחד ייפול, הוא ישר יעלה במקומו פוד חדש.
למעשה מה שלרוב נופל זה לא הפוד אלא הקונטיינר שבתוך הפוד, ואז הקוברנטיס הורג את הקונטיינר ומרים בתוך אותו פוד קונטיינר חדש, ובכל רגע הוא מוודא שיש שלושה פודים תקינים.
ואת כל המידע הזה אני מקבל בעזרת helm status. ממש, ממש נוח. בואו נתחבר ל-service, נבדוק שאכן הכול עובד ואני מקבל Welcome to nginx.
שימו לב, ההודעה יחסית קצרה. עוד מעט נשדרג את הגרסה של nginx ותראו שההודעה פה נהיית יותר ארוכה. כמובן שגם הפקודות הרגילות של kubectl עובדות רגיל לחלוטין.
למעשה קוברנטיס לא מודע לעובדה שאני עובד עם Helm. מבחינתו שלחתי לו קבצי YAML רגילים. הוא לא יודע ש-Helm עוזר לי לנהל את הכול כחבילה אחת.
אז kubectl get pods עובד, kubectl get service עובד. כל הפקודות הרגילות של kubectl עובדות. Helm זה הנשק הסודי שלי שבא לעזור לי אצלי במחשב.
קלסטר לא מודע לכל זה. Helm יודע גם להראות לי את כל ההיסטוריה של האפליקציה, שאני מזכיר לכם שאפליקציה זה כמה קבצי YAML שמבחינתי משרתים מטרה אחת, ואני רואה פה ב-History שיש לי כרגע גרסה מספר אחת ואת הנתונים שלה.
אני יכול לעשות Upgrade, לשדרג משהו. נניח החלטתי לחסוך ואני רוצה רק שתי רפליקות, שני פודים באוויר ולא שלוש. ברגע שאני משנה משהו בתוך קובץ YAML, אז אני