Skip to content

Commit b4bb772

Browse files
committed
MON-3168: Add option to specify resource limits for all components
Signed-off-by: Pranshu Srivastava <[email protected]>
1 parent 47320d5 commit b4bb772

File tree

4 files changed

+192
-86
lines changed

4 files changed

+192
-86
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
- [#1950](https://github.com/openshift/cluster-monitoring-operator/pull/1950) Disable CORS headers on Thanos querier by default and add a flag to enable them back.
88
- [#1963](https://github.com/openshift/cluster-monitoring-operator/pull/1963) Add nodeExporter settings for network devices list.
99
- [#2049](https://github.com/openshift/cluster-monitoring-operator/pull/2049) Remove Kube*QuotaOvercommit alerts.
10+
- [#2067](https://github.com/openshift/cluster-monitoring-operator/pull/2067) Add options to specify resource requests and limits for all components.
1011

1112
## 4.13
1213

pkg/manifests/manifests.go

+27
Original file line numberDiff line numberDiff line change
@@ -750,6 +750,9 @@ func (f *Factory) KubeStateMetricsDeployment() (*appsv1.Deployment, error) {
750750
d.Spec.Template.Spec.Containers[i].Args = f.setTLSSecurityConfiguration(container.Args, KubeRbacProxyTLSCipherSuitesFlag, KubeRbacProxyMinTLSVersionFlag)
751751
case "kube-state-metrics":
752752
d.Spec.Template.Spec.Containers[i].Image = f.config.Images.KubeStateMetrics
753+
if f.config.ClusterMonitoringConfiguration.KubeStateMetricsConfig.Resources != nil {
754+
d.Spec.Template.Spec.Containers[i].Resources = *f.config.ClusterMonitoringConfiguration.KubeStateMetricsConfig.Resources
755+
}
753756
}
754757
}
755758

@@ -809,6 +812,9 @@ func (f *Factory) OpenShiftStateMetricsDeployment() (*appsv1.Deployment, error)
809812
d.Spec.Template.Spec.Containers[i].Args = f.setTLSSecurityConfiguration(container.Args, KubeRbacProxyTLSCipherSuitesFlag, KubeRbacProxyMinTLSVersionFlag)
810813
case "openshift-state-metrics":
811814
d.Spec.Template.Spec.Containers[i].Image = f.config.Images.OpenShiftStateMetrics
815+
if f.config.ClusterMonitoringConfiguration.OpenShiftMetricsConfig.Resources != nil {
816+
d.Spec.Template.Spec.Containers[i].Resources = *f.config.ClusterMonitoringConfiguration.OpenShiftMetricsConfig.Resources
817+
}
812818
}
813819
}
814820

@@ -964,6 +970,9 @@ func (f *Factory) NodeExporterDaemonSet() (*appsv1.DaemonSet, error) {
964970
if err != nil {
965971
return nil, err
966972
}
973+
if f.config.ClusterMonitoringConfiguration.NodeExporterConfig.Resources != nil {
974+
ds.Spec.Template.Spec.Containers[i].Resources = *f.config.ClusterMonitoringConfiguration.NodeExporterConfig.Resources
975+
}
967976
case "kube-rbac-proxy":
968977
ds.Spec.Template.Spec.Containers[i].Image = f.config.Images.KubeRbacProxy
969978
ds.Spec.Template.Spec.Containers[i].Args = f.setTLSSecurityConfiguration(container.Args, KubeRbacProxyTLSCipherSuitesFlag, KubeRbacProxyMinTLSVersionFlag)
@@ -2004,6 +2013,10 @@ func (f *Factory) PrometheusAdapterDeployment(apiAuthSecretName string, requesth
20042013
spec.Containers[0].Args = f.setTLSSecurityConfiguration(spec.Containers[0].Args,
20052014
PrometheusAdapterTLSCipherSuitesFlag, PrometheusAdapterTLSMinTLSVersionFlag)
20062015

2016+
if f.config.ClusterMonitoringConfiguration.K8sPrometheusAdapter.Resources != nil {
2017+
spec.Containers[0].Resources = *f.config.ClusterMonitoringConfiguration.K8sPrometheusAdapter.Resources
2018+
}
2019+
20072020
dep.Spec.Template.Spec = spec
20082021

20092022
return dep, nil
@@ -2162,6 +2175,8 @@ func (f *Factory) PrometheusOperatorAdmissionWebhookDeployment() (*appsv1.Deploy
21622175
case "prometheus-operator-admission-webhook":
21632176
d.Spec.Template.Spec.Containers[i].Image = f.config.Images.PrometheusOperatorAdmissionWebhook
21642177

2178+
// TODO: Derive resource request from relevant deployment(s)?
2179+
21652180
args := d.Spec.Template.Spec.Containers[i].Args
21662181
if f.config.ClusterMonitoringConfiguration.PrometheusOperatorConfig.LogLevel != "" {
21672182
args = append(args, fmt.Sprintf("--log-level=%s", f.config.ClusterMonitoringConfiguration.PrometheusOperatorConfig.LogLevel))
@@ -2213,6 +2228,10 @@ func (f *Factory) PrometheusOperatorDeployment() (*appsv1.Deployment, error) {
22132228
case "prometheus-operator":
22142229
d.Spec.Template.Spec.Containers[i].Image = f.config.Images.PrometheusOperator
22152230

2231+
if f.config.ClusterMonitoringConfiguration.PrometheusOperatorConfig.Resources != nil {
2232+
d.Spec.Template.Spec.Containers[i].Resources = *f.config.ClusterMonitoringConfiguration.PrometheusOperatorConfig.Resources
2233+
}
2234+
22162235
args := d.Spec.Template.Spec.Containers[i].Args
22172236
for i := range args {
22182237
if strings.HasPrefix(args[i], PrometheusConfigReloaderFlag) && f.config.Images.PrometheusConfigReloader != "" {
@@ -2261,6 +2280,10 @@ func (f *Factory) PrometheusOperatorUserWorkloadDeployment() (*appsv1.Deployment
22612280
case "prometheus-operator":
22622281
d.Spec.Template.Spec.Containers[i].Image = f.config.Images.PrometheusOperator
22632282

2283+
if f.config.UserWorkloadConfiguration.PrometheusOperator.Resources != nil {
2284+
d.Spec.Template.Spec.Containers[i].Resources = *f.config.UserWorkloadConfiguration.PrometheusOperator.Resources
2285+
}
2286+
22642287
args := d.Spec.Template.Spec.Containers[i].Args
22652288
for i := range args {
22662289
if strings.HasPrefix(args[i], PrometheusConfigReloaderFlag) {
@@ -2884,6 +2907,10 @@ func (f *Factory) TelemeterClientDeployment(proxyCABundleCM *v1.ConfigMap, s *v1
28842907
case "telemeter-client":
28852908
d.Spec.Template.Spec.Containers[i].Image = f.config.Images.TelemeterClient
28862909

2910+
if f.config.ClusterMonitoringConfiguration.TelemeterClientConfig.Resources != nil {
2911+
d.Spec.Template.Spec.Containers[i].Resources = *f.config.ClusterMonitoringConfiguration.TelemeterClientConfig.Resources
2912+
}
2913+
28872914
if f.config.ClusterMonitoringConfiguration.TelemeterClientConfig.ClusterID != "" {
28882915
setContainerEnvironmentVariable(&d.Spec.Template.Spec.Containers[i], "ID", f.config.ClusterMonitoringConfiguration.TelemeterClientConfig.ClusterID)
28892916
}

0 commit comments

Comments
 (0)