Kubernetes environments often accumulate unused resources over time as applications evolve. Common examples include Persistent Volume Claims (PVCs) backed by Azure Disks, Services that trigger load balancer provisioning, or stale ConfigMaps and Secrets. When the associated deployments or pods are removed, these resources may remain unless explicitly deleted.
In AKS, this can lead to unmanaged costs, such as idle managed disks from orphaned PVCs or public load balancers from Services of type LoadBalancer. Even lightweight resources like unused Secrets or ConfigMaps degrade cluster hygiene and can introduce security or operational risk. This inefficiency is common across Kubernetes environments and is scoped here to AKS.
While AKS clusters do not charge for the control plane, costs arise from the underlying compute (VMs or node pools), storage (e.g., managed disks from PVCs), and networking (e.g., public IPs and load balancers from Services). Orphaned Kubernetes objects—such as PVCs, Services, ConfigMaps, and Secrets—may persist beyond the lifecycle of the workloads that created them, causing unnecessary consumption of Azure resources and cost.