Skip to content

Commit

Permalink
cluster-autoscaler: Fix priority expander config
Browse files Browse the repository at this point in the history
hakman committed May 10, 2024
1 parent 1082bcf commit 0a72efb
Showing 6 changed files with 23 additions and 16 deletions.
Original file line number Diff line number Diff line change
@@ -41,7 +41,7 @@ spec:
version: 9.99.0
- id: k8s-1.15
manifest: cluster-autoscaler.addons.k8s.io/k8s-1.15.yaml
manifestHash: 41dc4453160d8f9ae80a1b9beb288252649912296ca56dc3f70dda6cf3cbfaa1
manifestHash: 8170c20f6d8184dff873231d153b5f6d93f5d8dd75f739963f6d091b6b7f2187
name: cluster-autoscaler.addons.k8s.io
selector:
k8s-addon: cluster-autoscaler.addons.k8s.io
Original file line number Diff line number Diff line change
@@ -282,12 +282,12 @@ spec:
apiVersion: v1
data:
priorities: |-
"0":
0:
- .*
"50":
- .*low.*
"100":
100:
- .*high.*
50:
- .*low.*
kind: ConfigMap
metadata:
creationTimestamp: null
Original file line number Diff line number Diff line change
@@ -41,7 +41,7 @@ spec:
version: 9.99.0
- id: k8s-1.15
manifest: cluster-autoscaler.addons.k8s.io/k8s-1.15.yaml
manifestHash: 9b04006b3916dbc0e5fe22f2a23a1fa72d1665e12fe1b96f4cd7707cb823f7d7
manifestHash: f63778b4b540b89fff019defd1eec7e2320233b6eb54b46897a00589f3fceb92
name: cluster-autoscaler.addons.k8s.io
selector:
k8s-addon: cluster-autoscaler.addons.k8s.io
Original file line number Diff line number Diff line change
@@ -282,12 +282,12 @@ spec:
apiVersion: v1
data:
priorities: |-
"0":
0:
- nodes.cas-priority-expander.example.com
"50":
- nodes-low-priority.cas-priority-expander.example.com
"100":
100:
- nodes-high-priority.cas-priority-expander.example.com
50:
- nodes-low-priority.cas-priority-expander.example.com
kind: ConfigMap
metadata:
creationTimestamp: null
Original file line number Diff line number Diff line change
@@ -270,8 +270,7 @@ metadata:
k8s-addon: cluster-autoscaler.addons.k8s.io
k8s-app: cluster-autoscaler
data:
priorities: |-
{{- ClusterAutoscalerPriorities | ToYAML | nindent 4 }}
priorities: |- {{ ClusterAutoscalerPriorities | nindent 4 }}
{{ end }}
---
# Source: cluster-autoscaler/templates/deployment.yaml
16 changes: 12 additions & 4 deletions upup/pkg/fi/cloudup/template_functions.go
Original file line number Diff line number Diff line change
@@ -70,6 +70,7 @@ import (
"k8s.io/kops/upup/pkg/fi/cloudup/openstack"
"k8s.io/kops/upup/pkg/fi/cloudup/scaleway"
"k8s.io/kops/util/pkg/env"
"k8s.io/kops/util/pkg/maps"
"sigs.k8s.io/yaml"
)

@@ -337,19 +338,26 @@ func (tf *TemplateFunctions) AddTo(dest template.FuncMap, secretStore fi.SecretS
dest["UseServiceAccountExternalPermissions"] = tf.UseServiceAccountExternalPermissions

if cluster.Spec.ClusterAutoscaler != nil {
dest["ClusterAutoscalerPriorities"] = func() map[string][]string {
dest["ClusterAutoscalerPriorities"] = func() string {
priorities := make(map[string][]string)
if cluster.Spec.ClusterAutoscaler.CustomPriorityExpanderConfig != nil {
priorities = cluster.Spec.ClusterAutoscaler.CustomPriorityExpanderConfig
} else {
for name, spec := range tf.GetNodeInstanceGroups() {

if spec.Autoscale != nil {
priorities[fmt.Sprint(spec.AutoscalePriority)] = append(priorities[fmt.Sprint(spec.AutoscalePriority)], fmt.Sprintf("%s.%s", name, tf.ClusterName()))
priorities[strconv.Itoa(int(spec.AutoscalePriority))] = append(priorities[strconv.Itoa(int(spec.AutoscalePriority))], fmt.Sprintf("%s.%s", name, tf.ClusterName()))
}
}
}
return priorities

var prioritiesStr []string
for _, prio := range maps.SortedKeys(priorities) {
prioritiesStr = append(prioritiesStr, fmt.Sprintf("%s:", prio))
for _, value := range priorities[prio] {
prioritiesStr = append(prioritiesStr, fmt.Sprintf("- %s", value))
}
}
return strings.Join(prioritiesStr, "\n")
}
dest["CreateClusterAutoscalerPriorityConfig"] = func() bool {
return fi.ValueOf(cluster.Spec.ClusterAutoscaler.CreatePriorityExpenderConfig)

0 comments on commit 0a72efb

Please sign in to comment.