Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added custom overrides for kube-rbac-proxy-self. #1637

Conversation

ahysing
Copy link
Contributor

@ahysing ahysing commented Feb 11, 2022

Description

I have discovered that kube-state-metrics tends tends to experience CPU throttling in my kubernetes cluster. I want to get CPU throttling down to a decent level below 10%. Right now I don't have a way to change this.

This is a picture from my cluster. The sidecar called kube-rbac-proxy-self experiences a CPU throttling of 19%. This gives bad performance
image

I use thanos along prometheus.

Type of change

What type of changes does your code introduce to the kube-prometheus? Put an x in the box that apply.

  • CHANGE (fix or feature that would cause existing functionality to not work as expected)
  • FEATURE (non-breaking change which adds functionality)
  • BUGFIX (non-breaking change which fixes an issue)
  • ENHANCEMENT (non-breaking change which improves existing functionality)
  • NONE (if none of the other choices apply. Example, tooling, build system, CI, docs, etc.)

Changelog entry

By looking at existing code I am extending kube-rbac-proxy-self with the same set of overrides as a similar sidecar container kube-rbac-proxy-main. This way I get a pitch point where i can add more CPU resources to the container.

Added configurable default values for sidecar container kube-rbac-proxy-self in deployment kube-statate-metrics.

Test and Verification

Edit the file called examples/kustomize.jsonnet. Add the following block at line 7.

      kubeStateMetrics+: {
        kubeRbacProxySelf+: {
          resources: {
            limits: { cpu: '120m', memory: '40Mi' },
            requests: { cpu: '60m', memory: '20Mi' },
          }
        }
      }

Run the install procedures from README.md followed by the generate procedure from github actions.

jb install github.com/ahysing/kube-prometheus/jsonnet/kube-prometheus@custom-requests-kube-rbacc-proxy-self
make --always-make generate validate && git diff --exit-code

Make sure that the file manifests/kubeStateMetrics-deployment.yaml is changed properly with the new limits you expected.

image

@ahysing
Copy link
Contributor Author

ahysing commented Feb 18, 2022

Please concider my change.

I need this.

Copy link
Contributor

@philipgough philipgough left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@philipgough philipgough merged commit 53542d5 into prometheus-operator:main Feb 18, 2022
@ahysing ahysing deleted the custom-requests-kube-rbacc-proxy-self branch February 23, 2022 15:26
@ahysing
Copy link
Contributor Author

ahysing commented Feb 23, 2022

thanks PhilipGough . this helps me a lot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants