diff --git a/jsonnet/kube-prometheus/kube-prometheus-strip-limits.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-strip-limits.libsonnet index 4ff5c78882043c97d2ee188bb2cd0c5c01abfea9..659a4d3bb97898aa50852a6ed02ab9dbf940dc68 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-strip-limits.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-strip-limits.libsonnet @@ -1,21 +1,16 @@ // Strips spec.containers[].limits for certain containers // https://github.com/coreos/kube-prometheus/issues/72 { - nodeExporter+: { - daemonset+: { - spec+: { - template+: { - spec+: { - local stripLimits(c) = - if std.setMember(c.name, [ - 'kube-rbac-proxy', - 'node-exporter', - ]) - then c + {resources+: {limits: {}}} - else c, - containers: std.map(stripLimits, super.containers), - }, - }, + _config+:: { + resources+:: { + 'addon-resizer': { + limits: {}, + }, + 'kube-rbac-proxy': { + limits: {}, + }, + 'node-exporter': { + limits: {}, }, }, }, @@ -34,23 +29,4 @@ }, }, }, - kubeStateMetrics+: { - deployment+: { - spec+: { - template+: { - spec+: { - local stripLimits(c) = - if std.setMember(c.name, [ - 'addon-resizer', - 'kube-rbac-proxy-main', - 'kube-rbac-proxy-self', - ]) - then c + {resources+: {limits: {}}} - else c, - containers: std.map(stripLimits, super.containers), - }, - }, - }, - }, - }, } diff --git a/jsonnet/kube-prometheus/kube-prometheus.libsonnet b/jsonnet/kube-prometheus/kube-prometheus.libsonnet index 631423bde4094b5873eaeb7363e7b0f236c7f8a8..80b63b0c411c41bb89db1ccb0eb04492d4673964 100644 --- a/jsonnet/kube-prometheus/kube-prometheus.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus.libsonnet @@ -104,6 +104,20 @@ local configMapList = k3.core.v1.configMapList; CoreDNS: $._config.coreDNSSelector, }, + resources+:: { + 'addon-resizer': { + requests: { cpu: '10m', memory: '30Mi' }, + limits: { cpu: '50m', memory: '30Mi' }, + }, + 'kube-rbac-proxy': { + requests: { cpu: '10m', memory: '20Mi' }, + limits: { cpu: '20m', memory: '40Mi' }, + }, + 'node-exporter': { + requests: { cpu: '102m', memory: '180Mi' }, + limits: { cpu: '250m', memory: '180Mi' }, + }, + }, prometheus+:: { rules: $.prometheusRules + $.prometheusAlerts, }, diff --git a/jsonnet/kube-prometheus/kube-state-metrics/kube-state-metrics.libsonnet b/jsonnet/kube-prometheus/kube-state-metrics/kube-state-metrics.libsonnet index 0e981974bafca461bd36940feb878236e89e0e29..86da57c5d3d1565f682dbe99458359538a6e9763 100644 --- a/jsonnet/kube-prometheus/kube-state-metrics/kube-state-metrics.libsonnet +++ b/jsonnet/kube-prometheus/kube-state-metrics/kube-state-metrics.libsonnet @@ -140,8 +140,8 @@ local k = import 'ksonnet/ksonnet.beta.4/k.libsonnet'; '--upstream=http://127.0.0.1:8081/', ]) + container.withPorts(containerPort.newNamed(8443, 'https-main',)) + - container.mixin.resources.withRequests({ cpu: '10m', memory: '20Mi' }) + - container.mixin.resources.withLimits({ cpu: '20m', memory: '40Mi' }); + container.mixin.resources.withRequests($._config.resources['kube-rbac-proxy'].requests) + + container.mixin.resources.withLimits($._config.resources['kube-rbac-proxy'].limits); local proxySelfMetrics = container.new('kube-rbac-proxy-self', $._config.imageRepos.kubeRbacProxy + ':' + $._config.versions.kubeRbacProxy) + @@ -152,8 +152,8 @@ local k = import 'ksonnet/ksonnet.beta.4/k.libsonnet'; '--upstream=http://127.0.0.1:8082/', ]) + container.withPorts(containerPort.newNamed(9443, 'https-self',)) + - container.mixin.resources.withRequests({ cpu: '10m', memory: '20Mi' }) + - container.mixin.resources.withLimits({ cpu: '20m', memory: '40Mi' }); + container.mixin.resources.withRequests($._config.resources['kube-rbac-proxy'].requests) + + container.mixin.resources.withLimits($._config.resources['kube-rbac-proxy'].limits); local kubeStateMetrics = container.new('kube-state-metrics', $._config.imageRepos.kubeStateMetrics + ':' + $._config.versions.kubeStateMetrics) + @@ -192,8 +192,8 @@ local k = import 'ksonnet/ksonnet.beta.4/k.libsonnet'; }, }, ]) + - container.mixin.resources.withRequests({ cpu: '10m', memory: '30Mi' }) + - container.mixin.resources.withLimits({ cpu: '50m', memory: '30Mi' }); + container.mixin.resources.withRequests($._config.resources['addon-resizer'].requests) + + container.mixin.resources.withLimits($._config.resources['addon-resizer'].limits); local c = [proxyClusterMetrics, proxySelfMetrics, kubeStateMetrics, addonResizer]; diff --git a/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet b/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet index a55ca26c2baef0692f8c0f73ee296fa61caed9c2..01215ef2718becd2229e5f82d16409823ebcb671 100644 --- a/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet +++ b/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet @@ -97,8 +97,8 @@ local k = import 'ksonnet/ksonnet.beta.4/k.libsonnet'; '--collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$', ]) + container.withVolumeMounts([procVolumeMount, sysVolumeMount, rootVolumeMount]) + - container.mixin.resources.withRequests({ cpu: '102m', memory: '180Mi' }) + - container.mixin.resources.withLimits({ cpu: '250m', memory: '180Mi' }); + container.mixin.resources.withRequests($._config.resources['node-exporter'].requests) + + container.mixin.resources.withLimits($._config.resources['node-exporter'].requests); local ip = containerEnv.fromFieldPath('IP', 'status.podIP'); local proxy =