התכונה 'יכולת צפייה ב-GKE Dataplane V2' מספקת מדדים של 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 ל-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:
- GKE יוצר משאב
PodMonitoring - 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 Dataplane V2', הרכיבים הבאים נפרסים באשכול:
Hubble Relay: שירות שאוסף נתוני טלמטריה של רשת לגבי ה-Pods שלכם מכל צומת.
Hubble 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 ל-Prometheus: ההגדרה של מדדים ב-GKE Dataplane V2 מגדירה את הסוכן של השירות המנוהל של Google Cloud ל-Prometheus להטמיע מדדים מצטברים בשירות המנוהל של Google Cloud ל-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, נוצר באופן אוטומטי משאב
PodMonitoringPodMonitoringמשאב מסומן כensure exists. אתם יכולים להפסיק לשלוח מדדים לשירות המנוהל של Google Cloud ל-Prometheus על ידי עריכת המשאבPodMonitoringכדי להשבית את כל המדדים.
נקודות קצה של GKE Dataplane V2 לצורך יכולת צפייה
רכיבי יכולת הצפייה של GKE Dataplane V2 חושפים את שתי נקודות הקצה הבאות של יכולת הצפייה:
נקודת קצה (endpoint) של מדדים: נקודת קצה (endpoint) של HTTP שחושפת מדדי תנועה בפורמט Prometheus.
anetdPod חושף את נקודת הקצה של המדדים בכל צומת של אשכול ביציאה 9965.יציאת זרימות: נקודת קצה של gRPC.
hubble-relayPod חושף את נקודת הקצה של יציאת הזרימות כשירות KubernetesClusterIPביציאה 443. hubble-relayPod הוא הקצה העורפי של שירות KubernetesClusterIPוכל הבקשות לשירות KubernetesClusterIPמועברות אל ה-Podhubble-relay. אפשר לגשת ליציאת הזרימה באמצעות 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