linkerd2/controller/cmd
Alejandro Pedraza 4a84f2cb32
Implement the k8s metadata API in the Destination controller (#10326)
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.
2023-02-13 17:30:07 -05:00
..
destination Implement the k8s metadata API in the Destination controller (#10326) 2023-02-13 17:30:07 -05:00
heartbeat heartbeat: Include the CPU architecture in reports (#9589) 2022-10-10 12:31:05 -07:00
identity Readiness checks fail until caches are synced (#10166) 2023-01-25 11:43:09 -08:00
proxy-injector allow pprof to be configurable via helm flags (#8090) 2022-03-22 14:31:04 -06:00
sp-validator allow pprof to be configurable via helm flags (#8090) 2022-03-22 14:31:04 -06:00
main.go Remove the `linkerd-controller` pod (#6039) 2021-04-19 09:57:45 -05:00