במאמר הזה מוסבר איך GKE ב-AWS משתלב עם Cloud Logging ואיך לגשת ליומנים.
סקירה כללית
GKE on AWS תומך ב-Cloud Logging לעומסי עבודה ולרכיבי מערכת שפועלים במישור הבקרה ובצמתים של מאגר הצמתים.
GKE ב-AWS כולל סוכן רישום ביומן שמבוסס על Fluentbit. בצמתים של מישור הבקרה, סוכן הרישום פועל כרכיב מערכת. בצמתים של מאגר הצמתים, הוא פועל כ-Daemonset. אפשר לנהל ולמחוק את הנתונים שנאספים על ידי סוכני הרישום ביומן כמו כל מדד אחר ונתוני יומן, כפי שמתואר במסמכי Cloud Logging.
אילו נתונים נאספים
GKE ב-AWS מתעד את המידע הבא:
- יומנים של רכיבי המערכת בכל אחת מהרפליקות של מישור הבקרה.
- יומנים של שירותי מערכת בכל אחד מהצמתים של מאגר הצמתים.
- אופציונלי: יומנים של עומסי עבודה
הפעלת רישום ביומן של עומסי עבודה
כדי להפעיל את רישום היומנים של עומסי העבודה, צריך ליצור אשכול Kubernetes חדש, בגרסה 1.22 ואילך.
כברירת מחדל, כשיוצרים אשכול GKE ב-AWS, המערכת מפעילה רישום ביומן של המערכת. כדי להפעיל רישום ביומן של עומסי עבודה, צריך ליצור אשכול עם הדגל --logging. אפשר להפעיל את הרישום ביומן לרכיבי מערכת, לעומסי עבודה או לשניהם.
לדוגמה, כדי להפעיל רישום ביומן של המערכת ושל עומסי העבודה באשכול חדש, פועלים לפי ההוראות ליצירת אשכול, אבל כוללים את הדגל --logging בפקודה gcloud:
gcloud container aws clusters create CLUSTER_NAME ... --logging=SYSTEM,WORKLOAD
או כדי לעדכן אשכול קיים:
gcloud container aws clusters update CLUSTER_NAME ... --logging=SYSTEM,WORKLOAD
גישה ליומנים
יש כמה דרכים לגשת ליומנים של GKE ב-AWS ב-Cloud Logging:
Logs Explorer – אפשר לראות את היומנים ישירות מ-Logs Explorer באמצעות מסנני הרישום ביומן כדי לבחור את משאבי Kubernetes, כמו יומני אשכול, צומת, מרחב שמות, פוד או קונטיינר.
Google Cloud CLI – באמצעות הפקודה
gcloud logging read, בוחרים את היומן המתאים של האשכול, הצומת, ה-Pod והקונטיינר.
הסבר על רישומי היומן
יומן ב-Cloud Logging הוא אוסף של רשומות ביומן, וכל רשומה ביומן מתייחסת לסוג מסוים של משאב לרישום ביומן.
סוגי המשאבים
אלה סוגי המשאבים שספציפיים ל-GKE ב-AWS:
| סוג המשאב | השם המוצג |
|---|---|
k8s_control_plane_component |
יומנים של רכיבים במישור הבקרה |
k8s_node |
יומנים של מאגר צמתים |
k8s_container |
יומנים של קונטיינרים של עומסי עבודה |
כש-GKE on AWS כותב את היומנים של האשכול, כל רשומה ביומן כוללת את סוג המשאב. הבנה של המקומות שבהם יומנים מופיעים עוזרת למצוא אותם בקלות כשצריך.
יומנים של Control Plane
יומנים של מישור הבקרה משתמשים בסוג המשאב k8s_control_plane_component. הם כוללים יומנים מרכיבי מערכת שפועלים בעותקים של מישור הבקרה, כמו kube-apiserver.
יומני צמתים
יומני הצמתים שייכים לסוג המשאב k8s_node. הם כוללים יומנים מרכיבי מערכת קריטיים שפועלים בצמתי העובדים, כמו kubelet ו-containerd.
יומנים של אפליקציות מערכת
יומנים של אפליקציות מערכת משויכים לסוג המשאב k8s_container. הם כוללים יומנים של פודים שהותקנו בצמתים של העובדים על ידי GKE ב-AWS.
באופן ספציפי, נכללים קונטיינרים שפועלים במרחבי השמות הבאים:
kube-system
gke-connectgke-systemgmp-systemasm-user-authcnrm-systemconfig-management-systemgatekeeper-systemgmp-publicistio-systemknative-serving
איתור היומנים בממשק המשתמש של Cloud Logging
אפשר לצפות ביומנים באמצעות Logs Explorer בממשק המשתמש של Cloud Logging.
Logs Explorer
אפשר להשתמש בכלי ליצירת שאילתות כדי ליצור שאילתה על ידי הוספה ידנית של פרמטרים של שאילתה. לדוגמה, אם רוצים לעיין ביומנים של עומסי עבודה במערכת, אפשר להתחיל בבחירה או בחיפוש של סוג המשאב k8s_container, ואז לבחור את המיקום ואת שם האשכול. אחר כך אפשר לצמצם את החיפוש באמצעות סינון של שמות המאגרים או ה-Pods.
ב-Logs Explorer יש דרך נוספת ליצור שאילתות חיפוש באמצעות הכלי לחיפוש שדות ביומנים. מוצגת בו ספירה של רשומות ביומן, ממוינות לפי ספירה בסדר יורד, בשדה היומן הנתון. השימוש בכלי לבחירת שדות ביומנים שימושי במיוחד ליומנים של GKE ב-AWS, כי הוא מאפשר לבחור בקלות את ערכי Kubernetes של המשאבים. לדוגמה, אפשר לבחור יומנים של אשכול ספציפי, מרחב שמות, שם Pod ושם מאגר.
מידע נוסף זמין במאמר שימוש ב-Logs Explorer.
שאילתות לדוגמה
בקטע הזה יש שאילתות לדוגמה שאפשר להריץ ב-Logs Explorer.
דוגמה 1: קבלת היומנים של kube-apiserver בצמתים של מישור הבקרה באשכול AWS CLUSTER_NAME:
resource.type="k8s_control_plane_component"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.component_name="apiserver"
דוגמה 2: קבלת היומנים של kubelet בצמתי עובדים עבור אשכול AWS CLUSTER_NAME:
resource.type="k8s_node"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
log_name="projects/PROJECT_ID/logs/kubelet"
דוגמה 3: קבלת היומנים של מאגר cilium-agent עבור אשכול CLUSTER_NAME ב-AWS:
resource.type="k8s_container"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.container_name="cilium-agent"
המאמרים הבאים
- סקירה כללית על Cloud Logging
- שימוש בכלי Logs Explorer
- יצירת שאילתות ל-Cloud Logging
- יצירת מדדים מבוססי-יומנים