Skip to content

Kubernetes metadata discovery broken on older containerd versions #1155

Closed as not planned
@brancz

Description

I noticed on the demo instance that even processes that should have Kubernetes metadata do not have it. For example Parca itself:

Screenshot 2022-12-20 at 18 53 46

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.

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingwontfixThis will not be worked on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions