From 78cff8c223a40c3f6c9ae9b4f433b473608792ac Mon Sep 17 00:00:00 2001 From: Denis Seleznev Date: Mon, 3 Mar 2025 19:18:24 +0100 Subject: [PATCH 1/3] Change defaults calculation logic. --- .../monitoring/templates/vm/vmcluster.yaml | 30 ++++++------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/packages/extra/monitoring/templates/vm/vmcluster.yaml b/packages/extra/monitoring/templates/vm/vmcluster.yaml index 19e2f610..44eda7ae 100644 --- a/packages/extra/monitoring/templates/vm/vmcluster.yaml +++ b/packages/extra/monitoring/templates/vm/vmcluster.yaml @@ -10,27 +10,19 @@ spec: vminsert: replicaCount: 2 resources: - {{- if and (hasKey . "vminsert") (hasKey .vminsert "resources") }} - {{- toYaml .vminsert.resources | nindent 6 }} - {{- else }} limits: - memory: 1000Mi + memory: {{ . | dig "vminsert" "resources" "limits" "memory" "1000Mi" }} requests: - cpu: 100m - memory: 500Mi - {{- end }} + cpu: {{ . | dig "vminsert" "resources" "requests" "cpu" "500m" }} + memory: {{ . | dig "vminsert" "resources" "requests" "memory" "500Mi" }} vmselect: replicaCount: 2 resources: - {{- if and (hasKey . "vmselect") (hasKey .vmselect "resources") }} - {{- toYaml .vmselect.resources | nindent 6 }} - {{- else }} limits: - memory: 1000Mi + memory: {{ . | dig "vmselect" "resources" "limits" "memory" "1000Mi" }} requests: - cpu: 100m - memory: 500Mi - {{- end }} + cpu: {{ . | dig "vmselect" "resources" "requests" "cpu" "500m" }} + memory: {{ . | dig "vmselect" "resources" "requests" "memory" "500Mi" }} extraArgs: search.maxUniqueTimeseries: "600000" vmalert.proxyURL: http://vmalert-{{ .name }}.{{ $.Release.Namespace }}.svc:8080 @@ -48,15 +40,11 @@ spec: vmstorage: replicaCount: 2 resources: - {{- if and (hasKey . "vmstorage") (hasKey .vmstorage "resources") }} - {{- toYaml .vmstorage.resources | nindent 6 }} - {{- else }} limits: - memory: 2048Mi + memory: {{ . | dig "vmstorage" "resources" "limits" "memory" "2048Mi" }} requests: - cpu: 100m - memory: 500Mi - {{- end }} + cpu: {{ . | dig "vmstorage" "resources" "requests" "cpu" "100m" }} + memory: {{ . | dig "vmstorage" "resources" "requests" "memory" "500Mi" }} storage: volumeClaimTemplate: spec: From da0437a774b2c7f41f40aef52e30db9088d4bd5b Mon Sep 17 00:00:00 2001 From: Denis Seleznev Date: Mon, 3 Mar 2025 19:31:05 +0100 Subject: [PATCH 2/3] Make it possible to set cpu limit too. --- packages/extra/monitoring/templates/vm/vmcluster.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/extra/monitoring/templates/vm/vmcluster.yaml b/packages/extra/monitoring/templates/vm/vmcluster.yaml index 44eda7ae..ce5e4ec3 100644 --- a/packages/extra/monitoring/templates/vm/vmcluster.yaml +++ b/packages/extra/monitoring/templates/vm/vmcluster.yaml @@ -11,6 +11,9 @@ spec: replicaCount: 2 resources: limits: + {{- with . | dig "vminsert" "resources" "limits" "cpu" nil }} + cpu: {{ . | quote }} + {{- end }} memory: {{ . | dig "vminsert" "resources" "limits" "memory" "1000Mi" }} requests: cpu: {{ . | dig "vminsert" "resources" "requests" "cpu" "500m" }} @@ -41,6 +44,9 @@ spec: replicaCount: 2 resources: limits: + {{- with . | dig "vmstorage" "resources" "limits" "cpu" nil }} + cpu: {{ . | quote }} + {{- end }} memory: {{ . | dig "vmstorage" "resources" "limits" "memory" "2048Mi" }} requests: cpu: {{ . | dig "vmstorage" "resources" "requests" "cpu" "100m" }} From 3e273c03b67d3600bd8ef4484aced7edc6807083 Mon Sep 17 00:00:00 2001 From: Denis Seleznev Date: Mon, 3 Mar 2025 19:31:27 +0100 Subject: [PATCH 3/3] Increase the default cpu limit for vminsert. --- packages/extra/monitoring/templates/vm/vmcluster.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/extra/monitoring/templates/vm/vmcluster.yaml b/packages/extra/monitoring/templates/vm/vmcluster.yaml index ce5e4ec3..db92118f 100644 --- a/packages/extra/monitoring/templates/vm/vmcluster.yaml +++ b/packages/extra/monitoring/templates/vm/vmcluster.yaml @@ -22,6 +22,10 @@ spec: replicaCount: 2 resources: limits: + # if we don't set the cpu limit, victoriametrics-operator will set 500m here, which is ridiculous small + # see internal/config/config.go in victoriametrics-operator + # 2 vcpu is the bare minimum for **single** Grafana user + cpu: {{ . | dig "vmselect" "resources" "limits" "cpu" "2000m" }} memory: {{ . | dig "vmselect" "resources" "limits" "memory" "1000Mi" }} requests: cpu: {{ . | dig "vmselect" "resources" "requests" "cpu" "500m" }}