התצפיתיות של GKE Dataplane V2 מספקת מדדים ותובנות של GKE Dataplane V2 לגבי עומסי עבודה באשכולות GKE ב- Google Cloud. בעזרת יכולת הצפייה של 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 לבין שירותים.
אכיפת מדיניות רשת: מידע על האופן שבו 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 | סוג | תיאור |
|---|---|---|
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 מספקת פתרון Hubble מנוהל עם תצפיתיות ברשת ותובנות אבטחה לעומסי עבודה של Kubernetes שנפרסו באמצעות GKE Dataplane V2.
כשמפעילים את יכולת הצפייה של GKE Dataplane V2, הרכיבים הבאים נפרסים באשכול:
Hubble Relay: שירות שאוסף נתוני טלמטריה של הרשת לגבי ה-Pods מכל צומת.
Hubble CLI: כלי של ממשק שורת הפקודה שמספק מידע על תנועה בזמן אמת בתוך האשכול.
אחרי שמפעילים את יכולת הצפייה של GKE Dataplane V2 באשכול, אפשר לפרוס את הרכיב הבא:
- ממשק המשתמש של Hubble: כלי מבוסס-אינטרנט שמאפשר להציג ולנתח את נתוני הטלמטריה של הרשת שנאספים על ידי Hubble Relay. כדי לפרוס את ממשק המשתמש של Hubble, צריך להפעיל את יכולת הצפייה של GKE Dataplane V2.
איך פועלים המדדים והתצפיות של GKE Dataplane V2
כדי לאסוף מדדים ולספק תובנות לגבי התנועה ברשת, יכולת הצפייה של GKE Dataplane V2 משתמשת ברכיבים ובכלים הבאים:
GKE Dataplane V2: מדדים ושימוש בתצפיתיות של GKE Dataplane V2 בנתיב הנתונים של GKE Dataplane V2 שמבוסס על eBPF, כדי לאסוף מדדים על זרימת התנועה ואכיפת מדיניות הרשת ב-Kubernetes לפוד על סמך עומס עבודה נתון.
השירות המנוהל של Google Cloud ל-Prometheus: המדדים של GKE Dataplane V2 מגדירים את הסוכן של השירות המנוהל של Google Cloud ל-Prometheus כדי להטמיע מדדים נצברים בשירות המנוהל של Google Cloud ל-Prometheus, פתרון מעקב שניתן להתאמה שיכול להטמיע ולאחסן כמויות גדולות של נתונים, וגם מאפשר לכם להשתמש ב-Google Cloud Observability.
Hubble: יכולת הצפייה של GKE Dataplane V2 משתמשת ב-Hubble, פרויקט קוד פתוח של יכולת צפייה. Hubble מאפשר תצפית על הרשת ותובנות אבטחה לעומסי עבודה של Kubernetes שנפרסו עם מישור נתונים של eBPF.
אירועים של Hubble Flow מתרחשים כש:
החיבור לרשת נוצר בפעם הראשונה
דגל 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. ה-Pod של
anetdחושף את נקודת הקצה של המדדים בכל צומת באשכול ביציאה 9965.יציאת תהליכים: נקודת קצה מסוג gRPC. ה-Pod של
hubble-relayחושף את נקודת הקצה של יציאת ה-flows בתור שירותClusterIPשל Kubernetes ביציאה 443. ה-Pod שלhubble-relayהוא הקצה העורפי של שירותClusterIPב-Kubernetes, וכל הבקשות לשירותClusterIPב-Kubernetes מועברות ל-Pod שלhubble-relay. אפשר לגשת ליציאת הזרימה באמצעות ממשק שורת הפקודה (CLI) של Hubble או ממשק המשתמש של Hubble.
מגבלות
- ל-GKE Dataplane V2 observability יש מגבלה של 5,000 צמתים בכל האשכול.
- המדדים והתצפיות של GKE Dataplane V2 פועלים רק באשכולות ב-Google Cloud שבהם GKE Dataplane V2 מופעל.
- המדדים מבוססים על זרימה, ולכן הם לא מייצגים במדויק את כמות הנתונים שמועברים בזרימת הרשת.
- כשהמדדים של Dataplane V2 מופעלים, יכול להיות שהזיכרון של Pod
anetdיגדל באופן רציף בגלל איסוף המדדים של Hubble. זוהי התנהגות צפויה, כי המדדים מאוחסנים בזיכרון עד שה-Pod מופעל מחדש.
המאמרים הבאים
- איך מגדירים את יכולת הצפייה ב-GKE Dataplane V2
- איך צופים בתנועה באמצעות יכולת הצפייה של GKE Dataplane V2
- איך משתמשים ב-GKE Dataplane V2
- איך משתמשים ב-Cloud DNS ל-GKE