From c0dc9797c85b98137e1edc908715b84418233135 Mon Sep 17 00:00:00 2001 From: Benjamin Ssempala <86492979+BenjaminSsempala@users.noreply.github.com> Date: Thu, 16 Jan 2025 00:19:06 +0300 Subject: [PATCH 1/4] Adjust resources and modify node selection for different Frontend applications --- k8s/calibrate/values-stage.yaml | 22 +++++++--------------- k8s/docs/values-stage.yaml | 13 ++++++------- k8s/inventory/values-stage.yaml | 24 ++++++++---------------- k8s/netmanager/values-stage.yaml | 20 ++++++-------------- k8s/platform/values-stage.yaml | 27 ++++++++++----------------- k8s/reports/values-stage.yaml | 24 ++++++++---------------- 6 files changed, 45 insertions(+), 85 deletions(-) diff --git a/k8s/calibrate/values-stage.yaml b/k8s/calibrate/values-stage.yaml index 9c23a1d0fb..db430a187d 100644 --- a/k8s/calibrate/values-stage.yaml +++ b/k8s/calibrate/values-stage.yaml @@ -19,10 +19,10 @@ service: nodePort: 31106 resources: limits: - cpu: 50m - memory: 80Mi + cpu: 10m + memory: 100Mi requests: - cpu: 5m + cpu: 1m memory: 20Mi autoscaling: minReplicas: 1 @@ -33,20 +33,12 @@ tolerations: [] affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: - matchExpressions: - - key: node-type + nodeSelectorTerms: + - matchExpressions: + - key: role operator: In values: - - general-purpose - - weight: 1 - preference: - matchExpressions: - - key: node-type - operator: In - values: - - high-memory + - control-plane app: name: airqo-stage-calibrate-app label: sta-calibrate-app diff --git a/k8s/docs/values-stage.yaml b/k8s/docs/values-stage.yaml index 92b0650dcb..ec03b37a5d 100644 --- a/k8s/docs/values-stage.yaml +++ b/k8s/docs/values-stage.yaml @@ -19,10 +19,10 @@ ingress: enabled: false resources: limits: - cpu: 50m + cpu: 10m memory: 100Mi requests: - cpu: 10m + cpu: 1m memory: 20Mi autoscaling: minReplicas: 1 @@ -33,13 +33,12 @@ tolerations: [] affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: - matchExpressions: - - key: node-type + nodeSelectorTerms: + - matchExpressions: + - key: role operator: In values: - - general-purpose + - control-plane app: name: airqo-stage-docs label: sta-docs diff --git a/k8s/inventory/values-stage.yaml b/k8s/inventory/values-stage.yaml index f6d7790d20..5a39b61251 100644 --- a/k8s/inventory/values-stage.yaml +++ b/k8s/inventory/values-stage.yaml @@ -17,11 +17,11 @@ nodeSelector: {} torelations: {} resources: requests: - cpu: 5m - memory: 20Mi + cpu: 1m + memory: 100Mi limits: - cpu: 50m - memory: 80Mi + cpu: 10m + memory: 150Mi autoscaling: minReplicas: 1 maxReplicas: 2 @@ -29,20 +29,12 @@ autoscaling: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: - matchExpressions: - - key: node-type + nodeSelectorTerms: + - matchExpressions: + - key: role operator: In values: - - general-purpose - - weight: 1 - preference: - matchExpressions: - - key: node-type - operator: In - values: - - high-memory + - control-plane app: name: airqo-stage-inventory label: airqo-inventory diff --git a/k8s/netmanager/values-stage.yaml b/k8s/netmanager/values-stage.yaml index 8b3338d98b..c8a313b246 100644 --- a/k8s/netmanager/values-stage.yaml +++ b/k8s/netmanager/values-stage.yaml @@ -17,10 +17,10 @@ nodeSelector: {} torelations: {} resources: requests: - cpu: 5m + cpu: 1m memory: 20Mi limits: - cpu: 50m + cpu: 10m memory: 80Mi autoscaling: minReplicas: 1 @@ -29,20 +29,12 @@ autoscaling: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: - matchExpressions: - - key: node-type + nodeSelectorTerms: + - matchExpressions: + - key: role operator: In values: - - general-purpose - - weight: 1 - preference: - matchExpressions: - - key: node-type - operator: In - values: - - high-memory + - control-plane app: name: airqo-stage-platform-frontend label: airqo-platform diff --git a/k8s/platform/values-stage.yaml b/k8s/platform/values-stage.yaml index 063f36823c..5bb5bbd892 100644 --- a/k8s/platform/values-stage.yaml +++ b/k8s/platform/values-stage.yaml @@ -20,10 +20,11 @@ ingress: resources: limits: cpu: 200m - memory: 700Mi - requests: - cpu: 100m memory: 250Mi + requests: + cpu: 10m + memory: 150Mi + autoscaling: minReplicas: 1 maxReplicas: 3 @@ -33,20 +34,12 @@ tolerations: [] affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: - matchExpressions: - - key: node-type - operator: In - values: - - general-purpose - - weight: 1 - preference: - matchExpressions: - - key: node-type - operator: In - values: - - high-memory + nodeSelectorTerms: + - matchExpressions: + - key: role + operator: In + values: + - control-plane app: name: airqo-stage-next-platform label: sta-next-platform diff --git a/k8s/reports/values-stage.yaml b/k8s/reports/values-stage.yaml index 0e7eb4ba48..e937ee8d75 100644 --- a/k8s/reports/values-stage.yaml +++ b/k8s/reports/values-stage.yaml @@ -17,11 +17,11 @@ nodeSelector: {} torelations: {} resources: requests: - cpu: 5m - memory: 20Mi + cpu: 1m + memory: 150Mi limits: - cpu: 50m - memory: 80Mi + cpu: 5m + memory: 200Mi autoscaling: minReplicas: 1 maxReplicas: 3 @@ -29,20 +29,12 @@ autoscaling: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: - matchExpressions: - - key: node-type - operator: In - values: - - general-purpose - - weight: 1 - preference: - matchExpressions: - - key: node-type + nodeSelectorTerms: + - matchExpressions: + - key: role operator: In values: - - high-memory + - moderate-usage app: name: airqo-stage-reports label: airqo-reports From b8207afcde571e15acff99b109522836e78cebdc Mon Sep 17 00:00:00 2001 From: Benjamin Ssempala <86492979+BenjaminSsempala@users.noreply.github.com> Date: Fri, 17 Jan 2025 04:01:45 +0300 Subject: [PATCH 2/4] Modify resources for some apps --- k8s/inventory/values-stage.yaml | 4 ++-- k8s/netmanager/values-stage.yaml | 6 +++--- k8s/platform/values-stage.yaml | 4 ++-- k8s/reports/values-stage.yaml | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/k8s/inventory/values-stage.yaml b/k8s/inventory/values-stage.yaml index 5a39b61251..de674efc8f 100644 --- a/k8s/inventory/values-stage.yaml +++ b/k8s/inventory/values-stage.yaml @@ -17,10 +17,10 @@ nodeSelector: {} torelations: {} resources: requests: - cpu: 1m + cpu: 10m memory: 100Mi limits: - cpu: 10m + cpu: 50m memory: 150Mi autoscaling: minReplicas: 1 diff --git a/k8s/netmanager/values-stage.yaml b/k8s/netmanager/values-stage.yaml index c8a313b246..fe2e5d9a21 100644 --- a/k8s/netmanager/values-stage.yaml +++ b/k8s/netmanager/values-stage.yaml @@ -17,11 +17,11 @@ nodeSelector: {} torelations: {} resources: requests: - cpu: 1m + cpu: 20m memory: 20Mi limits: - cpu: 10m - memory: 80Mi + cpu: 100m + memory: 200Mi autoscaling: minReplicas: 1 maxReplicas: 3 diff --git a/k8s/platform/values-stage.yaml b/k8s/platform/values-stage.yaml index 5bb5bbd892..3703293a47 100644 --- a/k8s/platform/values-stage.yaml +++ b/k8s/platform/values-stage.yaml @@ -20,9 +20,9 @@ ingress: resources: limits: cpu: 200m - memory: 250Mi + memory: 350Mi requests: - cpu: 10m + cpu: 20m memory: 150Mi autoscaling: diff --git a/k8s/reports/values-stage.yaml b/k8s/reports/values-stage.yaml index e937ee8d75..03acd59226 100644 --- a/k8s/reports/values-stage.yaml +++ b/k8s/reports/values-stage.yaml @@ -17,10 +17,10 @@ nodeSelector: {} torelations: {} resources: requests: - cpu: 1m + cpu: 10m memory: 150Mi limits: - cpu: 5m + cpu: 50m memory: 200Mi autoscaling: minReplicas: 1 From 46c84782dedc73175f0e72656a818a8955f4110b Mon Sep 17 00:00:00 2001 From: Benjamin Ssempala <86492979+BenjaminSsempala@users.noreply.github.com> Date: Mon, 20 Jan 2025 21:36:43 +0300 Subject: [PATCH 3/4] Resource optimisation --- k8s/calibrate/values-stage.yaml | 24 +++++++++--------------- k8s/docs/values-stage.yaml | 15 ++++++++------- k8s/inventory/values-stage.yaml | 26 ++++++++++---------------- k8s/netmanager/values-stage.yaml | 22 ++++++++-------------- k8s/platform/values-stage.yaml | 27 +++++++++++---------------- k8s/reports/values-stage.yaml | 28 +++++++++++----------------- 6 files changed, 57 insertions(+), 85 deletions(-) diff --git a/k8s/calibrate/values-stage.yaml b/k8s/calibrate/values-stage.yaml index 9c23a1d0fb..9bd7ea1242 100644 --- a/k8s/calibrate/values-stage.yaml +++ b/k8s/calibrate/values-stage.yaml @@ -20,7 +20,7 @@ service: resources: limits: cpu: 50m - memory: 80Mi + memory: 100Mi requests: cpu: 5m memory: 20Mi @@ -28,25 +28,19 @@ autoscaling: minReplicas: 1 maxReplicas: 2 targetMemoryUtilizationPercentage: 80 -nodeSelector: {} +nodeSelector: + role: control-plane tolerations: [] affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: + - preference: matchExpressions: - - key: node-type - operator: In - values: - - general-purpose - - weight: 1 - preference: - matchExpressions: - - key: node-type - operator: In - values: - - high-memory + - key: role + operator: In + values: + - control-plane + weight: 1 app: name: airqo-stage-calibrate-app label: sta-calibrate-app diff --git a/k8s/docs/values-stage.yaml b/k8s/docs/values-stage.yaml index 92b0650dcb..9b381a5181 100644 --- a/k8s/docs/values-stage.yaml +++ b/k8s/docs/values-stage.yaml @@ -28,18 +28,19 @@ autoscaling: minReplicas: 1 maxReplicas: 2 targetCPUUtilizationPercentage: 80 -nodeSelector: {} +nodeSelector: + role: control-plane tolerations: [] affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: + - preference: matchExpressions: - - key: node-type - operator: In - values: - - general-purpose + - key: role + operator: In + values: + - control-plane + weight: 1 app: name: airqo-stage-docs label: sta-docs diff --git a/k8s/inventory/values-stage.yaml b/k8s/inventory/values-stage.yaml index f6d7790d20..6685fa62d8 100644 --- a/k8s/inventory/values-stage.yaml +++ b/k8s/inventory/values-stage.yaml @@ -13,15 +13,16 @@ service: port: 8000 ingress: enabled: false -nodeSelector: {} +nodeSelector: + role: control-plane torelations: {} resources: requests: - cpu: 5m + cpu: 10m memory: 20Mi limits: cpu: 50m - memory: 80Mi + memory: 150Mi autoscaling: minReplicas: 1 maxReplicas: 2 @@ -29,20 +30,13 @@ autoscaling: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: + - preference: matchExpressions: - - key: node-type - operator: In - values: - - general-purpose - - weight: 1 - preference: - matchExpressions: - - key: node-type - operator: In - values: - - high-memory + - key: role + operator: In + values: + - control-plane + weight: 1 app: name: airqo-stage-inventory label: airqo-inventory diff --git a/k8s/netmanager/values-stage.yaml b/k8s/netmanager/values-stage.yaml index 8b3338d98b..1cdef83716 100644 --- a/k8s/netmanager/values-stage.yaml +++ b/k8s/netmanager/values-stage.yaml @@ -13,7 +13,8 @@ service: port: 80 ingress: enabled: false -nodeSelector: {} +nodeSelector: + role: control-plane torelations: {} resources: requests: @@ -29,20 +30,13 @@ autoscaling: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: + - preference: matchExpressions: - - key: node-type - operator: In - values: - - general-purpose - - weight: 1 - preference: - matchExpressions: - - key: node-type - operator: In - values: - - high-memory + - key: role + operator: In + values: + - control-plane + weight: 1 app: name: airqo-stage-platform-frontend label: airqo-platform diff --git a/k8s/platform/values-stage.yaml b/k8s/platform/values-stage.yaml index 7488764af2..a6fb6c14fe 100644 --- a/k8s/platform/values-stage.yaml +++ b/k8s/platform/values-stage.yaml @@ -20,33 +20,28 @@ ingress: resources: limits: cpu: 200m - memory: 700Mi - requests: - cpu: 100m memory: 250Mi + requests: + cpu: 20m + memory: 150Mi + autoscaling: minReplicas: 1 maxReplicas: 3 targetCPUUtilizationPercentage: 80 -nodeSelector: {} +nodeSelector: + role: control-plane tolerations: [] affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: - matchExpressions: - - key: node-type - operator: In - values: - - general-purpose - - weight: 1 - preference: - matchExpressions: - - key: node-type + - preference: + matchExpressions: + - key: role operator: In values: - - high-memory + - control-plane + weight: 1 app: name: airqo-stage-next-platform label: sta-next-platform diff --git a/k8s/reports/values-stage.yaml b/k8s/reports/values-stage.yaml index 0e7eb4ba48..cde62883a0 100644 --- a/k8s/reports/values-stage.yaml +++ b/k8s/reports/values-stage.yaml @@ -13,36 +13,30 @@ service: port: 3000 ingress: enabled: false -nodeSelector: {} torelations: {} resources: requests: - cpu: 5m - memory: 20Mi + cpu: 10m + memory: 150Mi limits: cpu: 50m - memory: 80Mi + memory: 200Mi autoscaling: minReplicas: 1 maxReplicas: 3 targetMemoryUtilizationPercentage: 80 +nodeSelector: + role: control-plane affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - - weight: 10 - preference: + - preference: matchExpressions: - - key: node-type - operator: In - values: - - general-purpose - - weight: 1 - preference: - matchExpressions: - - key: node-type - operator: In - values: - - high-memory + - key: role + operator: In + values: + - control-plane + weight: 1 app: name: airqo-stage-reports label: airqo-reports From 908cce5057251fea535f714b19381a3d891ba615 Mon Sep 17 00:00:00 2001 From: Benjamin Ssempala <86492979+BenjaminSsempala@users.noreply.github.com> Date: Wed, 22 Jan 2025 05:46:46 +0300 Subject: [PATCH 4/4] Merge changes --- k8s/calibrate/values-stage.yaml | 20 +++++++++++--------- k8s/docs/values-stage.yaml | 18 ++++++++++-------- k8s/inventory/values-stage.yaml | 18 ++++++++++-------- k8s/netmanager/values-stage.yaml | 22 ++++++++++++---------- k8s/platform/values-stage.yaml | 16 +++++++++------- k8s/reports/values-stage.yaml | 16 +++++++++------- 6 files changed, 61 insertions(+), 49 deletions(-) diff --git a/k8s/calibrate/values-stage.yaml b/k8s/calibrate/values-stage.yaml index db430a187d..9bd7ea1242 100644 --- a/k8s/calibrate/values-stage.yaml +++ b/k8s/calibrate/values-stage.yaml @@ -19,26 +19,28 @@ service: nodePort: 31106 resources: limits: - cpu: 10m + cpu: 50m memory: 100Mi requests: - cpu: 1m + cpu: 5m memory: 20Mi autoscaling: minReplicas: 1 maxReplicas: 2 targetMemoryUtilizationPercentage: 80 -nodeSelector: {} +nodeSelector: + role: control-plane tolerations: [] affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: role - operator: In - values: - - control-plane + - preference: + matchExpressions: + - key: role + operator: In + values: + - control-plane + weight: 1 app: name: airqo-stage-calibrate-app label: sta-calibrate-app diff --git a/k8s/docs/values-stage.yaml b/k8s/docs/values-stage.yaml index ec03b37a5d..d0a7c4553c 100644 --- a/k8s/docs/values-stage.yaml +++ b/k8s/docs/values-stage.yaml @@ -19,7 +19,7 @@ ingress: enabled: false resources: limits: - cpu: 10m + cpu: 50m memory: 100Mi requests: cpu: 1m @@ -28,17 +28,19 @@ autoscaling: minReplicas: 1 maxReplicas: 2 targetCPUUtilizationPercentage: 80 -nodeSelector: {} +nodeSelector: + role: control-plane tolerations: [] affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: role - operator: In - values: - - control-plane + - preference: + matchExpressions: + - key: role + operator: In + values: + - control-plane + weight: 1 app: name: airqo-stage-docs label: sta-docs diff --git a/k8s/inventory/values-stage.yaml b/k8s/inventory/values-stage.yaml index de674efc8f..6685fa62d8 100644 --- a/k8s/inventory/values-stage.yaml +++ b/k8s/inventory/values-stage.yaml @@ -13,12 +13,13 @@ service: port: 8000 ingress: enabled: false -nodeSelector: {} +nodeSelector: + role: control-plane torelations: {} resources: requests: cpu: 10m - memory: 100Mi + memory: 20Mi limits: cpu: 50m memory: 150Mi @@ -29,12 +30,13 @@ autoscaling: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: role - operator: In - values: - - control-plane + - preference: + matchExpressions: + - key: role + operator: In + values: + - control-plane + weight: 1 app: name: airqo-stage-inventory label: airqo-inventory diff --git a/k8s/netmanager/values-stage.yaml b/k8s/netmanager/values-stage.yaml index fe2e5d9a21..1cdef83716 100644 --- a/k8s/netmanager/values-stage.yaml +++ b/k8s/netmanager/values-stage.yaml @@ -13,15 +13,16 @@ service: port: 80 ingress: enabled: false -nodeSelector: {} +nodeSelector: + role: control-plane torelations: {} resources: requests: - cpu: 20m + cpu: 5m memory: 20Mi limits: - cpu: 100m - memory: 200Mi + cpu: 50m + memory: 80Mi autoscaling: minReplicas: 1 maxReplicas: 3 @@ -29,12 +30,13 @@ autoscaling: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: role - operator: In - values: - - control-plane + - preference: + matchExpressions: + - key: role + operator: In + values: + - control-plane + weight: 1 app: name: airqo-stage-platform-frontend label: airqo-platform diff --git a/k8s/platform/values-stage.yaml b/k8s/platform/values-stage.yaml index a5dc2095b8..aef3905adb 100644 --- a/k8s/platform/values-stage.yaml +++ b/k8s/platform/values-stage.yaml @@ -29,17 +29,19 @@ autoscaling: minReplicas: 1 maxReplicas: 3 targetCPUUtilizationPercentage: 80 -nodeSelector: {} +nodeSelector: + role: control-plane tolerations: [] affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: role - operator: In - values: - - control-plane + - preference: + matchExpressions: + - key: role + operator: In + values: + - control-plane + weight: 1 app: name: airqo-stage-next-platform label: sta-next-platform diff --git a/k8s/reports/values-stage.yaml b/k8s/reports/values-stage.yaml index 03acd59226..cde62883a0 100644 --- a/k8s/reports/values-stage.yaml +++ b/k8s/reports/values-stage.yaml @@ -13,7 +13,6 @@ service: port: 3000 ingress: enabled: false -nodeSelector: {} torelations: {} resources: requests: @@ -26,15 +25,18 @@ autoscaling: minReplicas: 1 maxReplicas: 3 targetMemoryUtilizationPercentage: 80 +nodeSelector: + role: control-plane affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: role - operator: In - values: - - moderate-usage + - preference: + matchExpressions: + - key: role + operator: In + values: + - control-plane + weight: 1 app: name: airqo-stage-reports label: airqo-reports