console/deployment/utils/azure-helpers.ts
2023-09-26 15:13:00 +03:00

56 lines
1.4 KiB
TypeScript

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.
*/
new k8s.core.v1.ConfigMap('optimize-azure-cluster', {
metadata: {
name: 'container-azm-ms-agentconfig',
namespace: 'kube-system',
},
data: {
'schema-version': 'v1',
'config-version': 'v1',
'log-data-collection-settings': `
[log_collection_settings]
[log_collection_settings.stdout]
enabled = false
[log_collection_settings.stderr]
enabled = false
[log_collection_settings.env_var]
enabled = false
[log_collection_settings.enrich_container_logs]
enabled = false
[log_collection_settings.collect_all_kube_events]
enabled = false
`,
},
});
}