
kubectl autoscale deployment frontend עם יעד CPU של 60 אחוז. kubectl apply -f יוצר אובייקט horizontal pod autoscaler, ו-get all מראה אותו עם המינימום והמקסימום.kubectl get hpa -w מציג רפליקות ועומס בזמן אמת, בצד kubectl top pod.הטקסט המלא של הדקות הראשונות בהרצאה «הגדלה אוטומטית של קלסטר בעומס HPA Kubernetes» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם. היום אנחנו נלמד על אובייקט חדש בתוך קוברנטיס שעוקב אחרי העומס שיש על הפרונט אנד שלנו, על הפוד שלנו, ואם הוא צרך יותר משישים אחוז מהמשאבים הרגילים שלו, ממה שנתנו לו פה ב-request, בהגדרות של ה-deployment של הפוד.
זאת אומרת שהוא הגיע לשישים אלפיות הליבה, שישים אחוז מהנורמל שלו. אנחנו לא רוצים לקחת סיכון והאובייקט הזה של horizontal pod autoscaler יעשה בצורה אוטומטית scale.
יגדיל את כמות הפודים של הפרונט אנד עד שהמערכת תתייצב על שישים אחוז מהנורמה שהוגדרה לה פה ב-request. אבל זה לא יעבור עשרה פודים, כי אחרת החשבון שלי יתנפח.
אם איזה האקר ימצא איזשהו API אצלי בפרונט אנד שמעמיס על השרת וייצור לי עומס וירטואלי שאני לא אפשוט רגל בגללו. אז אני נותן מקסימום עד עשרה פודים. מינימום פוד אחד.
נניח בלילה כשאין עומס הוא יכול לרדת עד פוד אחד. והאובייקט הזה ינהל את כמות הרפליקות, את כמות הפודים שיש בתוך הפרונט אנד. בקיצור, זה יתנהל הכול אוטומט לפי ה-CPU.
אז ככה מגדירים אותו בקובץ YAML. אפשר להגדיר אותו גם בשורת פקודה בצורה אימפרטיבית, בצורה פקודה ישירה. kubectl autoscale deployment בשם frontend עם rough של CPU שישים אחוז.
אז אפשר את זה בפקודה ואפשר לשים בקובץ YAML ולצרף אותו לפרויקט. ואז כשאני עושה apply נקודה, גם ה-YAML הזה יעבור פריסה בתוך הקלסטר יחד עם כל הקובצי YAML הרגילים.
אני עושה open folder in cmd, פותח את התיקייה הזאת ב-CMD ואני עושה kubectl apply מינוס F ונותן לו את השם של הקובץ. הוא יצר אובייקט מסוג horizontal pod autoscaler.
ב-kubectl get all אנחנו רואים שיש לנו רק פוד אחד של פרונט אנד, כי כרגע אין עומס, ופה למטה אפשר לראות שיש אובייקט חדש, ה-autoscaler שלנו, שעוקב אחרי ה-deployment של פרונט אנד ומבחינתו ה-CPU לא צריך לעבור שישים אחוז.
מינימום פוד אחד צריך להיות, מקסימום עשרה פודים. כרגע יש אחד והאובייקט הזה נוצר לפני ארבעים ושש שניות. בואו נתחיל לעקוב אחרי העומס.
נפתח פה עוד CMD ונכתוב kubectl get HPA. תביא לי מידע לגבי HPA הספציפי הזה. מינוס watch. תעקוב ואל תצא מהפקודה. כרגע אנחנו מתחילים ברפליקה אחת.
תכף נראה איך הכול משתנה כשאני מפעיל עומס. ופה, מבחינת get pods, אם תביא את פרונט אנד, יש גם רק אחד. עכשיו אני מייצר עשרה פודים שמדמים לקוחות. אני עושה kubectl scale.