עם Google Kubernetes Engine (GKE), אתם יכולים לקבל הנחיות מפורטות לאופטימיזציה של האשכולות.
GKE עוקב אחרי האשכולות שלכם, ואם יש אופטימיזציות פוטנציאליות, הוא מספק הנחיות באמצעות Recommender, שירות שמפיק תובנות והמלצות לשימוש במשאבים ב- Google Cloud. Google Cloud ב-GKE, הכלי Recommenders מספק שני סוגי מידע:
- תובנה מסבירה שמערכת GKE זיהתה שאפשר לבצע אופטימיזציה של השימוש באשכול.
- המלצה מסבירה איך לשפר את השימוש באשכול.
GKE מספק את המידע הזה במסוף, ואפשר גם למצוא אותו באמצעות Google Cloud CLI ו-Recommender API. Google Cloud GKE מספקת כלי המלצות לנושאים הבאים:
- הוצאה משימוש: צמצום החשיפה לתכונות או לממשקי API של Kubernetes שהוצאו משימוש.
- פעולות וקישוריות: פתרון בעיות שקשורות למישור הבקרה ולקישוריות של הצומת, ולניצול כתובות IP.
- אופטימיזציה של עלויות: הטמעה של תצורות ושיטות עבודה שעברו אופטימיזציה של עלויות. לדוגמה, אפשר לזהות אשכולות GKE בלי פעילות, אשכולות GKE עם הקצאת יתר של משאבים ועומסי עבודה עם הקצאת יתר של משאבים.
- יכולת מדרגית: כדאי להטמיע שיטות לשיפור האמינות, כמו הגדלת הקיבולת של אשכולות GKE עם הקצאות-חסר ושל עומסי עבודה עם הקצאות-חסר.
- בקשות למשאבים ומגבלות: כדי להימנע מסיום פתאומי של Pod בלחץ על משאבי הצומת ולשפר את הדיוק של הקצאת העלויות, צריך להגדיר בקשות למשאבים ומגבלות.
- Agones: מבודדים את בקר Agones באשכול.
- שיבושים: חשוב לוודא את המשכיות של עומסי העבודה ואת האפשרות לשחזר אותם במהלך התחזוקה.
- תגובות לפעולה מאתר אחר (webhook): חשוב לוודא שיש יציבות במישור הבקרה כשמשתמשים בתגובות לפעולה מאתר אחר.
- הגנה על נתונים: הבטחה שעומסי העבודה מוגנים מפני אירועים משבשים.
- פרטי כניסה של אשכול: כדי למנוע שיבושים, צריך להחליף את פרטי הכניסה של האשכול.
- ערוצי הפצה: רישום אשכולות לערוץ הפצה.
- חלונות תחזוקה: בוחרים חלון זמן חוזר שבו מתבצעת תחזוקה של אשכול GKE.
- גרסאות נתמכות: מוודאים שהאשכולות מריצים גרסה נתמכת שגם עומדת במדיניות של GKE לגבי הטיה בגרסה. פרטים נוספים מופיעים בקטעים שדרוגים אוטומטיים בסוף תקופת התמיכה ומדיניות לגבי הבדלים בין גרסאות GKE בדף שאליו מפנה הקישור.
- הרשאות של חשבון שירות של צומת: צריך לוודא שלחשבונות השירות של הצמתים יש את ההרשאות הקריטיות שנדרשות לפעולות רגילות של GKE.
- CRD: כדי להבטיח פעולות יציבות של אשכולות, צריך לתקן CRD שהוגדרו בצורה שגויה עם חבילת CA לא תקינה.
- שימוש ב-etcd: צריך לוודא שלמסד הנתונים etcd יש מספיק נפח אחסון כדי למנוע חוסר יציבות באשכול.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:
- מפעילים את ממשק Google Kubernetes Engine API. הפעלת Google Kubernetes Engine API
- אם רוצים להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
התפקידים הנדרשים
מוודאים שיש לכם את ההרשאות הנדרשות לתובנות ולהמלצות לגבי Kubernetes, באמצעות תפקידים בסיסיים או תפקידים מוגדרים מראש:
אפשר לראות תובנות והמלצות עם אחד מהתפקידים הבאים:
צפייה במצב של תובנות והמלצות ועדכון שלו (לדוגמה, סגירת המלצה):
צפייה בתובנות ובהמלצות
אפשר לראות את התובנות וההמלצות באמצעות Google Cloud CLI, במסוףGoogle Cloud או באמצעות Recommender API.
המסוף
כשצופים בהמלצות במסוף, יש שתי אפשרויות. אפשר להשתמש בכרטיס המידע ברמה הגבוהה שמופיע בחלק העליון של התצוגה כדי לראות את התוצאות המצטברות של ההמלצות לגבי תקינות, שדרוג ואופטימיזציה של עלויות בכל האשכולות בפרויקט.
אפשר גם לראות רשימה של המלצות לכל אשכול.
כדי לראות את ההמלצות באמצעות כרטיס הניקוד, פועלים לפי השלבים הבאים:
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud :
כדי לראות את מספר האשכולות שהושפעו מהמלצות ספציפיות, לוחצים על View recommendations (הצגת המלצות) בקטגוריה הרצויה – Health (תקינות), Upgrade (שדרוג) או Cost (עלות). בחלונית סרגל הצד שנפתחת, רשימת ההמלצות מציינת כמה קלאסטרים מושפעים מכל המלצה.
כדי לראות מידע נוסף, כולל השמות של האשכולות המושפעים, לוחצים על שם ההמלצה.
כדי לראות פרטים נוספים על כל אשכול שהושפע, לוחצים שוב על ההמלצה.
כדי לראות המלצות לכל אשכול, מבצעים את השלבים הבאים:
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud :
כדי למצוא תובנות והמלצות, בודקים את העמודה התראות לגבי אשכולות ספציפיים.
כדי לראות מידע נוסף, לוחצים על התובנה. בסרגל הצד שנפתח, אפשר לראות פרטים על התובנה, כולל המלצות שקשורות אליה.
gcloud
בדרך כלל, לכל תובנה יש המלצה תואמת. התובנות מאוחזרות באמצעות gcloud recommender insights וההמלצות מאוחזרות באמצעות gcloud recommender recommendations.
כדי לראות את רשימת התובנות לגבי קבוצות של אזור ספציפי (במקרה של קלאסטרים אזוריים) או אזור ספציפי (במקרה של קלאסטרים אזוריים):
gcloud recommender insights list \ --insight-type=google.container.DiagnosisInsight \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMAT \ --filter="insightSubtype:SUBTYPE"מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: Google Cloud מזהה הפרויקט שבו נמצאים האשכולות. -
LOCATION: האזור או התחום המדויקים של האשכול. באזורים, צריך לציין את האזור המדויק (לדוגמה,us-central1-c). באזורים, צריך לציין את האזור המדויק (לדוגמה,us-central1). -
FORMAT: שינוי פורמט הפלט ל-YAML. הדגל הזה הוא אופציונלי. -
SUBTYPE: תת-סוג של תובנה, לדוגמה:DEPRECATION_K8S_1_23_CERTIFICATE. כך מגבילים את הפלט לתובנות מסוג משנה ספציפי. הדגל הזה הוא אופציונלי.
לחלופין, אם כבר יש לכם מזהה של תובנה, אתם יכולים להריץ את הפקודה הבאה כדי לראות פרטים על התובנה:
gcloud recommender insights describe INSIGHT \ --insight-type=google.container.DiagnosisInsight \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMATמחליפים את
INSIGHTבערך של מזהה התובנה, שמופיע בסוף כתובת ה-URL מהשדהnameשל התובנה.הפלט כולל פרטים נוספים על ההתנהגות ש-GKE זיהה באשכול.
-
כדי לראות את רשימת ההמלצות עבור קבוצות של אזור מסוים (במקרה של קבוצות אזוריות) או אזור מסוים (במקרה של קבוצות אזוריות):
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMAT \ --filter="recommenderSubtype:SUBTYPE"מחליפים את
SUBTYPEבסוג משנה של מערכת המלצות, למשלDEPRECATION_K8S_1_23_CERTIFICATE. כך מגבילים את הפלט להמלצות מסוג משנה ספציפי. הדגל הזה הוא אופציונלי.לחלופין, אם כבר יש לכם מזהה המלצה, אתם יכולים להריץ את הפקודה הבאה כדי לראות את ההמלצה:
gcloud recommender recommendations describe RECOMMENDATION_ID \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMATמחליפים את
RECOMMENDATION_IDבערך השמור שלassociatedRecommendations.recommendationמפלט הפקודה בשלב 1.הפלט כולל הנחיות לגבי פעולות שאולי תצטרכו לבצע כדי לייעל את השימוש באשכול ב-GKE.
API
לכל תובנה יש המלצה תואמת. התובנות מאוחזרות באמצעות REST Resource: projects.locations.insightTypes.insights וההמלצות מאוחזרות באמצעות REST Resource: projects.locations.recommenders.recommendations.
כדי לראות את רשימת התובנות לגבי קבוצות של אזור ספציפי (במקרה של קלאסטרים אזוריים) או אזור ספציפי (במקרה של קלאסטרים אזוריים):
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights?filter=insightSubtype%20%3D%20SUBTYPEמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: Google Cloud מזהה הפרויקט שבו נמצאים האשכולות. -
LOCATION: האזור או התחום המדויקים של האשכול. באזורים, צריך לציין את האזור המדויק (לדוגמה,us-central1-c). באזורים, צריך לציין את האזור המדויק (לדוגמה,us-central1). -
SUBTYPE: תת-סוג של תובנה, לדוגמה:DEPRECATION_K8S_1_23_CERTIFICATE. כך מגבילים את הפלט לתובנות מסוג משנה ספציפי. הדגל הזה הוא אופציונלי.
לחלופין, אם כבר יש לכם מזהה של תובנה, אתם יכולים לראות פרטים על התובנה על ידי שליחת הבקשה הבאה:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights/INSIGHTמחליפים את
INSIGHTבערך של מזהה התובנה, שמופיע בסוף כתובת ה-URL מהשדהnameשל התובנה.גוף התגובה כולל פרטים על ההתנהגות ש-GKE זיהה באשכול.
-
כדי לראות את רשימת ההמלצות עבור קבוצות של אזור מסוים (במקרה של קבוצות אזוריות) או אזור מסוים (במקרה של קבוצות אזוריות):
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations?filter=recommenderSubtype%20%3D%20SUBTYPEמחליפים את
SUBTYPEבסוג משנה של מערכת המלצות, למשלDEPRECATION_K8S_1_23_CERTIFICATE. כך מגבילים את הפלט להמלצות של סוג משנה ספציפי. הדגל הזה הוא אופציונלי.לחלופין, אם כבר יש לכם מזהה המלצה, אתם יכולים להציג את ההמלצה על ידי שליחת הבקשה הבאה:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations/RECOMMENDATION_IDמחליפים את
RECOMMENDATION_IDבערך השמור שלassociatedRecommendations.recommendationמגוף התגובה בשלב 1.גוף התגובה כולל הנחיות לגבי פעולות שאולי תצטרכו לבצע כדי לבצע אופטימיזציה של השימוש באשכול ב-GKE.
ייצוא תובנות והמלצות ל-BigQuery
אתם יכולים להשתמש ב-BigQuery כדי לייצא ולנתח תובנות והמלצות לכל הארגון. מידע נוסף על ייצוא המלצות אל BigQuery
דחייה או שחזור של המלצות
אם אתם לא רוצים לראות יותר המלצה לגבי אשכול במסוףGoogle Cloud , אתם יכולים למחוק אותה. לדוגמה, אם בדקתם את ההמלצה והחלטתם לא ליישם אותה.
אם תסגרו את ההמלצה, היא לא תופיע לאף משתמש שצופה באשכול במסוף. אחרי שסוגרים את ההמלצה, היא לא מופיעה שוב גם אם GKE מזהה את אותה התנהגות.
כשדוחים המלצה, היא מוסתרת רק מכל המשתמשים במסוף. ההמלצה תמשיך להיות זמינה באמצעות Google Cloud CLI ו-Recommender API.
דחיית המלצה
כדי לסגור את ההמלצה, פועלים לפי ההוראות שבקטע הצגת תובנות והמלצות במסוףGoogle Cloud כדי לפתוח את חלונית סרגל הצד, שבה מופיעים פרטים נוספים. בחלונית הזו, לוחצים על הלחצן Dismiss (ביטול).
שחזור המלצה שנדחתה
אפשר לשחזר המלצה שנדחתה על ידי ביצוע ההוראות לשחזור המלצה.