Hi,
I have two nodepools in my AKS cluster; the default nodepool and an 'application' nodepool. I use the default nodepool for services like Airflow, and the application nodepool to run ETL jobs. However, the application nodepool never scales to zero, even when I do not schedule any ETL jobs for many hours.
I fail to understand why. Is there anyone who has any suggestions for the rootcause of the issue?
Below are some relevant details about the AKS cluster:
k top nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
aks-application-XXXXXXXX-vmss000000 55m 1% 1579Mi 12%
aks-default-XXXXXXXX-vmss000000 677m 17% 7783Mi 61%
az aks nodepool show \
--resource-group <my-rg> \
--cluster-name <my-cluster> \
--name application \
--query "{min: minCount, max: maxCount}"
{
"max": 2,
"min": 0
}
az aks show \
--resource-group <my-rg> \
--name <my-cluster> \
--query autoScalerProfile
{
"balanceSimilarNodeGroups": "false",
"expander": "random",
"maxEmptyBulkDelete": "10",
"maxGracefulTerminationSec": "180",
"maxNodeProvisionTime": "15m",
"maxTotalUnreadyPercentage": "45",
"newPodScaleUpDelay": "0s",
"okTotalUnreadyCount": "3",
"scaleDownDelayAfterAdd": "3m",
"scaleDownDelayAfterDelete": "10s",
"scaleDownDelayAfterFailure": "3m",
"scaleDownUnneededTime": "3m",
"scaleDownUnreadyTime": "20m",
"scaleDownUtilizationThreshold": "0.5",
"scanInterval": "10s",
"skipNodesWithLocalStorage": "true",
"skipNodesWithSystemPods": "false"
}
k get pods --sort-by="{.spec.nodeName}" -A -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE NODE
kube-system azure-ip-masq-agent-XXXXX 1/1 Running 0 3d17h aks-application-XXXXXXXX-vmss000000
kube-system metrics-server-XXXXXXXXXX-XXXXX 2/2 Running 0 3d17h aks-application-XXXXXXXX-vmss000000
kube-system metrics-server-XXXXXXXXXX-XXXXX 2/2 Running 0 3d17h aks-application-XXXXXXXX-vmss000000
kube-system kube-proxy-XXXXX 1/1 Running 0 3d17h aks-application-XXXXXXXX-vmss000000
kube-system csi-blob-node-XXXXX 3/3 Running 0 3d17h aks-application-XXXXXXXX-vmss000000
kube-system csi-azurefile-node-XXXXX 3/3 Running 0 3d17h aks-application-XXXXXXXX-vmss000000
kube-system csi-azuredisk-node-XXXXX 3/3 Running 0 3d17h aks-application-XXXXXXXX-vmss000000
kube-system cloud-node-manager-XXXXX 1/1 Running 0 3d17h aks-application-XXXXXXXX-vmss000000
kube-system cloud-node-manager-XXXXX 1/1 Running 0 3d21h aks-default-XXXXXXXX-vmss000000
airflow-prod airflow-pgbouncer-XXXXXXXXXX-XXXXX 2/2 Running 0 3d21h aks-default-XXXXXXXX-vmss000000
airflow-prod airflow-triggerer-XXXXXXXXX-XXXXX 1/1 Running 0 3d21h aks-default-XXXXXXXX-vmss000000
airflow-prod airflow-webserver-XXXXXXXXX-XXXXX 1/1 Running 0 3d21h aks-default-XXXXXXXX-vmss000000
airflow-prod airflow-scheduler-XXXXXXXXX-XXXXX 2/2 Running 0 3d21h aks-default-XXXXXXXX-vmss000000
kube-system azure-ip-masq-agent-XXXXX 1/1 Running 0 3d21h aks-default-XXXXXXXX-vmss000000
airflow-prod airflow-postgresql-0 1/1 Running 0 3d17h aks-default-XXXXXXXX-vmss000000
kube-system coredns-XXXXXXXXXX-XXXXX 1/1 Running 0 3d17h aks-default-XXXXXXXX-vmss000000
kube-system coredns-XXXXXXXXXX-XXXXX 1/1 Running 0 3d17h aks-default-XXXXXXXX-vmss000000
kube-system coredns-autoscaler-XXXXXXXXXX-XXXXX 1/1 Running 0 3d17h aks-default-XXXXXXXX-vmss000000
airflow-prod airflow-statsd-XXXXXXXX-XXXXX 1/1 Running 0 3d21h aks-default-XXXXXXXX-vmss000000
kube-system csi-azuredisk-node-XXXXX 3/3 Running 0 3d21h aks-default-XXXXXXXX-vmss000000
kube-system csi-azurefile-node-XXXXX 3/3 Running 0 3d21h aks-default-XXXXXXXX-vmss000000
kube-system csi-blob-node-XXXXX 3/3 Running 0 3d21h aks-default-XXXXXXXX-vmss000000
kube-system konnectivity-agent-XXXXXXXXXX-XXXXX 1/1 Running 0 3d17h aks-default-XXXXXXXX-vmss000000
kube-system konnectivity-agent-XXXXXXXXXX-XXXXX 1/1 Running 0 3d17h aks-default-XXXXXXXX-vmss000000
kube-system kube-proxy-XXXXX 1/1 Running 0 3d21h aks-default-XXXXXXXX-vmss000000