mirror of https://github.com/linkerd/linkerd2.git
Fixes #9986 After reviewing the k8s API calls in Destination, it was concluded we could only swap out the calls to the Node and RS resources to use the metadata API, as all the other resources (Endpoints, EndpointSlices, Services, Pod, ServiceProfiles, Server) required fields other than those found in their metadata section. This also required completing the `NewFakeAPI` implementation by adding the missing annotations and labels entries. ## Testing Memory Consumption The gains here aren't as big as in #9650. In order to test this we need to push hard and create 4000 RS: ``` bash for i in {0..4000}; do kubectl create deployment test-pod-$i --image=nginx; done ``` In edge-23.2.1 the destination pod's memory consumption goes from 40Mi to 160Mi after all the RS were created. With this change, it went from 37Mi to 140Mi. |
||
---|---|---|
.. | ||
api.go | ||
api_resource.go | ||
api_test.go | ||
clientset.go | ||
k8s.go | ||
metadata_api.go | ||
prometheus.go | ||
test_helper.go |