diff --git a/charts/t8s-cluster/ci/cp-with-resources-values.yaml b/charts/t8s-cluster/ci/cp-with-resources-values.yaml new file mode 100644 index 0000000000..020c3a8556 --- /dev/null +++ b/charts/t8s-cluster/ci/cp-with-resources-values.yaml @@ -0,0 +1,6 @@ +controlPlane: + resources: + requests: + memory: 4Gi + limits: + memory: 8Gi diff --git a/charts/t8s-cluster/ci/hcp-with-resources-values.yaml b/charts/t8s-cluster/ci/hcp-with-resources-values.yaml new file mode 100644 index 0000000000..d3e09c1cf8 --- /dev/null +++ b/charts/t8s-cluster/ci/hcp-with-resources-values.yaml @@ -0,0 +1,7 @@ +controlPlane: + hosted: true + resources: + requests: + memory: 4Gi + limits: + memory: 8Gi diff --git a/charts/t8s-cluster/templates/management-cluster/clusterClass/k0smotronControlPlaneTemplate/_k0smotronControlPlaneTemplateSpec.yaml b/charts/t8s-cluster/templates/management-cluster/clusterClass/k0smotronControlPlaneTemplate/_k0smotronControlPlaneTemplateSpec.yaml index 512b368606..c50027a66d 100644 --- a/charts/t8s-cluster/templates/management-cluster/clusterClass/k0smotronControlPlaneTemplate/_k0smotronControlPlaneTemplateSpec.yaml +++ b/charts/t8s-cluster/templates/management-cluster/clusterClass/k0smotronControlPlaneTemplate/_k0smotronControlPlaneTemplateSpec.yaml @@ -5,6 +5,7 @@ This function needs the whole `$` context to be able to use `.Files.Get` */}} {{- define "t8s-cluster.clusterClass.k0smotronControlPlaneTemplate.spec" -}} replicas: {{ $.Values.controlPlane.singleNode | ternary 1 3 }} +resources: {{- include "common.resources" .Values.controlPlane | nindent 2 }} service: type: LoadBalancer apiPort: 6443 diff --git a/charts/t8s-cluster/templates/management-cluster/clusterClass/kubeadmControlPlaneTemplate/_helpers.tpl b/charts/t8s-cluster/templates/management-cluster/clusterClass/kubeadmControlPlaneTemplate/_helpers.tpl index a5ac734c2c..d4b4506456 100644 --- a/charts/t8s-cluster/templates/management-cluster/clusterClass/kubeadmControlPlaneTemplate/_helpers.tpl +++ b/charts/t8s-cluster/templates/management-cluster/clusterClass/kubeadmControlPlaneTemplate/_helpers.tpl @@ -30,7 +30,7 @@ {{- range $name, $file := $dynamicFiles -}} {{- $files = append $files (dict "content" (get $file "content" | required (printf "missing content for %s" $name)) "path" (get $file "path" | required (printf "missing path for %s" $name))) -}} {{- end -}} - {{- $apiserverPatch := dict "spec" (dict "containers" (list (dict "name" "kube-apiserver" "resources" (dict "requests" (dict "memory" "2Gi") "limits" (dict "memory" "4Gi"))))) -}} + {{- $apiserverPatch := dict "spec" (dict "containers" (list (dict "name" "kube-apiserver" "resources" (include "common.resources" .Values.controlPlane | fromYaml)))) -}} {{- $files = append $files (include "t8s-cluster.patches.patchFile" (dict "values" $apiserverPatch "target" "kube-apiserver" "component" "memory") | fromYaml) -}} {{- toYaml $files -}} {{- end -}} diff --git a/charts/t8s-cluster/values.schema.json b/charts/t8s-cluster/values.schema.json index 1451e5da6e..2e34b8c1a6 100644 --- a/charts/t8s-cluster/values.schema.json +++ b/charts/t8s-cluster/values.schema.json @@ -174,6 +174,9 @@ "pattern": "^((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(/([0-9]|[1-2][0-9]|3[0-2]))?$" }, "uniqueItems": true + }, + "resources": { + "$ref": "#/$defs/resourceRequirements" } }, "required": [ @@ -300,6 +303,9 @@ ], "additionalProperties": false, "$defs": { + "resourceRequirements": { + "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master-standalone-strict/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements" + }, "securityGroups": { "type": "array", "items": { diff --git a/charts/t8s-cluster/values.yaml b/charts/t8s-cluster/values.yaml index 1b0452093b..48feb9b921 100644 --- a/charts/t8s-cluster/values.yaml +++ b/charts/t8s-cluster/values.yaml @@ -42,6 +42,11 @@ controlPlane: flavor: standard.2.1905 singleNode: false allowedCIDRs: [] + resources: + requests: + memory: 2Gi + limits: + memory: 4Gi version: major: 1