פיקוד קנה מידה אוטומטי של Kubectl

Pyqwd Qnh Mydh Wtwmty Sl Kubectl



Kubernetes מספקת יכולת קנה מידה אוטומטי לניהול המשאבים באופן אוטומטי ללא אינטראקציה אנושית. הפונקציה האוטומטית משנה אוטומטית את מספר הצמתים בעת הצורך וחוסכת משאבים. במאמר זה, נלמד כיצד לפרוס את הפקודה 'kubectl autoscale' ואת קנה המידה האוטומטי של 'HorizontalPodScaler'. מדריך זה מלמד את המושג החשוב הזה בפירוט. בואו נדון תחילה מהו הרעיון של kubectl autoscale ולאחר מכן נתקדם לתהליך שלב אחר שלב להבנה טובה יותר. מאמר זה שימושי מאוד אם אתה חדש בקונספט של קנה מידה אוטומטי של Kubernetes.

מהו Kubectl Autoscale?

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

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







ישנם שני סוגים של קנה מידה: (1) HorizontalPodScaler ו-(2) קנה מידה אנכי. קנה המידה האופקי שונה מהקנה המידה האנכי. ה- HorizontalPodScaler מסייע בהפחתה או הגדלה של תרמילים בעת הצורך. מצד שני, ה-Vertical scaler משתמש במשאבים כגון CPU וזיכרון.



להלן כל השלבים שאתה יכול לבצע במערכת שלך ולראות את הפלט להבנה טובה יותר.



שלב 1: התחלת אשכול Minikube

בשלב הראשון, הפעל את הכלי minikube כדי להפעיל את אשכול Kubernetes כך שנוכל לבצע את הפקודה 'kubectl autoscale'. אתה יכול להגדיר את הצמתים, הפודים ואפילו אשכול בסביבת Kubernetes באמצעות אשכול המיניקוב. כדי לעשות זאת, השתמש בפקודה הבאה כדי לשמור על ה-minikube במצב פעיל:





~$ התחל מיניקוב

כפי שניתן לראות בצילום מסך הפלט הבא, פקודה זו מאפשרת את אשכול ה-minikube והופכת את סביבת Kubernetes לשמישה:

שלב 2: קבל את פרטי הפוד

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

~$ kubectl לקבל תרמילים

באמצעות הפקודה הקודמת שהיא 'kubectl get pods', נוכל לקבל את רשימת כל הפודים הפועלים באשכול Kubernetes.

לאחר ביצוע הפקודה 'get pods', נקבל את הפלט הבא:

  צילום מסך של תוכנית מחשב תיאור שנוצר אוטומטית עם ביטחון נמוך

שלב 3: קבל את הפריסות של Pod

בפקודה הקודמת 'kubectl get pods', אנו מקבלים את הפרטים של pods. כעת, אנו משתמשים בפקודה 'קבל פריסה' כדי לקבל את רשימת הפריסות שנוצרו. הסקריפט הבא מופעל למטרה זו:

~$ kubectl לקבל פריסות

לאחר ביצוע הפקודה, צילום המסך הבא מציג את הפלט:

שלב 4: פריסה בקנה מידה אוטומטי

הפקודה autoscale משמשת לבחירת אוטומציה של פודים הפועלים באשכול. על ידי פריסת ה-autoscale באשכול, אנו מכניסים ומפסיקים באופן אוטומטי את מספר הצמתים. הסקריפט הבא מבוצע באשכול ה-minikube והוא מציג את שם הקובץ, מינימום pods ומקסימום pods כאשר הפודים צריכים להיות בין 2 ל-10:

~$ פריסת kubectl autoscale nginx1-deployment1 --דקה = 2 --מקסימום = 10

לאחר ביצוע הפקודה נוצר הפלט הבא:

שלב 5: צור קובץ Kubernetes YAML

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

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

בצע את השלבים המפורטים כאן כדי ליצור קובץ YAML באמצעות ננו:

  • כדי ליצור קובץ חדש או לשנות קובץ קיים, נווט אל מיקום הספרייה הרצוי.
  • הקלד 'ננו'. לאחר מכן, כתוב את שם הקובץ. לדוגמה, אם ברצונך ליצור שם קובץ חדש, רשום את השם - 'deploo.yaml'.

הפעל את הסקריפט הבא וצור קובץ YAML בספריית הפרויקט:

~$ nano deploo.yaml

לאחר יצירת הקובץ 'deploo.yaml', השלב הבא הוא להגדיר את קובץ ה-YAML. אנו מסבירים זאת בשלב הבא.

שלב 6: תוכן קובץ YAML

בשלב זה, נוכל להגדיר בקלות את שרת Apache וקבצי PHP. לפני שנשתמש ב- HorizontalPodScaler, עלינו להגדיר את מוניטור עומס העבודה. כפי שקטע הקוד הבא מציג את סוג:פריסה, היציאה של דפדפן האינטרנט היא 90 ומגבלת ה-CPU היא 200 מטר.

אתה יכול לראות את המידע המלא על הקובץ 'deploo.yaml' כאן:

apiVersion : apps/v1
סוג
: פְּרִיסָה
מטא נתונים
:
שֵׁם
: php
מפרט
:
בוחר
:
matchLabels
:
לָרוּץ
: php-apache
תבנית
:
מטא נתונים
:
תוויות
:
לָרוּץ
: php-apache
מפרט
:
מיכלים
:
- שם
: php
תמונה
: registry.k8s.io/hpa-example
נמלים
:
- ContainerPort
: 90
אֶמְצָעִי
:
גבולות
:
מעבד
: 200 מ'
בקשות
:

מעבד
: 100 מ'
---
apiVersion
: v1
סוג
: שֵׁרוּת
מטא נתונים
:
שֵׁם
: php
תוויות
:
לָרוּץ
: php-apache
מפרט
:
נמלים
:
- נמל
: 70
בוחר
:
לָרוּץ
: php-apache

שלב 7: צור את הפריסה

בשלב זה, בואו ניצור את קובץ ה-YAML בשם 'deploo.yaml'. הסקריפט הבא מבוצע באשכול ה-minikube:

~$ kubectl צור -f deploo.yaml

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

שלב 8: צור את HorizontalPodScaler

בשלב זה, נראה לך את הפקודה ליצירת HorizontalPodAutoscaler. התרמילים מוכנסים ומופסקים אוטומטית בהתאם לביקוש. זה נבדל מקנה מידה אנכי, לפיו משאבי המעבד והזיכרון מוקצים על ידי קנה מידה אוטומטי. הסקריפט הבא מבוצע באשכול ה-minikube:

~$ פריסה אוטומטית של kubectl php -- מעבד - אָחוּז = חמישים -- דקה = 10 -מקסימום = עשרים

כאן, אתה יכול לראות שאנחנו מגדירים את הערכים של מינימום ומקסימום ל-10 ו-20.

מצורף הפלט של הפקודה הקודמת:

שלב 9: בדוק את HorizontalPodScaler

בשלב זה, אנו בודקים את המצב הנוכחי של HorizontalPodAutoscaler שנוצר לאחרונה. הפקודה הבאה מבוצעת:

~$ kubectl קבל hpa

סיכום

אחת התכונות השימושיות ביותר של Kubernetes היא 'kubectl autoscale' המספק עדכוני משאבים אוטומטיים באשכול Kubernetes. Autoscaler עוזר כאשר אשכול צריך להגדיל את התרמילים או להקטין את התרמילים. במאמר זה, למדנו את שתי שיטות קנה המידה האוטומטי - האחת היא ברירת המחדל האוטומטית והשנייה היא HorizontalPodScaler.

ראשית, פרסנו את התרמילים והכרזנו עליהם. לאחר מכן, יצרנו את ה-autoscaler והגדרנו את שרת Apache לפרוס את מוניטור עומס העבודה לפני HorizontalPodScaler. לאחר מכן, יצרנו קובץ YAML ואת HorizontalPodScaler. מאמר זה התמקד בשלבים המפורטים של יצירה, הגדרה ופריסה של ה-Autoscale Kubernetes.