Skip to content

Add Support for Topology (Availability) Zone Labels #1654

Open
@ScheererJ

Description

@ScheererJ

Is your feature request related to a problem? Please describe.
I want to understand the amount of data being transferred between pods across availability zone boundaries.

Describe the solution you'd like
The advanced network observability metrics should include the availability zone label (topology.kubernetes.io/zone) derived from corresponding nodes.

It should be possible to add the zone to metrics as sourceLabel or destinationLabel via the MetricsConfiguration CRD.

The data can be added via the enricher component to the RetinaMetadata in the Flow struct's Extensions attribute. The node controller already has access to the labels of the Nodes. Additionally, the RetinaEndpoint controller has the IP address of the node that the pod is running on.

Describe alternatives you've considered
kube-state-metrics provides the Node labels via metric kube_node_labels. Additionally, kube_pod_info includes the Node name. Combining these metrics with what retina already provides with remote context can yield the same results with some PromQL magic.

Additional context
Cloud infrastructures usually support the concept of availability zones. In a Kubernetes cluster this is represented via node labels. Traffic within an availability zone has less latency and less monetary costs associated to it compared to traffic across availability zone boundaries. Therefore, it might be very interesting to be able to measure whether traffic cross availability zone boundaries or not.
retina already allows users to measure the traffic transferred between pods. Having labels for the corresponding availability zones would allow users to also cover this scenario with retina.

with @rickardsjp @rrhubenov

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions