בדף הזה מוסבר איך להשתמש ב-Pub/Sub כדי לקבל התראות לגבי אשכולות Google Kubernetes Engine (GKE).
ב-GKE, כברירת מחדל, ההתראות האלה מנותבות אל Cloud Logging. אתם יכולים להשתמש בכל היכולות של Cloud Logging, כולל שליחת שאילתות וצפייה ביומנים והגדרה של כללי מדיניות להתראות שמבוססות על יומנים. כדי למצוא את היומנים האלה ב-Cloud Logging, אפשר לעיין במאמר הצגת התראות של אשכול ב-Cloud Logging.
סקירה כללית
כשמתרחשים אירועים מסוימים שרלוונטיים לאשכולות GKE, כמו שדרוגים חשובים מתוזמנים או עלוני אבטחה זמינים, מערכת GKE מפרסמת התראות לגבי האירועים האלה כהודעות בנושאים של Pub/Sub שאתם מגדירים. אפשר לקבל את ההתראות האלה במינוי ל-Pub/Sub, לשלב אותן עם שירותים של צד שלישי ולסנן אותן לפי סוגי ההתראות שרוצים לקבל.
מידע נוסף על היתרונות של התראות מקובצות, על אופן הפעולה של ההתראות ועל החשיבות של סינון זמין במאמר התראות מקובצות. אפשר להגדיר התראות על אשכולות באשכולות רגילים חדשים וקיימים, וגם לעדכן אשכולות קיימים במצב Autopilot.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:
- מפעילים את ממשק ה-API של Google Kubernetes Engine. הפעלת Google Kubernetes Engine API
- אם רוצים להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
יצירת נושא Pub/Sub אפשר ליצור נושא בפרויקט של האשכול או בפרויקט אחר בארגון.
מוודאים שיש לכם אשכול קיים של Autopilot או Standard. אם אתם צריכים אשכול כזה, צריך ליצור אשכול Autopilot.
הרשאות לקבלת התראות לגבי אשכולות בפרויקטים שונים
כדי להשתמש בנושא Pub/Sub מפרויקט אחר מהפרויקט של האשכול, צריך להקצות את התפקידים הבאים מחשבון השירות service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.comבפרויקט של האשכול:
הפעלת התראות לגבי אשכול קיים
אפשר להפעיל התראות על אשכול GKE באשכול קיים באמצעות Google Cloud CLI או מסוף Google Cloud .
אפשר ליצור נושא אחד לכל האשכולות, או ליצור כמה נושאים לקבוצות של אשכולות.
gcloud
כדי להפעיל התראות על אשכול קיים, מריצים את הפקודה הבאה:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_NAME,filter=NOTIFICATION_TYPE
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול. -
CONTROL_PLANE_LOCATION: המיקום של מישור הבקרה של האשכול ב-Compute Engine. מציינים אזור לאשכולות אזוריים או אזור זמין לאשכולות אזוריים. -
TOPIC_PROJECT_ID: מזהה הפרויקט ב- Google Cloud של נושא ה-Pub/Sub. אם פרויקט הנושא שונה מפרויקט האשכול, צריך לוודא שהענקתם את ההרשאות הנדרשות. מידע נוסף זמין במאמר בנושא הרשאות להודעות על אשכולות בפרויקטים שונים. -
TOPIC_NAME: השם של נושא ה-Pub/Sub.
NOTIFICATION_TYPE: רשימה של סוגי ההתראות שרוצים לקבל, מופרדת באמצעות קו אנכי (|). לדוגמה,filter="UpgradeEvent|SecurityBulletinEvent"רק התראותUpgradeEventו-SecurityBulletinEventנשלחות, וכל שאר הסוגים מושבתים.
המסוף
כדי להפעיל התראות לגבי אשכול קיים:
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud .
לוחצים על השם של האשכול שרוצים לשנות.
בקטע אוטומציה, ליד התראות, לוחצים על עריכת התראות.
בתיבת הדו-שיח עריכת התראות, מסמנים את התיבה הפעלת התראות.
מהרשימה הנפתחת, בוחרים את נושא ה-Pub/Sub שיצרתם.
כדי לסנן את ההתראות, מסמנים את התיבה סינון סוגי ההתראות ואז בוחרים את סוגי ההתראות שרוצים לקבל.
לוחצים על שמירת השינויים.
אחרי שמפעילים את ההתראות, בוחרים את סוג המינוי לנושא.
סינון התראות לגבי אשכולות
כדי לוודא שאתם מקבלים את ההתראות שאתם רוצים, אתם יכולים לסנן את ההתראות לפי סוג ההתראה.
אפשר לסנן את ההתראות באחת מהשיטות הבאות:
- GKE: מציינים ערכים ל-
filterב---notification-configflag, כמו בדוגמאות הקודמות להפעלת התראות על אשכולות. - Pub/Sub: כשיוצרים מינוי, אפשר להגדיר סינון של הודעות במינוי ל-Pub/Sub.
שינוי מסננים קיימים ב-GKE
כדי לשנות את מסנני ההתראות של אשכול GKE קיים, פועלים לפי ההוראות במאמר הפעלת התראות באשכול קיים ומציינים את סוגי ההתראות החדשים שרוצים לסנן בפקודה gcloud או בוחרים את הסוגים החדשים במסוף Google Cloud .
השבתת מסננים ב-GKE
אתם יכולים להשבית את מסנני ההתראות של GKE ולקבל את כל סוגי ההתראות שרלוונטיים לאשכול באמצעות ה-CLI של gcloud או Google Cloud המסוף.
gcloud
כדי להשבית את המסננים באמצעות ה-CLI של gcloud, מריצים את הפקודה הבאה:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_NAME
המסוף
כדי להשבית מסננים באמצעות מסוף Google Cloud :
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud .
לוחצים על השם של האשכול שרוצים לשנות.
בקטע אוטומציה, ליד התראות, לוחצים על עריכת התראות.
בתיבת הדו-שיח עריכת התראות, מבטלים את הסימון בתיבת הסימון סינון סוגי התראות.
לוחצים על שמירת השינויים.
אימות ההגדרה של התראות מקובצות
במצב Autopilot, אפשר לאמת את ההתראות על האשכול באופן הבא:
- מתחילים שדרוג של מישור הבקרה.
- ממתינים ש-GKE ישדרג אוטומטית את הצמתים לגרסה החדשה. הזמן שנדרש עשוי להשתנות בהתאם לחלונות התחזוקה וההחרגות שהוגדרו.
- אחרי ש-GKE משדרג את הצמתים, צריך לבדוק את המינוי ל-Pub/Sub.
במצב רגיל, אפשר לאמת התראות על אשכולים באופן הבא:
שדרוג מאגר צמתים ספציפי לגרסה חדשה אם לא רוצים לשנות את גרסת GKE בצמתים, אפשר לשדרג לאותה גרסה שמותקנת כרגע בצמתים.
אחרי ש-GKE משדרג את הצמתים, צריך לבדוק את המינוי ל-Pub/Sub.
אפשר לאמת את ההגדרה באופן ידני רק עבור סוג ההתראה UpgradeEvent. אם המסננים שלכם מוגדרים להתעלם מהסוג הזה, לא תראו הודעה.
השבתת התראות לגבי אשכולות
אפשר להשבית את ההתראות על אשכולות באמצעות ה-CLI של gcloud אוGoogle Cloud המסוף.
gcloud
כדי להשבית את ההתראות באמצעות ה-CLI של gcloud, מריצים את הפקודה הבאה:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=DISABLED
המסוף
כדי להשבית את ההתראות באמצעות מסוף Google Cloud :
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud .
לוחצים על השם של האשכול שרוצים לשנות.
בקטע אוטומציה, ליד התראות, לוחצים על עריכת התראות.
בתיבת הדו-שיח עריכת התראות, מבטלים את הסימון בתיבת הסימון הפעלת התראות.
לוחצים על שמירת השינויים.
אם רוצים, מוחקים את נושא ה-Pub/Sub שיצרתם בשביל ההתראות.
המאמרים הבאים
- מידע נוסף על התראות לגבי אשכולות
- מידע על הגדרת התראות Pub/Sub
- איך מגדירים התראות על אשכולות לשירותים של צד שלישי
- איך מגדירים קלאסטרים לקבלת התראות באימייל