התכונה GKE Dataplane V2 observability מספקת מדדים ותובנות של GKE Dataplane V2 לגבי עומסי עבודה באשכולות GKE ב- Google Cloud. החל מגרסאות GKE 1.28 ואילך, אפשר להשתמש ביכולות הניטור של GKE Dataplane V2 כדי:
- תיעוד מדדים של רשת, מעקב אחריהם ויצירת התראות לגביהם באמצעות השירות המנוהל של Google Cloud ל-Prometheus ו-Cloud Monitoring עם Metrics Explorer
- הסבר על זרימות תנועה לשירות מסוים באשכול
- הסבר על תקינות הרשת של עומס עבודה (workload) ב-Kubernetes וזיהוי בעיות שקשורות אליה
- אימות של כללי מדיניות הרשת של Kubernetes
התכונה 'יכולת צפייה' ב-GKE Dataplane V2 כוללת את הכלים הבאים לפתרון בעיות:
- טופולוגיה של רשת באשכול Kubernetes
- טבלה של פסיקות לגבי כללי מדיניות של רשת Kubernetes עם נתוני תעבורה בזמן אמת ופרטי חיבור
- כלי שורת פקודה לפתרון בעיות בזרימת תעבורה ב-Kubernetes
מדדים של GKE Dataplane V2
מדדים של GKE Dataplane V2 מספקים מידע על זרימת התנועה עבור:
- זרימות תנועה: תובנות לגבי האופן שבו GKE מטפל בזרימות בין Pods לבין Services.
אכיפת מדיניות הרשת: מידע על האופן שבו GKE אוכף את מדיניות הרשת של Kubernetes.
אפשר להשתמש במדדים של GKE Dataplane V2 כדי לעקוב אחרי עומסי עבודה של Kubernetes ולפתור בעיות בהם באמצעות הכלים הבאים:
- Google Cloud Managed Service for Prometheus כדי להציג ולנתח את המדדים של GKE Dataplane V2. אתם יכולים לשנות את ההגדרה של השירות המנוהל של Google Cloud ל-Prometheus כדי להוסיף או להסיר את המדדים הרצויים להטמעה בשירות המנוהל של Google Cloud ל-Prometheus.
- Cloud Monitoring Metrics Explorer כדי לראות פרטים על זרימת התעבורה ברמת ה-Pod.
- Cloud Monitoring כדי לעיין בכל מדד ולהשתמש בו. לדוגמה, אתם יכולים ליצור התראות שמופעלות כשמדדים של GKE Dataplane V2 חורגים מספים מסוימים.
- Grafana בניהול עצמי כדי להציג מדדים שנאספו על ידי השירות המנוהל של Google Cloud ל-Prometheus.
כשמפעילים את השירות המנוהל של Google Cloud ל-Prometheus:
- משאב
PodMonitoringנוצר ב-GKE - GKE חושף את נקודת הקצה של המדדים
כדי לצרוך מדדים באמצעות השירות המנוהל של Google Cloud ל-Prometheus וכדי ליצור משאב PodMonitoring, צריך להפעיל את השירות המנוהל של Google Cloud ל-Prometheus באשכול. אם לא מפעילים את השירות המנוהל של Google Cloud ל-Prometheus, GKE חושף את נקודת הקצה של המדדים אבל לא יוצר משאב PodMonitoring.
כשמפעילים מדדים של GKE Dataplane V2 באשכול, השירות המנוהל של Google Cloud ל-Prometheus קולט את המדדים הבאים של GKE Dataplane V2:
| מדד GKE Dataplane V2 | סוג | תיאור |
|---|---|---|
prometheus.googleapis.com/pod_flow_egress_flows_count/counter
|
מצטבר | המספר הכולל של תהליכי עבודה מ-Pod. |
prometheus.googleapis.com/pod_flow_ingress_flows_count/counter
|
מצטבר | מספר התהליכים הכולל שמוגדרים ל-Pod. |
הפעלת המדדים של GKE Dataplane V2 פותחת את יציאת המדדים בכל צומת Kubernetes.
יש גם מדדים נוספים, כולל מהפלטפורמה Hubble של קוד פתוח למעקב אחרי נתונים.
כברירת מחדל, השירות המנוהל של Google Cloud ל-Prometheus לא קולט את המדדים הנוספים האלה, אבל אפשר להגדיר את השירות המנוהל של Google Cloud ל-Prometheus כך שיאסוף אותם. כדי לאסוף את המדדים האלה, מגדירים PodMonitoring משאב מותאם אישית (CR).
בטבלה הבאה מפורטים מדדים נוספים של Hubble:
| מדד האבל | סוג | תיאור |
|---|---|---|
hubble_flows_processed_total
|
מצטבר | המספר הכולל של תהליכי העבודה שעובדו. |
hubble_drop_total
|
מצטבר | המספר הכולל של תהליכים שהופסקו. |
hubble_port_distribution_total
|
מצטבר | המספר הכולל של תהליכי העבודה שעברו עיבוד, מצטבר לפי מספר היציאה. |
hubble_tcp_flags_total
|
מצטבר | המספר הכולל של תהליכים שעברו עיבוד עם הגדרת דגלים מסוימים של TCP. |
hubble_icmp_total
|
מצטבר | המספר הכולל של תעבורת ICMP שעובדה. |
כדי לאסוף את המדדים הנוספים האלה, צריך ליצור משאב PodMonitoring באשכול.
לדוגמה, כדי ליצור משאב PodMonitoring שאוסף את כל מדדי Hubble הזמינים, מבצעים את השלבים הבאים:
שומרים את קובץ המניפסט הבא בשם
pod-monitoring.yaml:apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: hubble-metrics namespace: kube-system # The resource is created in the `kube-system` namespace because the Cilium pods that emit the metrics reside in that namespace spec: selector: matchLabels: k8s-app: cilium endpoints: - port: 9965 interval: 30s path: /metrics metricRelabeling: - action: keep sourceLabels: [__name__] regex: (hubble_flows_processed_total|hubble_drop_total|hubble_port_distribution_total|hubble_tcp_flags_total|hubble_icmp_total)מריצים את הפקודה הבאה כדי להחיל את המניפסט על האשכול:
kubectl apply -f pod-monitoring.yamlאחרי שמחילים את ההגדרה הזו, המדדים הנוספים של Hubble זמינים בשירות המנוהל של Google Cloud ל-Prometheus.
כלי ניראות של GKE Dataplane V2
הפתרון GKE Dataplane V2 observability מספק פתרון מנוהל של Hubble עם תובנות לגבי אבטחה וניטור רשת לעומסי עבודה של Kubernetes שנפרסו באמצעות GKE Dataplane V2.
כשמפעילים את התכונה 'יכולת צפייה במישור הנתונים ב-GKE V2', הרכיבים הבאים נפרסים באשכול:
Hubble Relay: שירות שאוסף נתוני טלמטריה של רשת לגבי ה-Pods שלכם מכל צומת.
Hubble CLI: כלי של ממשק שורת הפקודה (CLI) שמספק מידע על תנועה בזמן אמת בתוך האשכול.
אחרי שמפעילים את יכולת הצפייה במישור הנתונים ב-GKE Dataplane V2 באשכול, אפשר לפרוס את הרכיב הבא:
- ממשק המשתמש של Hubble: כלי מבוסס-אינטרנט שמאפשר לכם להציג ולנתח את נתוני הטלמטריה של הרשת שנאספים על ידי Hubble Relay. כדי לפרוס את Hubble UI, צריך להפעיל את יכולת הצפייה ב-GKE Dataplane V2.
איך פועלים המדדים והיכולות של GKE Dataplane V2
כדי לאסוף מדדים ולספק תובנות לגבי תנועת הגולשים ברשת, אנחנו משתמשים ברכיבים ובכלים הבאים ב-GKE Dataplane V2:
GKE Dataplane V2: מדדים ויכולות ניטור של GKE Dataplane V2 מבוססים על נתיב הנתונים של GKE Dataplane V2 שמבוסס על eBPF. המדדים האלה משמשים לאיסוף נתונים על זרימות תנועה ועל אכיפת מדיניות הרשת עבור Pod שמבוסס על עומס עבודה נתון.
Google Cloud Managed Service for Prometheus: GKE Dataplane V2 metrics מגדיר את הסוכן של Google Cloud Managed Service for Prometheus לקליטת מדדים מצטברים ב-Google Cloud Managed Service for Prometheus, פתרון ניטור ניתן להרחבה שיכול לקלוט ולאחסן כמויות גדולות של נתונים, וגם מאפשר לכם לבנות על Google Cloud Observability.
Hubble: תכונת ה-Observability ב-GKE Dataplane V2 משתמשת ב-Hubble, פרויקט Observability בקוד פתוח. Hubble מאפשר תובנות לגבי אבטחת רשת וניטור שלה עבור עומסי עבודה של Kubernetes שנפרסו באמצעות eBPF Dataplane.
אירועים של תהליך Hubble מתרחשים במקרים הבאים:
קודם מתבצע חיבור לרשת
קודם כל רואים דגל TCP שמציין את מצב החיבור של TCP
מנות נשלחות אחרי שעברו לפחות חמש שניות מאז אירוע הזרימה האחרון
מדדים של Hubble: ספירה של מספר אירועי הזרימה באשכול Kubernetes שאפשר להשתמש בהם כדי לזהות אילו Pods מתקשרים זה עם זה.
הפעלת מדדים ויכולת צפייה: אפשר להפעיל את GKE Dataplane V2 ואת יכולת הצפייה בנפרד. כדי להפעיל את ההדמיה של טופולוגיית הרשת בממשק המשתמש של Hubble בקוד פתוח, צריך להפעיל את יכולת התצפית של GKE Dataplane V2.
אשכולות Autopilot:
המדדים מופעלים כברירת מחדל
כברירת מחדל, כלי הניטור מושבתים
כדי לאסוף מדדים בשירות המנוהל של Google Cloud ל-Prometheus, צריך ליצור את משאב Cluster
PodMonitoring.
אשכולות רגילים:
המדדים מושבתים כברירת מחדל
כברירת מחדל, כלי הניטור מושבתים
אם הפעלתם את השירות המנוהל של Google Cloud ל-Prometheus, נוצר באופן אוטומטי משאב
PodMonitoringמשאב
PodMonitoringמסומן כensure exists. כדי להפסיק לשלוח מדדים אל השירות המנוהל של Google Cloud ל-Prometheus, צריך לערוך את המשאבPodMonitoringכדי להשבית את כל המדדים.
נקודות קצה של GKE Dataplane V2 לצורך יכולת צפייה
רכיבי הניראות של GKE Dataplane V2 חושפים את שתי נקודות הקצה הבאות של הניראות:
נקודת קצה (endpoint) של מדדים: נקודת קצה (endpoint) של HTTP שחושפת מדדי תנועה בפורמט Prometheus.
anetdPod חושף את נקודת הקצה של המדדים בכל צומת של אשכול ביציאה 9965.יציאת זרימות: נקודת קצה של gRPC.
hubble-relayPod חושף את נקודת הקצה של יציאת הזרימות כשירותClusterIPKubernetes ביציאה 443. hubble-relayPod הוא הקצה העורפי של שירותClusterIPKubernetes, וכל הבקשות לשירותClusterIPKubernetes מועברות אלhubble-relayPod. אפשר לגשת ליציאת הזרימה באמצעות Hubble CLI או ממשק המשתמש של Hubble.
מגבלות
- ל-GKE Dataplane V2 observability יש מגבלה של 5,000 צמתים ברמת האשכול.
- מדדים ויכולות ניטור של GKE Dataplane V2 פועלים רק באשכולות ב-Google Cloud עם GKE Dataplane V2 מופעל.
- מדדים של GKE Dataplane V2 דומים למדדים של Hubble בכך שהם מיושמים כמדדים מבוססי-זרימה כדי לספק מידע על החיבור. המדדים האלה לא סופרים את כמות הנתונים או את מספר החבילות שמועברות. המדדים מבוססים על זרימה, ולכן הם לא מספקים ייצוג מדויק של כמות הנתונים שמועברים בזרימת נתונים ברשת.
המאמרים הבאים
- איך מגדירים יכולות ניטור ב-GKE Dataplane V2
- איך עוקבים אחרי התנועה באמצעות יכולות התצפית של GKE Dataplane V2
- איך משתמשים ב-GKE Dataplane V2
- איך משתמשים ב-Cloud DNS ל-GKE