מידע על יכולות התצפית של GKE Dataplane V2

התצפיתיות של GKE Dataplane V2 מספקת מדדים ותובנות של GKE Dataplane V2 לגבי עומסי עבודה באשכולות GKE ב- Google Cloud. בעזרת יכולת הצפייה של GKE Dataplane V2, אתם יכולים:

כלי התצפית של 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:

  1. שומרים את המניפסט הבא בתור 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)
    
  2. מריצים את הפקודה הבאה כדי להחיל את המניפסט על האשכול:

    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, צריך ליצור את המשאב ClusterPodMonitoring.

  • אשכולות רגילים:

    • המדדים מושבתים כברירת מחדל

    • כלי התצפית מושבתים כברירת מחדל

    • אם הפעלתם את השירות המנוהל של 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 מופעל מחדש.

המאמרים הבאים