canonical / istio-beacon-k8s-operator

https://charmhub.io/istio-beacon-k8s
Apache License 2.0
0 stars 0 forks source link

Add metrics integration to istio charms #14

Closed IbraAoad closed 2 weeks ago

IbraAoad commented 1 month ago

Issue

The Istio beacon exposes metrics through a separate workload it deploys:

The main issue with integrating via the beacon's FQDN is that Kubernetes will enforce load balancing when the beacon is scaled, resulting in Prometheus receiving inconsistent metrics.

Solution

This PR adds metrics integration through the prometheus_scrape interface, utilizing the newly created metrics-k8s-proxy to aggregate these metrics into Prometheus via a unified endpoint.

Testing Instructions

  1. juju deploy istio-beacon-k8s --trust
  2. juju deploy prometheus-k8s --trust
  3. juju relate istio-k8s istio-beacon-k8s
  4. Explore Prometheus to validate that the metrics are present. Additionally, check for the up metric for each the waypoint pod.
IbraAoad commented 4 weeks ago

Implementation is ready for review

TODO: Fix proxy image location + integration tests once https://github.com/canonical/metrics-k8s-proxy/pull/1 and https://github.com/canonical/metrics-proxy-rock/pull/1 are merged