Kubernetes metadata discovery broken on older containerd versions #1155
Closed as not planned
Description
I noticed on the demo instance that even processes that should have Kubernetes metadata do not have it. For example Parca itself:
Enabling debug logging revealed what I believe to be the culprit:
level=debug name=parca-agent ts=2022-12-20T17:37:42.319381051Z caller=kubernetes.go:195 discovery=scw-parca-demo-default-88ff9f23d1d24f079f61fa3 msg="skipping pod, cannot find pid" namespace=parca pod=parca-agent-blb2b err="failed to get container status, request: &ContainerStatusRequest{ContainerId:fc3c779694064e6f0409913c67370204e54efafa3d6629a928cefb51a709a0de,Verbose:true,}: rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService"
It looks like we recently switched to using the v1 API only (#1118), but there are still lots of containerd v1.5.x versions out there being used that only serve the v1alpha2 API. Since containerd v1.6.x supports both versions of the API, I would suggest that we revert to v1.25 of cri-api (which still has both definitions), and for now always use the v1alpha2 API.
I've also tested this on a cluster that uses containerd 1.6.x and it works as expected there.