vectordotdev / vector

A high-performance observability data pipeline.
https://vector.dev
Mozilla Public License 2.0
17.74k stars 1.57k forks source link

Using Endpoint Slices In K8S Logger instead of Endpoints API #13493

Open srinidhis94 opened 2 years ago

srinidhis94 commented 2 years ago

A note for the community

Use Cases

There are scalability issues with using endpoints API to get cluster information in kubernetes. It is discussed in more detail here. We faced this issue during our testing in large K8S cluster on GKE.

From the documentation, currently vector source kubernetes logs uses Pods Endpoints API .

Attempted Solutions

No response

Proposal

Proposal is to use K8S endpointslices API instead of endpoints API.

Endpoint API :
kubectl get --raw '/api/v1/namespaces/default/pods?watch=1'

Endpoint slices :
kubectl get --raw /apis/discovery.k8s.io/v1/watch/namespaces/default/endpointslices

References

No response

Version

0.22.0-distroless-libc

srinidhis94 commented 2 years ago

This is related to issue reported here : https://github.com/vectordotdev/vector/issues/13058