Skip to content

VPA Custom Resource Traversal #8849

@cmtly

Description

@cmtly

Which component are you using?:
vertical-pod-autoscaler

/area vertical-pod-autoscaler

What version of the component are you using?:

Component version: 1.5.1

What k8s version are you using (kubectl version)?:

kubectl version Output
$ kubectl version
Client Version: v1.32.7
Kustomize Version: v5.5.0
Server Version: v1.33.1
Kubecolor Version: v0.5.2

What environment is this in?: kind

What did you expect to happen?:
I have a scenario where a pod has the following ownerReferences chain:

pod -> intermediate type -> parent type

The pod has an ownerRef that points to an intermediate type and the intermediate type has an ownerRef that points to a parentType. Both the intermediate and parent types are custom resource types defined by my operator. I want to add a VPA resource whose targetRef points to the parentType and manages all the pods owned by the intermediate types. I added a scale sub resource to the parent type per these instructions whose selector returns a label common to all the pods. The recommender successfully provides a recommendation as the RecommendationProvided condition is true. The admission controller and updater, however, do not update the pods.

What happened instead?:
Instead of updating pods or annotating them as they're scheduled I see the admission controller log No matching VPA found for pod.

How to reproduce it (as minimally and precisely as possible):
See above.

Anything else we need to know?:
Its not clear to me whether this is a bug related to how the top level scalable is found when custom types are involved or whether this functionality is simply not supported.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions