Skip to content

Commit 9a51d0d

Browse files
committed
bump cluster autoscaler to fix role permission issue
Signed-off-by: Yaguang Tang <[email protected]>
1 parent de303c4 commit 9a51d0d

File tree

10 files changed

+108
-44
lines changed

10 files changed

+108
-44
lines changed

.charts.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
charts:
22
- name: cluster-autoscaler
3-
version: 9.29.1
3+
version: 9.29.5
44
repository:
55
url: https://kubernetes.github.io/autoscaler
66
- name: cilium

magnum_cluster_api/charts/cluster-autoscaler/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ name: cluster-autoscaler
1010
sources:
1111
- https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler
1212
type: application
13-
version: 9.29.1
13+
version: 9.29.5

magnum_cluster_api/charts/cluster-autoscaler/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,32 @@ Additional config parameters available, see the `values.yaml` for more details
230230
- `clusterAPIWorkloadKubeconfigPath`
231231
- `clusterAPICloudConfigPath`
232232

233+
### Exoscale
234+
235+
The following parameters are required:
236+
237+
- `cloudProvider=exoscale`
238+
- `autoDiscovery.clusterName=<CLUSTER NAME>`
239+
240+
Create an Exoscale API key with appropriate permissions as described in [cluster-autoscaler/cloudprovider/exoscale/README.md](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/exoscale/README.md).
241+
A secret of name `<release-name>-exoscale-cluster-autoscaler` needs to be created, containing the api key and secret, as well as the zone.
242+
243+
```console
244+
$ kubectl create secret generic my-release-exoscale-cluster-autoscaler \
245+
--from-literal=api-key="EXOxxxxxxxxxxxxxxxxxxxxxxxx" \
246+
--from-literal=api-secret="xxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" --from-literal=api-zone="ch-gva-2"
247+
```
248+
249+
After creating the secret, the chart may be installed:
250+
251+
```console
252+
$ helm install my-release autoscaler/cluster-autoscaler \
253+
--set cloudProvider=exoscale \
254+
--set autoDiscovery.clusterName=<CLUSTER NAME>
255+
```
256+
257+
Read [cluster-autoscaler/cloudprovider/exoscale/README.md](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/exoscale/README.md) for further information on the setup without helm.
258+
233259
## Uninstalling the Chart
234260

235261
To uninstall `my-release`:
@@ -411,6 +437,7 @@ vpa:
411437
| rbac.serviceAccount.name | string | `""` | The name of the ServiceAccount to use. If not set and create is `true`, a name is generated using the fullname template. |
412438
| replicaCount | int | `1` | Desired number of pods |
413439
| resources | object | `{}` | Pod resource requests and limits. |
440+
| secretKeyRefNameOverride | string | `""` | Overrides the name of the Secret to use when loading the secretKeyRef for AWS and Azure env variables |
414441
| securityContext | object | `{}` | [Security context for pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) |
415442
| service.annotations | object | `{}` | Annotations to add to service |
416443
| service.create | bool | `true` | If `true`, a Service will be created. |

magnum_cluster_api/charts/cluster-autoscaler/README.md.gotmpl

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,32 @@ Additional config parameters available, see the `values.yaml` for more details
230230
- `clusterAPIWorkloadKubeconfigPath`
231231
- `clusterAPICloudConfigPath`
232232

233+
### Exoscale
234+
235+
The following parameters are required:
236+
237+
- `cloudProvider=exoscale`
238+
- `autoDiscovery.clusterName=<CLUSTER NAME>`
239+
240+
Create an Exoscale API key with appropriate permissions as described in [cluster-autoscaler/cloudprovider/exoscale/README.md](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/exoscale/README.md).
241+
A secret of name `<release-name>-exoscale-cluster-autoscaler` needs to be created, containing the api key and secret, as well as the zone.
242+
243+
```console
244+
$ kubectl create secret generic my-release-exoscale-cluster-autoscaler \
245+
--from-literal=api-key="EXOxxxxxxxxxxxxxxxxxxxxxxxx" \
246+
--from-literal=api-secret="xxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" --from-literal=api-zone="ch-gva-2"
247+
```
248+
249+
After creating the secret, the chart may be installed:
250+
251+
```console
252+
$ helm install my-release autoscaler/cluster-autoscaler \
253+
--set cloudProvider=exoscale \
254+
--set autoDiscovery.clusterName=<CLUSTER NAME>
255+
```
256+
257+
Read [cluster-autoscaler/cloudprovider/exoscale/README.md](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/exoscale/README.md) for further information on the setup without helm.
258+
233259
## Uninstalling the Chart
234260

235261
To uninstall `my-release`:

magnum_cluster_api/charts/cluster-autoscaler/templates/clusterrole.yaml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,7 @@ rules:
151151
- cluster.x-k8s.io
152152
resources:
153153
- machinedeployments
154-
- machinedeployments/scale
155154
- machinepools
156-
- machinepools/scale
157155
- machines
158156
- machinesets
159157
verbs:
@@ -162,13 +160,13 @@ rules:
162160
- update
163161
- watch
164162
- apiGroups:
165-
- infrastructure.cluster.x-k8s.io
163+
- cluster.x-k8s.io
166164
resources:
167-
- openstackmachinetemplates
165+
- machinedeployments/scale
166+
- machinepools/scale
168167
verbs:
169168
- get
170-
- list
169+
- patch
171170
- update
172-
- watch
173171
{{- end }}
174172
{{- end -}}

magnum_cluster_api/charts/cluster-autoscaler/templates/deployment.yaml

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ spec:
8080
- --node-group-auto-discovery=mig:namePrefix={{ .name }},min={{ .minSize }},max={{ .maxSize }}
8181
{{- end }}
8282
{{- end }}
83-
{{- if eq .Values.cloudProvider "oci-oke" }}
83+
{{- if eq .Values.cloudProvider "oci" }}
8484
{{- if .Values.cloudConfigPath }}
8585
- --nodes={{ .minSize }}:{{ .maxSize }}:{{ .name }}
8686
- --balance-similar-node-groups
@@ -132,36 +132,36 @@ spec:
132132
valueFrom:
133133
secretKeyRef:
134134
key: AwsAccessKeyId
135-
name: {{ template "cluster-autoscaler.fullname" . }}
135+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
136136
{{- end }}
137137
{{- if .Values.awsSecretAccessKey }}
138138
- name: AWS_SECRET_ACCESS_KEY
139139
valueFrom:
140140
secretKeyRef:
141141
key: AwsSecretAccessKey
142-
name: {{ template "cluster-autoscaler.fullname" . }}
142+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
143143
{{- end }}
144144
{{- else if eq .Values.cloudProvider "azure" }}
145145
- name: ARM_SUBSCRIPTION_ID
146146
valueFrom:
147147
secretKeyRef:
148148
key: SubscriptionID
149-
name: {{ template "cluster-autoscaler.fullname" . }}
149+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
150150
- name: ARM_RESOURCE_GROUP
151151
valueFrom:
152152
secretKeyRef:
153153
key: ResourceGroup
154-
name: {{ template "cluster-autoscaler.fullname" . }}
154+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
155155
- name: ARM_VM_TYPE
156156
valueFrom:
157157
secretKeyRef:
158158
key: VMType
159-
name: {{ template "cluster-autoscaler.fullname" . }}
159+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
160160
- name: AZURE_CLUSTER_NAME
161161
valueFrom:
162162
secretKeyRef:
163163
key: ClusterName
164-
name: {{ template "cluster-autoscaler.fullname" . }}
164+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
165165
{{- if .Values.azureUseWorkloadIdentityExtension }}
166166
- name: ARM_USE_WORKLOAD_IDENTITY_EXTENSION
167167
value: "true"
@@ -173,23 +173,39 @@ spec:
173173
valueFrom:
174174
secretKeyRef:
175175
key: TenantID
176-
name: {{ template "cluster-autoscaler.fullname" . }}
176+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
177177
- name: ARM_CLIENT_ID
178178
valueFrom:
179179
secretKeyRef:
180180
key: ClientID
181-
name: {{ template "cluster-autoscaler.fullname" . }}
181+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
182182
- name: ARM_CLIENT_SECRET
183183
valueFrom:
184184
secretKeyRef:
185185
key: ClientSecret
186-
name: {{ template "cluster-autoscaler.fullname" . }}
186+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
187187
- name: AZURE_NODE_RESOURCE_GROUP
188188
valueFrom:
189189
secretKeyRef:
190190
key: NodeResourceGroup
191-
name: {{ template "cluster-autoscaler.fullname" . }}
191+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
192192
{{- end }}
193+
{{- else if eq .Values.cloudProvider "exoscale" }}
194+
- name: EXOSCALE_API_KEY
195+
valueFrom:
196+
secretKeyRef:
197+
key: api-key
198+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
199+
- name: EXOSCALE_API_SECRET
200+
valueFrom:
201+
secretKeyRef:
202+
key: api-secret
203+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
204+
- name: EXOSCALE_ZONE
205+
valueFrom:
206+
secretKeyRef:
207+
key: api-zone
208+
name: {{ default (include "cluster-autoscaler.fullname" .) .Values.secretKeyRefNameOverride }}
193209
{{- end }}
194210
{{- range $key, $value := .Values.extraEnv }}
195211
- name: {{ $key }}

magnum_cluster_api/charts/cluster-autoscaler/templates/role.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,23 @@ rules:
4949
- cluster.x-k8s.io
5050
resources:
5151
- machinedeployments
52-
- machinedeployments/scale
5352
- machinepools
54-
- machinepools/scale
5553
- machines
5654
- machinesets
5755
verbs:
5856
- get
5957
- list
6058
- update
6159
- watch
60+
- apiGroups:
61+
- cluster.x-k8s.io
62+
resources:
63+
- machinedeployments/scale
64+
- machinepools/scale
65+
verbs:
66+
- get
67+
- patch
68+
- update
6269
{{- end }}
6370
{{- if ( not .Values.rbac.clusterScoped ) }}
6471
- apiGroups:
Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1-
{{- if or (eq .Values.cloudProvider "azure") (and (eq .Values.cloudProvider "aws") (not (has "" (list .Values.awsAccessKeyID .Values.awsSecretAccessKey)))) }}
1+
{{- if not .Values.secretKeyRefNameOverride }}
2+
{{- $isAzure := eq .Values.cloudProvider "azure" }}
3+
{{- $isAws := eq .Values.cloudProvider "aws" }}
4+
{{- $awsCredentialsProvided := and .Values.awsAccessKeyID .Values.awsSecretAccessKey }}
5+
6+
{{- if or $isAzure (and $isAws $awsCredentialsProvided) }}
27
apiVersion: v1
38
kind: Secret
49
metadata:
510
name: {{ template "cluster-autoscaler.fullname" . }}
611
namespace: {{ .Release.Namespace }}
712
data:
8-
{{- if eq .Values.cloudProvider "azure" }}
13+
{{- if $isAzure }}
914
ClientID: "{{ .Values.azureClientID | b64enc }}"
1015
ClientSecret: "{{ .Values.azureClientSecret | b64enc }}"
1116
ResourceGroup: "{{ .Values.azureResourceGroup | b64enc }}"
@@ -14,8 +19,9 @@ data:
1419
VMType: "{{ .Values.azureVMType | b64enc }}"
1520
ClusterName: "{{ .Values.azureClusterName | b64enc }}"
1621
NodeResourceGroup: "{{ .Values.azureNodeResourceGroup | b64enc }}"
17-
{{- else if eq .Values.cloudProvider "aws" }}
22+
{{- else if $isAws }}
1823
AwsAccessKeyId: "{{ .Values.awsAccessKeyID | b64enc }}"
1924
AwsSecretAccessKey: "{{ .Values.awsSecretAccessKey | b64enc }}"
2025
{{- end }}
2126
{{- end }}
27+
{{- end }}

magnum_cluster_api/charts/cluster-autoscaler/values.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ affinity: {}
66
additionalLabels: {}
77

88
autoDiscovery:
9-
# cloudProviders `aws`, `gce`, `azure`, `magnum` and `clusterapi` `oci-oke` are supported by auto-discovery at this time
9+
# cloudProviders `aws`, `gce`, `azure`, `magnum`, `clusterapi` and `oci` are supported by auto-discovery at this time
1010
# AWS: Set tags as described in https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md#auto-discovery-setup
1111

1212
# autoDiscovery.clusterName -- Enable autodiscovery for `cloudProvider=aws`, for groups matching `autoDiscovery.tags`.
@@ -396,3 +396,6 @@ vpa:
396396
updateMode: "Auto"
397397
# vpa.containerPolicy -- [ContainerResourcePolicy](https://github.com/kubernetes/autoscaler/blob/vertical-pod-autoscaler/v0.13.0/vertical-pod-autoscaler/pkg/apis/autoscaling.k8s.io/v1/types.go#L159). The containerName is always et to the deployment's container name. This value is required if VPA is enabled.
398398
containerPolicy: {}
399+
400+
# secretKeyRefNameOverride -- Overrides the name of the Secret to use when loading the secretKeyRef for AWS and Azure env variables
401+
secretKeyRefNameOverride: ""

magnum_cluster_api/charts/patches/cluster-autoscaler/001-add-omt-to-clusterrole.patch

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)