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

feat: enable granular config of container resources #918

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

## Unreleased

### enhancement
- Add granular resource config for kubelet in [#918](https://github.com/newrelic/nri-kubernetes/pull/918)


## v3.18.3 - 2023-10-23

### ⛓️ Dependencies
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ spec:
{{- with .Values.kubelet.extraVolumeMounts }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.kubelet.resources }}
{{- with .Values.kubelet.agent.resources }}
resources: {{ toYaml . | nindent 12 }}
{{- end }}
volumes:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
suite: test resources for kubelet
templates:
- kubelet/daemonset.yaml
tests:
- it: kubelet container uses default resources
set:
cluster: test
licenseKey: test
asserts:
- template: kubelet/daemonset.yaml
equal:
path: spec.template.spec.containers[0].resources
value:
requests:
cpu: 100m
memory: 150M
limits:
memory: 300M
- it: agent container uses default resources
set:
cluster: test
licenseKey: test
asserts:
- template: kubelet/daemonset.yaml
equal:
path: spec.template.spec.containers[1].resources
value:
requests:
cpu: 100m
memory: 150M
limits:
memory: 300M
- it: kubelet container uses modified resources
set:
cluster: test
licenseKey: test
kubelet.resources.requests.cpu: 123m
kubelet.resources.requests.memory: 234Mi
kubelet.resources.limits.memory: 345Mi
asserts:
- template: kubelet/daemonset.yaml
equal:
path: spec.template.spec.containers[0].resources
value:
requests:
cpu: 123m
memory: 234Mi
limits:
memory: 345Mi
- it: agent container uses modified resources
set:
cluster: test
licenseKey: test
kubelet.agent.resources.requests.cpu: 12m
kubelet.agent.resources.requests.memory: 23Mi
kubelet.agent.resources.limits.memory: 34Mi
asserts:
- template: kubelet/daemonset.yaml
equal:
path: spec.template.spec.containers[1].resources
value:
requests:
cpu: 12m
memory: 23Mi
limits:
memory: 34Mi
7 changes: 7 additions & 0 deletions charts/newrelic-infrastructure/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,13 @@ kubelet:
scraperMaxReruns: 4
# port:
# scheme:
agent:
resources:
limits:
memory: 300M
requests:
cpu: 100m
memory: 150M

# ksm -- Configuration for the Deployment that collects state metrics from KSM (kube-state-metrics).
# @default -- See `values.yaml`
Expand Down