Share via

**Title:** Orphaned AzureKubernetesService serviceAssociationLink blocking subnet and VNet deletion after AKS cluster is gone

Abdul Hameed A 0 Reputation points
2026-04-05T07:10:16.1966667+00:00

@AzureSupport Hi, I have an orphaned serviceAssociationLink on a subnet that is blocking deletion of the subnet, VNet, and resource group. The AKS cluster no longer exists but the SAL remains with "allowDelete": false — making it impossible to remove through any client-side tooling.

Subscription: ********

Resource Group: rg-test-dev-networking

VNet: vnet-test-dev

Subnet: snet-aks-pods

SAL: .../serviceAssociationLinks/AzureKubernetesService

What I have tried:

❌ az network vnet subnet delete → InUseSubnetCannotBeDeleted

❌ az rest DELETE on the SAL → UnauthorizedClientApplication

❌ PowerShell ServiceAssociationLinks.Clear() → SubnetMissingRequiredDelegation

❌ az group delete → same block

❌ --force-deletion-types → did not help

❌ az resource delete --ids on SAL → failed

SAL JSON confirms: "allowDelete": false with no backing resource — classic orphaned platform state. Need backend cleanup. Can you please help?

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.


1 answer

Sort by: Most helpful
  1. Q&A Assist
    2026-04-05T07:10:29.5566667+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    The subnet and VNet are blocked because the AzureKubernetesService serviceAssociationLink (SAL) is still present and marked with allowDelete: false. This is an orphaned platform-side link similar to the App Service and ACI cases and cannot be removed purely from the client side once it is in this state.

    From the available guidance, the only supported resolutions for orphaned SALs are:

    1. Identify the blocking serviceAssociationLink
      • Use Azure CLI to confirm the SAL on the subnet:
             az network vnet subnet show \
               --resource-group rg-test-dev-networking \
               --vnet-name vnet-test-dev \
               --name snet-aks-pods \
               --query "serviceAssociationLinks[].{link:link, linkedResourceType:linkedResourceType}" \
               --output table
        
      • This will show the AzureKubernetesService SAL that is blocking deletion.
    2. Confirm there are no remaining resources using the subnet
      • Run the diagnostic-style query to ensure no NICs, private endpoints, or delegations are still present:
             az network vnet subnet show \
               --resource-group rg-test-dev-networking \
               --vnet-name vnet-test-dev \
               --name snet-aks-pods \
               --query "{delegations:delegations, serviceEndpoints:serviceEndpoints, ipConfigurations:ipConfigurations, privateEndpoints:privateEndpoints, serviceAssociationLinks:serviceAssociationLinks}"
        
      • If ipConfigurations or privateEndpoints contain values, those resources must be removed first. If only the SAL remains, the issue is an orphaned SAL.
    3. Handle orphaned SALs
      • For ACI and App Service, the documented pattern is to:
        • Explicitly delete the subnet first to avoid cascading delete confusion.
        • Then delete the SAL object directly with az resource delete or az rest using the SAL resource ID.
      • In the AKS scenario described in the context, when the error message references serviceAssociationLinks/AppServiceLink or similar, the guidance is to remove the external service resources and then delete the subnet. However, when the SAL is orphaned and allowDelete is false, platform-side cleanup is required.
    4. When client-side deletion of the SAL fails
      • The behavior described (UnauthorizedClientApplication, SubnetMissingRequiredDelegation, allowDelete: false) matches an orphaned platform state that cannot be fixed from the subscription using normal tools.
      • In this state, the only path forward is a backend purge of the orphaned SAL by Microsoft Support. This is consistent with the guidance for similar orphaned SAL issues (for example, App Service VNet integration and ACI network profiles) where a backend cleanup is required when direct deletion is blocked.
    5. Recommended next step
      • Open an Azure support request for the subscription and reference:
        • The full resource ID of the SAL: .../virtualNetworks/vnet-test-dev/subnets/snet-aks-pods/providers/Microsoft.ContainerService/serviceAssociationLinks/AzureKubernetesService (or the exact ID from the CLI output).
        • The error codes seen when attempting deletion: InUseSubnetCannotBeDeleted, UnauthorizedClientApplication, SubnetMissingRequiredDelegation.
        • That allowDelete is false and the AKS cluster and any associated resources are already deleted.
      • Ask support to perform a backend purge of the orphaned AzureKubernetesService serviceAssociationLink so that the subnet, VNet, and resource group can be deleted.

    Once the SAL is removed by support and any remaining NICs or private endpoints are confirmed deleted, subnet and VNet deletion should succeed.


    References:

    0 comments No comments

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.