From 841315f3277f98955a608e73c95dc42bac2bf5cd Mon Sep 17 00:00:00 2001 From: Mike Tougeron Date: Wed, 11 Oct 2023 16:14:44 -0700 Subject: [PATCH] Template the autoDiscovery.clusterName variable in the Helm chart --- charts/cluster-autoscaler/Chart.yaml | 2 +- charts/cluster-autoscaler/README.md | 4 ++++ charts/cluster-autoscaler/README.md.gotmpl | 4 ++++ charts/cluster-autoscaler/templates/_helpers.tpl | 2 +- charts/cluster-autoscaler/templates/deployment.yaml | 6 +++--- charts/cluster-autoscaler/templates/secret.yaml | 2 +- 6 files changed, 14 insertions(+), 6 deletions(-) diff --git a/charts/cluster-autoscaler/Chart.yaml b/charts/cluster-autoscaler/Chart.yaml index 26cbc702b44f..a29a9b869caa 100644 --- a/charts/cluster-autoscaler/Chart.yaml +++ b/charts/cluster-autoscaler/Chart.yaml @@ -11,4 +11,4 @@ name: cluster-autoscaler sources: - https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler type: application -version: 9.30.1 +version: 9.31.0 diff --git a/charts/cluster-autoscaler/README.md b/charts/cluster-autoscaler/README.md index ef33d9b6e5da..de85fc786631 100644 --- a/charts/cluster-autoscaler/README.md +++ b/charts/cluster-autoscaler/README.md @@ -74,6 +74,10 @@ To create a valid configuration, follow instructions for your cloud provider: - [OpenStack Magnum](#openstack-magnum) - [Cluster API](#cluster-api) +### Templating the autoDiscovery.clusterName + +The cluster name can be templated in the `autoDiscovery.clusterName` variable. This is useful when the cluster name is dynamically generated based on other values coming from external systems like Argo CD or Flux. This also allows you to use global Helm values to set the cluster name, e.g., `autoDiscovery.clusterName=\{\{ .Values.global.clusterName }}`, so that you don't need to set it in more than 1 location in the values file. + ### AWS - Using auto-discovery of tagged instance groups Auto-discovery finds ASGs tags as below and automatically manages them based on the min and max size specified in the ASG. `cloudProvider=aws` only. diff --git a/charts/cluster-autoscaler/README.md.gotmpl b/charts/cluster-autoscaler/README.md.gotmpl index e178a1d7a64e..74733741e2e1 100644 --- a/charts/cluster-autoscaler/README.md.gotmpl +++ b/charts/cluster-autoscaler/README.md.gotmpl @@ -74,6 +74,10 @@ To create a valid configuration, follow instructions for your cloud provider: - [OpenStack Magnum](#openstack-magnum) - [Cluster API](#cluster-api) +### Templating the autoDiscovery.clusterName + +The cluster name can be templated in the `autoDiscovery.clusterName` variable. This is useful when the cluster name is dynamically generated based on other values coming from external systems like Argo CD or Flux. This also allows you to use global Helm values to set the cluster name, e.g., `autoDiscovery.clusterName=\{\{ .Values.global.clusterName }}`, so that you don't need to set it in more than 1 location in the values file. + ### AWS - Using auto-discovery of tagged instance groups Auto-discovery finds ASGs tags as below and automatically manages them based on the min and max size specified in the ASG. `cloudProvider=aws` only. diff --git a/charts/cluster-autoscaler/templates/_helpers.tpl b/charts/cluster-autoscaler/templates/_helpers.tpl index 3bf552dbd1da..b0aee4fc080d 100644 --- a/charts/cluster-autoscaler/templates/_helpers.tpl +++ b/charts/cluster-autoscaler/templates/_helpers.tpl @@ -116,7 +116,7 @@ Return the autodiscoveryparameters for clusterapi. */}} {{- define "cluster-autoscaler.capiAutodiscoveryConfig" -}} {{- if .Values.autoDiscovery.clusterName -}} -{{- print "clusterName=" -}}{{ .Values.autoDiscovery.clusterName }} +{{- print "clusterName=" -}}{{ tpl (.Values.autoDiscovery.clusterName) . }} {{- end -}} {{- if and .Values.autoDiscovery.clusterName .Values.autoDiscovery.labels -}} {{- print "," -}} diff --git a/charts/cluster-autoscaler/templates/deployment.yaml b/charts/cluster-autoscaler/templates/deployment.yaml index dc93f220b7d8..5571b66c09f7 100644 --- a/charts/cluster-autoscaler/templates/deployment.yaml +++ b/charts/cluster-autoscaler/templates/deployment.yaml @@ -88,10 +88,10 @@ spec: {{- end }} {{- else if eq .Values.cloudProvider "magnum" }} {{- if .Values.autoDiscovery.clusterName }} - - --cluster-name={{ .Values.autoDiscovery.clusterName }} + - --cluster-name={{ tpl (.Values.autoDiscovery.clusterName) . }} - --node-group-auto-discovery=magnum:role={{ tpl (join "," .Values.autoDiscovery.roles) . }} {{- else }} - - --cluster-name={{ .Values.magnumClusterName }} + - --cluster-name={{ tpl (.Values.magnumClusterName) . }} {{- end }} {{- else if eq .Values.cloudProvider "clusterapi" }} {{- if or .Values.autoDiscovery.clusterName .Values.autoDiscovery.labels }} @@ -110,7 +110,7 @@ spec: {{- end }} {{- else if eq .Values.cloudProvider "azure" }} {{- if .Values.autoDiscovery.clusterName }} - - --node-group-auto-discovery=label:cluster-autoscaler-enabled=true,cluster-autoscaler-name={{ .Values.autoDiscovery.clusterName }} + - --node-group-auto-discovery=label:cluster-autoscaler-enabled=true,cluster-autoscaler-name={{ tpl (.Values.autoDiscovery.clusterName) . }} {{- end }} {{- end }} {{- if eq .Values.cloudProvider "magnum" }} diff --git a/charts/cluster-autoscaler/templates/secret.yaml b/charts/cluster-autoscaler/templates/secret.yaml index 5096a2249b27..372f85974590 100644 --- a/charts/cluster-autoscaler/templates/secret.yaml +++ b/charts/cluster-autoscaler/templates/secret.yaml @@ -17,7 +17,7 @@ data: SubscriptionID: "{{ .Values.azureSubscriptionID | b64enc }}" TenantID: "{{ .Values.azureTenantID | b64enc }}" VMType: "{{ .Values.azureVMType | b64enc }}" - ClusterName: "{{ .Values.azureClusterName | b64enc }}" + ClusterName: "{{ tpl (.Values.azureClusterName) . | b64enc }}" NodeResourceGroup: "{{ .Values.azureNodeResourceGroup | b64enc }}" {{- else if $isAws }} AwsAccessKeyId: "{{ .Values.awsAccessKeyID | b64enc }}"