עם Google Kubernetes Engine (GKE), אתם יכולים לקבל הנחיות מפורטות לאופטימיזציה של האשכולות.
GKE עוקב אחרי האשכולות שלכם, ואם יש אופטימיזציות פוטנציאליות, הוא מספק הנחיות באמצעות Recommender, שירות של Cloud de Confiance by S3NS שמפיק תובנות והמלצות לשימוש במשאבים ב- Cloud de Confiance by S3NS. ב-GKE, הכלי Recommenders מספק שני סוגי מידע:
- תובנה מסבירה שמערכת GKE זיהתה שאפשר לבצע אופטימיזציה של השימוש באשכול.
- המלצה מסבירה איך לשפר את השימוש באשכול.
GKE מספק את המידע הזה במסוף, ואפשר גם למצוא אותו באמצעות Google Cloud CLI ו-Recommender API. Cloud de Confiance GKE מספקת כלי המלצות לנושאים הבאים:
- הוצאה משימוש: צמצום החשיפה לתכונות או לממשקי API של Kubernetes שהוצאו משימוש.
- פעולות וקישוריות: פתרון בעיות שקשורות למישור הבקרה ולקישוריות של הצומת, ולניצול כתובות IP.
- אופטימיזציה של עלויות: הטמעה של תצורות ושיטות עבודה שמותאמות לעלויות. לדוגמה, אפשר לזהות אשכולות GKE לא פעילים, אשכולות GKE עם הקצאת יתר של משאבים ועומסי עבודה עם הקצאת יתר של משאבים.
- מדרגיות: כדאי להטמיע שיטות לשיפור המהימנות, כמו הגדלת הקיבולת של אשכולות GKE עם הקצאות-חסר ושל עומסי עבודה עם הקצאות-חסר.
- בקשות למשאבים ומגבלות: כדי להימנע מסיום פתאומי של Pod בלחץ על משאב של הצומת ולשפר את הדיוק של הקצאת העלויות, צריך להגדיר בקשות למשאבים ומגבלות.
- Agones: מבודדים את בקר Agones באשכול.
- שיבושים: חשוב לוודא שיש המשכיות בעומסי העבודה ושאפשר לשחזר אותם במהלך תחזוקה.
- תגובות לפעולה מאתר אחר (webhook): חשוב לוודא שיש יציבות במישור הבקרה כשמשתמשים בתגובות לפעולה מאתר אחר (webhook).
- הגנה על נתונים: מוודאים שעומסי העבודה מוגנים מפני אירועים משבשים.
- פרטי כניסה של אשכול: כדי למנוע שיבושים, צריך להחליף את פרטי הכניסה של האשכול.
- ערוצי הפצה: רישום אשכולות לערוץ הפצה.
- חלונות תחזוקה: בוחרים חלון זמן חוזר שבו מתבצעת תחזוקה של אשכול GKE.
- גרסאות נתמכות: מוודאים שהאשכולות מריצים גרסה נתמכת שגם עומדת במדיניות של GKE לגבי הטיה בגרסה. פרטים נוספים מופיעים בקטעים שדרוגים אוטומטיים בסוף תקופת התמיכה ומדיניות בנושא הטיית גרסה ב-GKE בדף שאליו יש הפניה.
- הרשאות של חשבון השירות של הצומת: חשוב לוודא שלחשבונות השירות של הצמתים יש את ההרשאות הקריטיות שנדרשות לפעולות רגילות ב-GKE.
- CRD: כדי להבטיח פעולות יציבות של אשכולות, צריך לתקן CRD שהוגדרו בצורה שגויה עם חבילת CA לא תקינה.
- השימוש ב-etcd: צריך לוודא שלמסד הנתונים etcd יש מספיק נפח אחסון כדי למנוע חוסר יציבות באשכול.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:
- מפעילים את ממשק Google Kubernetes Engine API. הפעלת Google Kubernetes Engine API
- כדי להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את gcloud CLI. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
התפקידים הנדרשים
חשוב לוודא שיש לכם את ההרשאות הנדרשות לתובנות ולהמלצות לגבי Kubernetes, באמצעות תפקידים בסיסיים או תפקידים מוגדרים מראש:
כדי לראות תובנות והמלצות, צריך להיות לכם אחד מהתפקידים הבאים:
צפייה במצב של תובנות והמלצות ועדכון שלו (לדוגמה, סגירת המלצה):
צפייה בתובנות ובהמלצות
אפשר לראות את התובנות וההמלצות באמצעות Google Cloud CLI, במסוףCloud de Confiance או באמצעות Recommender API.
המסוף
כשצופים בהמלצות במסוף, יש שתי אפשרויות. אפשר להשתמש בכרטיס המידע ברמה הגבוהה שמופיע בחלק העליון של התצוגה כדי לראות את התוצאות המצטברות של ההמלצות בנושא תקינות, שדרוג ואופטימיזציה של עלויות בכל האשכולות בפרויקט.
אפשר גם לראות רשימה של המלצות לכל אשכול.
כדי לראות את ההמלצות באמצעות כרטיס הניקוד, פועלים לפי השלבים הבאים:
נכנסים לדף Google Kubernetes Engine במסוף Cloud de Confiance :
כדי לראות את מספר האשכולות שהושפעו מהמלצות ספציפיות, לוחצים על View recommendations (הצגת המלצות) מתחת לקטגוריה הרצויה – Health (תקינות), Upgrade (שדרוג) או Cost (עלות). בחלונית סרגל הצד שנפתחת, רשימת ההמלצות מציינת כמה קלאסטרים מושפעים מכל המלצה.
כדי לראות מידע נוסף, כולל שמות האשכולות המושפעים, לוחצים על שם ההמלצה.
כדי לראות פרטים נוספים על כל אשכול שהושפע, לוחצים שוב על ההמלצה.
כדי לראות המלצות לכל אשכול, מבצעים את השלבים הבאים:
נכנסים לדף Google Kubernetes Engine במסוף Cloud de Confiance :
כדי למצוא תובנות והמלצות, בודקים את העמודה התראות לגבי אשכולות ספציפיים.
כדי לראות מידע נוסף, לוחצים על התובנה. בחלונית סרגל הצד שנפתחת, אפשר לראות פרטים על התובנה, כולל המלצות שקשורות אליה.
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: Cloud de Confiance by S3NS מזהה הפרויקט שבו נמצאים האשכולות. -
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: Cloud de Confiance by S3NS מזהה הפרויקט שבו נמצאים האשכולות. -
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
דחייה או שחזור של המלצות
אם אתם לא רוצים לראות יותר המלצה לגבי אשכול במסוףCloud de Confiance , אתם יכולים למחוק אותה. לדוגמה, אם בדקתם את ההמלצה והחלטתם לא ליישם אותה.
אם תסגרו את ההמלצה, היא לא תופיע יותר לאף משתמש שצופה באשכול במסוף. אחרי שסוגרים את ההמלצה, היא לא מופיעה שוב גם אם GKE מזהה את אותו דפוס התנהגות.
כשדוחים המלצה, היא מוסתרת רק מכל המשתמשים במסוף. ההמלצה תמשיך להיות זמינה באמצעות Google Cloud CLI ו-Recommender API.
סגירת המלצה
כדי לבטל את ההמלצה, פועלים לפי ההוראות שבקטע הצגת תובנות והמלצות במסוףCloud de Confiance כדי לפתוח את חלונית סרגל הצד, שבה מופיעים פרטים נוספים. בחלונית הזו, לוחצים על הלחצן סגירה.
דחיית המלצות באמצעות Google Cloud CLI
כדי לסגור המלצה באמצעות gcloud CLI, צריך לאתר את הערך etag של ההמלצה הפעילה ולסמן אותה כהמלצה שנסגרה.
רשימת ההמלצות הפעילות: כדי למצוא את ההמלצה שרוצים לבטל, מציגים את רשימת ההמלצות הפעילות עבור האשכול. כדי להחריג המלצות שכבר נדחו, או שהצליחו או נכשלו, משתמשים בדגל
--filter:gcloud recommender recommendations list \ --recommender=RECOMMENDER_ID \ --project=PROJECT_ID \ --location=LOCATION \ --filter="stateInfo.state=ACTIVE"מחליפים את מה שכתוב בשדות הבאים:
-
RECOMMENDER_ID: המזהה של שירות ההמלצות. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS שבו נמצאים האשכולות. -
LOCATION: האזור או התחום המדויקים של האשכול. במקרה של אשכולות אזוריים, צריך לספק את האזור המדויק (למשלus-central1-c). במקרה של אשכולות אזוריים, צריך לספק את האזור המדויק (למשלus-central1).
-
מאחזרים את ה-etag: מוצאים את
RECOMMENDATION_IDמהפלט הקודם ומתארים אותו כדי לאחזר את המצב הנוכחי שלו ואתetag:gcloud recommender recommendations describe RECOMMENDATION_ID \ --recommender=RECOMMENDER_ID \ --project=PROJECT_ID \ --location=LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
RECOMMENDATION_ID: המזהה של ההמלצה שרוצים לבטל.
שימו לב לערך
etagבפלט (לדוגמה,"a770e444b0088a35").-
סימון כהתראה שנסגרה: מריצים את הפקודה
mark-dismissed. Recommender API דורש את הערך המדויק שלetagכדי למנוע מרוץ תהליכים.gcloud recommender recommendations mark-dismissed RECOMMENDATION_ID \ --recommender=RECOMMENDER_ID \ --project=PROJECT_ID \ --location=LOCATION \ --etag='"ETAG_VALUE"'מחליפים את מה שכתוב בשדות הבאים:
-
ETAG_VALUE: הערךetagשמוחזר מהפקודה describe.
-
שחזור המלצה שנסגרה
אפשר לשחזר המלצה שנמחקה על ידי ביצוע ההוראות לשחזור המלצה.