Skip to content

Conversation

mrIncompetent
Copy link

What this PR does / why we need it:

The new metrics track currently applied resource limits and requests as reported by the container runtime, which may differ from pod spec during in-place resource updates.

Adds:

  • kube_pod_container_status_resource_limits
  • kube_pod_container_status_resource_requests
  • kube_pod_init_container_status_resource_limits
  • kube_pod_init_container_status_resource_requests

How does this change affect the cardinality of KSM: (increases, decreases or does not change cardinality)

Adds 4 new metric families with the same label dimensions as existing container resource metrics (container, namespace, node, pod, resource, uid, unit). The cardinality increase is proportional to the number of containers and init containers across all pods.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Sep 9, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: mrIncompetent
Once this PR has been reviewed and has the lgtm label, please assign catherinef-dev for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Sep 9, 2025
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If kube-state-metrics contributors determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot
Copy link
Contributor

Welcome @mrIncompetent!

It looks like this is your first PR to kubernetes/kube-state-metrics 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes/kube-state-metrics has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@github-project-automation github-project-automation bot moved this to Needs Triage in SIG Instrumentation Sep 9, 2025
@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Sep 9, 2025
@mrIncompetent mrIncompetent force-pushed the pod-container-status-resources branch from a017dba to 37915d3 Compare September 9, 2025 20:18
@mrueg
Copy link
Member

mrueg commented Sep 16, 2025

I believe this is a duplicate of #2702 isn't it?

@mrIncompetent
Copy link
Author

mrIncompetent commented Sep 16, 2025

Mostly it is, with slight differences:

  • Refactoring of the ResourceList parsing (nice to have)
  • This here covers init containers as well as sidecars can be resized too
  • Different metric names: kube_pod_container_status_resource_requests vs kube_pod_container_actual_resource_requests

Edit:
Commented #2702 (comment)

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 17, 2025
Expose Pod.Status.ContainerStatuses[i].Resources as new metrics to provide visibility into actual container runtime resource allocation versus desired pod specification. Includes metrics for both regular and init containers.

The new metrics track currently applied resource limits and requests as reported by the container runtime, which may differ from pod spec during in-place resource updates.

Adds:
- kube_pod_container_status_resource_limits
- kube_pod_container_status_resource_requests
- kube_pod_init_container_status_resource_limits
- kube_pod_init_container_status_resource_requests
@mrIncompetent mrIncompetent force-pushed the pod-container-status-resources branch from 37915d3 to dbab46d Compare September 17, 2025 08:28
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
Status: Needs Triage
Development

Successfully merging this pull request may close these issues.

3 participants