diff --git a/charts/kubezero-addons/Chart.yaml b/charts/kubezero-addons/Chart.yaml index 569b5ca6..48fc1338 100644 --- a/charts/kubezero-addons/Chart.yaml +++ b/charts/kubezero-addons/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: kubezero-addons description: KubeZero umbrella chart for various optional cluster addons type: application -version: 0.8.10 +version: 0.8.11 appVersion: v1.30 home: https://kubezero.com icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png @@ -15,6 +15,7 @@ keywords: - sealed-secrets - external-dns - aws-node-termination-handler + - py-kube-downscaler maintainers: - name: Stefan Reimer email: stefan@zero-downtime.net @@ -44,4 +45,8 @@ dependencies: version: 1.5.0 repository: https://twin.github.io/helm-charts condition: aws-eks-asg-rolling-update-handler.enabled + - name: py-kube-downscaler + version: 0.2.11 + repository: https://caas-team.github.io/helm-charts/ + condition: py-kube-downscaler.enabled kubeVersion: ">= 1.26.0" diff --git a/charts/kubezero-addons/README.md b/charts/kubezero-addons/README.md index 9648c81d..cfdc65ec 100644 --- a/charts/kubezero-addons/README.md +++ b/charts/kubezero-addons/README.md @@ -1,6 +1,6 @@ # kubezero-addons -![Version: 0.8.10](https://img.shields.io/badge/Version-0.8.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.30](https://img.shields.io/badge/AppVersion-v1.30-informational?style=flat-square) +![Version: 0.8.11](https://img.shields.io/badge/Version-0.8.11-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.30](https://img.shields.io/badge/AppVersion-v1.30-informational?style=flat-square) KubeZero umbrella chart for various optional cluster addons @@ -19,6 +19,7 @@ Kubernetes: `>= 1.26.0` | Repository | Name | Version | |------------|------|---------| | https://bitnami-labs.github.io/sealed-secrets | sealed-secrets | 2.16.2 | +| https://caas-team.github.io/helm-charts/ | py-kube-downscaler | 0.2.11 | | https://kubernetes-sigs.github.io/external-dns/ | external-dns | 1.15.0 | | https://kubernetes.github.io/autoscaler | cluster-autoscaler | 9.43.2 | | https://nvidia.github.io/k8s-device-plugin | nvidia-device-plugin | 0.17.0 | @@ -156,7 +157,10 @@ Device plugin for [AWS Neuron](https://aws.amazon.com/machine-learning/neuron/) | nvidia-device-plugin.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].values[7] | string | `"g5.48xlarge"` | | | nvidia-device-plugin.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].values[8] | string | `"g4dn.xlarge"` | | | nvidia-device-plugin.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].values[9] | string | `"g4dn.2xlarge"` | | +| nvidia-device-plugin.cdi.nvidiaHookPath | string | `"/usr/bin"` | | +| nvidia-device-plugin.deviceDiscoveryStrategy | string | `"nvml"` | | | nvidia-device-plugin.enabled | bool | `false` | | +| nvidia-device-plugin.runtimeClassName | string | `"nvidia"` | | | nvidia-device-plugin.tolerations[0].effect | string | `"NoSchedule"` | | | nvidia-device-plugin.tolerations[0].key | string | `"nvidia.com/gpu"` | | | nvidia-device-plugin.tolerations[0].operator | string | `"Exists"` | | diff --git a/charts/kubezero-addons/values.yaml b/charts/kubezero-addons/values.yaml index a9472277..f4fc2d35 100644 --- a/charts/kubezero-addons/values.yaml +++ b/charts/kubezero-addons/values.yaml @@ -276,3 +276,33 @@ external-dns: #- istio-gateway provider: inmemory + + +py-kube-downscaler: + enabled: false + + tolerations: + - key: node-role.kubernetes.io/control-plane + effect: NoSchedule + nodeSelector: + node-role.kubernetes.io/control-plane: "" + + resources: + limits: + cpu: null + memory: 512Mi + requests: + cpu: 10m + memory: 64Mi + + # By default no NOT scale down KubeZero modules + excludedNamespaces: + - kube-system + - operators + - monitoring + - logging + - telemetry + - istio-system + - istio-ingress + - cert-manager + - argocd diff --git a/charts/kubezero/templates/addons.yaml b/charts/kubezero/templates/addons.yaml index ec530463..570e7472 100644 --- a/charts/kubezero/templates/addons.yaml +++ b/charts/kubezero/templates/addons.yaml @@ -109,11 +109,6 @@ fuseDevicePlugin: {{- toYaml . | nindent 2 }} {{- end }} -{{- with .Values.addons.awsNeuron }} -awsNeuron: - {{- toYaml . | nindent 2 }} -{{- end }} - {{- with index .Values "addons" "nvidia-device-plugin" }} nvidia-device-plugin: {{- toYaml . | nindent 2 }} @@ -130,8 +125,13 @@ sealed-secrets: {{- end }} {{- end }} -{{- if .Values.global.aws.region }} +{{- with index .Values "addons" "py-kube-downscaler" }} +py-kube-downscaler: + {{- toYaml . | nindent 2 }} +{{- end }} + # AWS only +{{- if eq .Values.global.platform "aws" }} aws-node-termination-handler: enabled: {{ default "true" (index .Values "addons" "aws-node-termination-handler" "enabled") }} @@ -181,6 +181,12 @@ aws-eks-asg-rolling-update-handler: value: "/var/run/secrets/sts.amazonaws.com/serviceaccount/token" - name: AWS_STS_REGIONAL_ENDPOINTS value: "regional" + +{{- with .Values.addons.awsNeuron }} +awsNeuron: + {{- toYaml . | nindent 2 }} +{{- end }} + {{- end }} {{- end }}