Skip to content

Commit 0e99047

Browse files
authored
reduce CPU pressure (#5)
this reduces Nginx, argo, kargo, and EKS addon cpu requests. a combination of helm change, terrafor, and akuity kustomizations are used
1 parent 34d04e5 commit 0e99047

4 files changed

Lines changed: 90 additions & 4 deletions

File tree

akuity-bootstrap/main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,12 +335,14 @@ resource "akp_cluster" "eks-cluster" {
335335
}
336336
}
337337
}
338+
338339

339340
name = data.terraform_remote_state.eks_clusters.outputs.primary_cluster_name
340341
namespace = "akuity"
341342
spec = {
342343
data = {
343344
size = "medium"
345+
kustomization = file("${path.module}/templates/argo-cluster-kustomization.yaml")
344346
}
345347
}
346348
depends_on = [akp_instance.se-demo-iac]
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# This file reduces CPU requests to relieve scheduling pressure on the cluster.
2+
apiVersion: kustomize.config.k8s.io/v1beta1
3+
kind: Kustomization
4+
patches:
5+
- target:
6+
group: apps
7+
version: v1
8+
kind: Deployment
9+
name: argocd-application-controller
10+
namespace: akuity
11+
patch: |-
12+
apiVersion: apps/v1
13+
kind: Deployment
14+
metadata:
15+
name: argocd-application-controller
16+
namespace: akuity
17+
spec:
18+
template:
19+
spec:
20+
containers:
21+
- name: syncer
22+
resources:
23+
requests:
24+
cpu: 50m
25+
- name: argocd-application-controller
26+
resources:
27+
requests:
28+
cpu: 100m
29+
- target:
30+
group: apps
31+
version: v1
32+
kind: Deployment
33+
name: argocd-repo-server
34+
namespace: akuity
35+
patch: |-
36+
apiVersion: apps/v1
37+
kind: Deployment
38+
metadata:
39+
name: argocd-application-controller
40+
namespace: akuity
41+
spec:
42+
template:
43+
spec:
44+
replicas: 1
45+
containers:
46+
- name: argocd-repo-server
47+
resources:
48+
requests:
49+
cpu: 50m
50+
- target:
51+
group: apps
52+
version: v1
53+
kind: Deployment
54+
name: kargo-controller-sedemo-primary
55+
namespace: akuity
56+
patch: |-
57+
apiVersion: apps/v1
58+
kind: Deployment
59+
metadata:
60+
name: kargo-controller-sedemo-primary
61+
namespace: akuity
62+
spec:
63+
template:
64+
spec:
65+
replicas: 1
66+
containers:
67+
- name: controller
68+
resources:
69+
requests:
70+
cpu: 100m

core-env/eks-clusters/main.tf

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,23 @@ module "eks" {
4646
enable_irsa = true
4747

4848
addons = {
49-
coredns = {}
50-
kube-proxy = {}
49+
coredns = {
50+
configuration_values = jsonencode({
51+
resources = {
52+
requests = {
53+
cpu = "50m"
54+
}
55+
}
56+
})
57+
}
58+
kube-proxy = {
59+
configuration_values = jsonencode({
60+
resources = {
61+
requests = {
62+
cpu = "50m"
63+
}
64+
}
65+
})}
5166
vpc-cni = {
5267
before_compute = true
5368
most_recent = true # To ensure access to the latest settings provided
@@ -83,7 +98,6 @@ module "eks" {
8398
}
8499

85100

86-
87101
}
88102
# Allow kubectl access via AWS SSO credentials
89103
access_entries = {

core-env/eks-clusters/nginx-helm/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ controller:
399399
## cpu: 100m
400400
## memory: 90Mi
401401
requests:
402-
cpu: 100m
402+
cpu: 10m
403403
memory: 90Mi
404404
# Mutually exclusive with keda autoscaling
405405
autoscaling:

0 commit comments

Comments
 (0)