From 498080ceb615794942938cafda558a20220cd40b Mon Sep 17 00:00:00 2001 From: Willi Carlsen Date: Fri, 19 Jun 2026 12:26:22 +0200 Subject: [PATCH 1/2] Karpenter EC2NodeClass supports maxPods and kubeReserved directly in the spec Signed-off-by: Willi Carlsen --- apps/karpenter-nodes/classes/al2023.yaml | 32 ++++++++---------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/apps/karpenter-nodes/classes/al2023.yaml b/apps/karpenter-nodes/classes/al2023.yaml index 5eddca89..64e5671f 100644 --- a/apps/karpenter-nodes/classes/al2023.yaml +++ b/apps/karpenter-nodes/classes/al2023.yaml @@ -24,6 +24,10 @@ spec: karpenter.sh/discovery: "${flux_cluster_name}" detailedMonitoring: true associatePublicIPAddress: true + kubelet: + maxPods: 110 + kubeReserved: + memory: 1465Mi # 255Mi + (11Mi * maxPods) userData: | MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="BOUNDARY" @@ -34,9 +38,6 @@ spec: #!/bin/sh set -o xtrace - echo fs.inotify.max_user_watches=131072 | sudo tee -a /etc/sysctl.conf - sudo sysctl -p - DOCKER_HUB_CREDS=$(aws ssm get-parameter --name /eks/${flux_cluster_name}/dockerhub --with-decrypt --query 'Parameter.Value' --output text) DOCKER_HUB_USER=$(echo "$DOCKER_HUB_CREDS" | jq .username) DOCKER_HUB_PASSWD=$(echo "$DOCKER_HUB_CREDS" | jq .password) @@ -57,14 +58,7 @@ spec: spec: kubelet: config: - maxPods: 110 - registryPullQPS: 0 - kubeReserved: - cpu: 700m - memory: 1024Mi - systemReserved: - cpu: 700m - memory: 1024Mi + registryPullQPS: 0 # since not available in the spec --BOUNDARY-- @@ -94,6 +88,10 @@ spec: karpenter.sh/discovery: "${flux_cluster_name}" detailedMonitoring: true associatePublicIPAddress: true + kubelet: + maxPods: 110 + kubeReserved: + memory: 1465Mi # 255Mi + (11Mi * maxPods) userData: | MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="BOUNDARY" @@ -104,9 +102,6 @@ spec: #!/bin/sh set -o xtrace - echo fs.inotify.max_user_watches=131072 | sudo tee -a /etc/sysctl.conf - sudo sysctl -p - DOCKER_HUB_CREDS=$(aws ssm get-parameter --name /eks/${flux_cluster_name}/dockerhub --with-decrypt --query 'Parameter.Value' --output text) DOCKER_HUB_USER=$(echo "$DOCKER_HUB_CREDS" | jq .username) DOCKER_HUB_PASSWD=$(echo "$DOCKER_HUB_CREDS" | jq .password) @@ -127,13 +122,6 @@ spec: spec: kubelet: config: - maxPods: 110 - registryPullQPS: 0 - kubeReserved: - cpu: 700m - memory: 1024Mi - systemReserved: - cpu: 700m - memory: 1024Mi + registryPullQPS: 0 # since not available in the spec --BOUNDARY-- \ No newline at end of file From 9d8c00d2f8a88887ac99581c586d29f5dc4152a9 Mon Sep 17 00:00:00 2001 From: Willi Carlsen Date: Mon, 22 Jun 2026 08:37:34 +0200 Subject: [PATCH 2/2] Added 200Mi for systemReserved Signed-off-by: Willi Carlsen --- apps/karpenter-nodes/classes/al2023.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/karpenter-nodes/classes/al2023.yaml b/apps/karpenter-nodes/classes/al2023.yaml index 64e5671f..f69dc19a 100644 --- a/apps/karpenter-nodes/classes/al2023.yaml +++ b/apps/karpenter-nodes/classes/al2023.yaml @@ -28,6 +28,8 @@ spec: maxPods: 110 kubeReserved: memory: 1465Mi # 255Mi + (11Mi * maxPods) + systemReserved: + memory: 200Mi userData: | MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="BOUNDARY" @@ -92,6 +94,8 @@ spec: maxPods: 110 kubeReserved: memory: 1465Mi # 255Mi + (11Mi * maxPods) + systemReserved: + memory: 200Mi userData: | MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="BOUNDARY" @@ -124,4 +128,4 @@ spec: config: registryPullQPS: 0 # since not available in the spec - --BOUNDARY-- \ No newline at end of file + --BOUNDARY--