diff --git a/deployment/utils/azure-helpers.ts b/deployment/utils/azure-helpers.ts index 38622b0c2..e14b8903b 100644 --- a/deployment/utils/azure-helpers.ts +++ b/deployment/utils/azure-helpers.ts @@ -1,6 +1,30 @@ import * as k8s from '@pulumi/kubernetes'; export function optimizeAzureCluster() { + /** + * The following configures the metrics server to use the correct resources limit: + * https://learn.microsoft.com/en-us/azure/aks/use-metrics-server-vertical-pod-autoscaler + */ + new k8s.core.v1.ConfigMap('metrics-server-config', { + metadata: { + name: 'metrics-server-config', + namespace: 'kube-system', + labels: { + 'kubernetes.io/cluster-service': 'true', + 'addonmanager.kubernetes.io/mode': 'EnsureExists', + }, + }, + data: { + NannyConfiguration: ` +apiVersion: nannyconfig/v1alpha1 +kind: NannyConfiguration +baseCPU: 200m +cpuPerNode: 3m +baseMemory: 200Mi +memoryPerNode: 24Mi`, + }, + }); + /** * The following disabled Azure logging. We are not really using it. */