Delen via


Kan een virtueel netwerk of subnet dat wordt gebruikt door Azure Container Instances niet verwijderen

In dit artikel worden fouten besproken die optreden wanneer u een virtueel netwerk (VNet) of subnet verwijdert dat wordt gebruikt door Azure Container Instances (ACI) en tijdelijke oplossingen biedt.

Symptomen

  • Wanneer u een subnet verwijdert dat door ACI wordt gebruikt, ontvangt u fouten die er ongeveer als volgt uitzien:

    Failed to delete subnet '<subnet-name>'.
    Error: 'Subnet /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name> requires any of the following delegations
    [Microsoft.ContainerInstance/containerGroups] to reference service association link /
    subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name>/serviceAssociationLinks/acisal.'
    
    Subnet <subnet-name> is in use by /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/networkProfiles/aci-network-profile-<network-profile-name>/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile and cannot be deleted. 
    In order to delete the subnet, delete all the resources within the subnet. See aka.ms/deletesubnet.
    
    Failed to delete subnet '<subnet-name>'. 
    Error: Subnet <subnet-name> is in use by /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/networkProfiles/aci-network-profile-<network-profile-name>/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile/aci-network-profile-<network-profile-name>/eth0/ipconfigprofile and cannot be deleted. 
    In order to delete the subnet, delete all the resources within the subnet. See aka.ms/deletesubnet.
    
  • Wanneer u een VNet verwijdert dat door ACI wordt gebruikt, wordt de volgende fout weergegeven:

    Failed to delete virtual network '<vnet-name>'. 
    Error: 'Subnet /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name> requires any of the following delegations [Microsoft.ContainerInstance/containerGroups] to reference service association link 
    /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name>/serviceAssociationLinks/acisal.'
    

De door ACI vereiste subnetdelegering moet verwijzen naar een restkoppeling voor servicekoppelingen, waardoor het verwijderen van het VNet of subnet dat door ACI wordt gebruikt, wordt voorkomen.

  1. Navigeer naar het subnet in Azure Portal.

  2. Wijzig de subnetdelegering in None.

  3. Verwijder netwerkprofielen met behulp van de az network profile delete opdracht om ervoor te zorgen dat er geen netwerkprofielen aan het subnet zijn gekoppeld.

  4. Als de opdracht in stap 3 mislukt, is er mogelijk een achtergebleven netwerkprofiel. Gebruik de volgende opdracht om een achterblijvend netwerkprofiel te verwijderen:

    az network profile delete --id resourceIdOfNetworkProfile
    
  5. Als netwerkprofielen de subnetupdate nog steeds blokkeren, probeert u de subnetdelegering opnieuw in te stellen op Geen .

  6. Als de vorige stappen niet helpen, probeert u de servicekoppeling te verwijderen via de Azure CLI met behulp van een opgegeven API-versie, zoals versie 2018-10-01:

    az resource delete --ids /subscriptions/<subscription-id>/resourceGroups/<resourcegroup-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name>/providers/Microsoft.ContainerInstance/serviceAssociationLinks/default --api-version 2018-10-01
    

Oorzaak 2: Netwerkprofielen blokkeren het verwijderen van het VNet/subnet

Wanneer u de containergroep verwijdert, wordt het netwerkprofiel dat door ACI is gemaakt tijdens het maken van de containergroep mogelijk niet correct verwijderd. Dit resulteert in iets dat binnen het VNet of subnet blijft, waardoor bepaalde verwijderbewerkingen worden geblokkeerd.

Tijdelijke oplossing 1: het netwerkprofiel van de containergroep verwijderen uit Azure Portal

Nadat u alle ACI-containergroepen hebt verwijderd, voert u de volgende stappen uit:

  1. Ga naar de resourcegroep.
  2. Selecteer Verborgen typen weergeven. Netwerkprofielen zijn standaard verborgen in Azure Portal.
  3. Selecteer het netwerkprofiel dat is gerelateerd aan de containergroep.
  4. Selecteer Verwijderen.
  5. Verwijder het VNet of subnet.

Tijdelijke oplossing 2: het netwerkprofiel van de containergroep verwijderen via Azure CLI

Nadat u alle ACI-containergroepen hebt verwijderd, voert u de volgende stappen uit:

  1. Id voor netwerkprofiel ophalen:

    NetworkProfile=$(az network vnet subnet show -g $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME -o tsv --query ipConfigurationProfiles[].id)
    
  2. Het netwerkprofiel verwijderen:

    az network profile delete --ids $NetworkProfile --yes
    
  3. Het subnet verwijderen:

    az network vnet subnet delete --resource-group $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME
    
  4. Verwijder het VNet:

    az network vnet delete --resource-group $RES_GROUP --name $SUBNET_NAME
    

Tijdelijke oplossing 3: de eigenschap containerNetworkInterfaceConfigurations bijwerken via Azure CLI

Als het verwijderen van het netwerkprofiel via Azure Portal en Azure CLI mislukt, werkt u de eigenschap containerNetworkInterfaceConfigurations van het netwerkprofiel bij naar een lege lijst:

  1. Id voor netwerkprofiel ophalen:

    NETWORK_PROFILE_ID=$(az network profile list --resource-group <resource-group-name> --query [0].id --output tsv)
    
  2. Werk het netwerkprofiel bij:

    az resource update --ids $NETWORK_PROFILE_ID --set properties.containerNetworkInterfaceConfigurations=[]
    
  3. Verwijder het netwerkprofiel en het subnet.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.