Skip to content

Commit 4c9a67b

Browse files
committed
scale ebs-csi-controller vpa dynamically
1 parent b9d4f74 commit 4c9a67b

File tree

4 files changed

+23
-9
lines changed

4 files changed

+23
-9
lines changed

cluster/config-defaults.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -735,6 +735,7 @@ allowed_unsafe_sysctls: "net.ipv4.tcp_keepalive_time,net.ipv4.tcp_keepalive_intv
735735

736736
# the maximum amount of memory for EBS CSI controller's sidecars
737737
ebs_csi_controller_sidecar_memory: "80Mi"
738+
ebs_csi_controller_sidecar_cpu: "10m"
738739

739740
# pull images in parallel
740741
serialize_image_pulls: "false"

cluster/manifests/03-ebs-csi/controller.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,10 @@ spec:
9595
value: /var/lib/csi/sockets/pluginproxy/csi.sock
9696
resources:
9797
requests:
98-
cpu: 10m
98+
cpu: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_cpu }}
9999
memory: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_memory }}
100100
limits:
101-
cpu: 10m
101+
cpu: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_cpu }}
102102
memory: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_memory }}
103103
volumeMounts:
104104
- name: socket-dir
@@ -117,10 +117,10 @@ spec:
117117
value: /var/lib/csi/sockets/pluginproxy/csi.sock
118118
resources:
119119
requests:
120-
cpu: 10m
120+
cpu: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_cpu }}
121121
memory: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_memory }}
122122
limits:
123-
cpu: 10m
123+
cpu: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_cpu }}
124124
memory: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_memory }}
125125
volumeMounts:
126126
- name: socket-dir
@@ -139,10 +139,10 @@ spec:
139139
value: /var/lib/csi/sockets/pluginproxy/csi.sock
140140
resources:
141141
requests:
142-
cpu: 10m
142+
cpu: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_cpu }}
143143
memory: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_memory }}
144144
limits:
145-
cpu: 10m
145+
cpu: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_cpu }}
146146
memory: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_memory }}
147147
volumeMounts:
148148
- name: socket-dir

cluster/manifests/03-ebs-csi/vpa.yaml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,22 @@ spec:
1616
resourcePolicy:
1717
containerPolicies:
1818
- containerName: csi-provisioner
19+
{{ range $NodePool := .Cluster.NodePools }}
20+
{{ if eq $NodePool.name "default-master" }}
21+
# Scaling is relative to r6g.large (smallest master node)
22+
# 0.006 -> ~90Mi memory, 0.031 -> ~55m CPU
23+
{{ $scaledCPU := scaleQuantity ( instanceTypeCPU ( index .InstanceTypes 0 )) 0.031 }}
24+
{{ $scaledMemory := scaleQuantity ( instanceTypeMemory ( index .InstanceTypes 0 )) 0.006 }}
1925
maxAllowed:
20-
memory: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_memory }}
26+
cpu: {{ $scaledCPU }}
27+
memory: {{ $scaledMemory }}
2128
- containerName: csi-attacher
2229
maxAllowed:
23-
memory: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_memory }}
30+
cpu: {{ $scaledCPU }}
31+
memory: {{ $scaledMemory }}
2432
- containerName: csi-resizer
2533
maxAllowed:
26-
memory: {{ .Cluster.ConfigItems.ebs_csi_controller_sidecar_memory }}
34+
cpu: {{ $scaledCPU }}
35+
memory: {{ $scaledMemory }}
36+
{{ end }}
37+
{{ end }}

cluster/manifests/z-karpenter/vpa.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ spec:
2424
maxAllowed:
2525
{{ range $NodePool := .Cluster.NodePools}}
2626
{{ if eq $NodePool.Name "default-master" }}
27+
# Scaling is relative to r6g.large (smallest master node)
28+
# 0.016 -> ~250Mi memory, 0.027 -> ~50m CPU
2729
memory: {{ scaleQuantity (instanceTypeMemory (index .InstanceTypes 0)) 0.016 }}
2830
cpu: {{ scaleQuantity (instanceTypeCPU (index .InstanceTypes 0)) 0.027 }}
2931
{{ end }}

0 commit comments

Comments
 (0)