Share via

Azure AKS nodepools is leaving behind orphaned NIC's when scaling down

Nate Green 20 Reputation points
2026-02-17T23:30:51.6566667+00:00

We use managed nodepools (karpenter) our NIC's from terminated VM's are persisting even though it's no longer in k8s or the VM console.

Azure Kubernetes Service
Azure Kubernetes Service

An Azure service that provides serverless Kubernetes, an integrated continuous integration and continuous delivery experience, and enterprise-grade security and governance.

{count} votes

Answer accepted by question author
  1. Ankit Yadav 12,120 Reputation points Microsoft External Staff Moderator
    2026-02-18T08:09:09.67+00:00

    We tried to reproduce the issue on our side and, in our testing, the NICs were deleted correctly along with the VMs when using Node Auto Provisioner (NAP). Here’s what we did:

    1. Enabled NAP (--node-provisioning-mode Auto)
    2. Tainted existing nodes, deployed 25 high-resource pods
    3. NAP provisioned Karpenter VM (aks-default-4f25g, karpenter.sh/nodepool=default)
    4. Pods ran on Karpenter node
    5. Scaled deployment to 0
    6. Karpenter deprovisioned node (~10min)
    7. VM + NIC cleaned up completely (Portal/CLI confirmed).

    Based on our discussion with Nate, this doesn’t appear to be an inherent AKS issue. It seems more likely to occur when node lifecycle ownership becomes unclear, especially if Karpenter-managed nodes are deprovisioned outside of the AKS Node Auto Provisioner path. In those situations, the VM may delete successfully, but dependent resources like NICs might not clean up due to timing, dependency, or policy constraints.

    Since we couldn’t reproduce the issue, we’re unable to determine the exact root cause of the stale or unattached NICs from the original scenario, and therefore can’t point to a specific mitigation for that event.


    That said, we recommend a few supported ways to detect and manage stale NICs proactively.

    0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.