Dela via


Det gick inte att ta bort ett virtuellt nätverk eller undernät som används av Azure Container Instances

I den här artikeln beskrivs fel som uppstår när du tar bort ett virtuellt nätverk (VNet) eller undernät som används av Azure Container Instances (ACI) och tillhandahåller lösningar.

Symptom

  • När du tar bort ett undernät som används av ACI får du fel som liknar följande:

    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.
    
  • När du tar bort ett virtuellt nätverk som används av ACI får du följande fel:

    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.'
    

Den delegering av undernät som krävs av ACI måste referera till en tjänstassociationslänk som förhindrar borttagning av det virtuella nätverket eller undernätet som används av ACI.

  1. Navigera till undernätet i Azure Portal.

  2. Ändra delegeringen av undernätet till Ingen.

  3. Ta bort nätverksprofiler med az network profile delete kommandot för att se till att inga nätverksprofiler är länkade till undernätet.

  4. Om kommandot i steg 3 misslyckas kan det finnas en kvardröjande nätverksprofil. Om du vill ta bort en kvardröjande nätverksprofil använder du följande kommando:

    az network profile delete --id resourceIdOfNetworkProfile
    
  5. Om nätverksprofiler fortfarande blockerar undernätsuppdateringen kan du försöka ställa in delegeringen av undernätet till Ingen igen.

  6. Om föregående steg inte hjälper kan du försöka ta bort Service Association Link via Azure CLI med en angiven API-version, till exempel version 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
    

Orsak 2: Nätverksprofiler blockerar borttagningen av det virtuella nätverket/undernätet

När du tar bort containergruppen kanske nätverksprofilen som skapades av ACI när containergruppen skapades kanske inte tas bort korrekt. Detta resulterar i något som finns kvar i det virtuella nätverket eller undernätet, vilket blockerar vissa borttagningsåtgärder.

Lösning 1: Ta bort nätverksprofilen för containergruppen från Azure Portal

När du har raderat alla ACI-containergrupper följer du dessa steg:

  1. Gå till resursgruppen.
  2. Välj Visa dolda typer. Som standard döljs nätverksprofiler i Azure Portal.
  3. Välj den nätverksprofil som är relaterad till containergruppen.
  4. Välj Ta bort.
  5. Ta bort det virtuella nätverket eller undernätet.

Lösning 2: Ta bort nätverksprofilen för containergruppen via Azure CLI

När du har raderat alla ACI-containergrupper följer du dessa steg:

  1. Hämta nätverksprofil-ID:

    NetworkProfile=$(az network vnet subnet show -g $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME -o tsv --query ipConfigurationProfiles[].id)
    
  2. Ta bort nätverksprofil:

    az network profile delete --ids $NetworkProfile --yes
    
  3. Ta bort undernät:

    az network vnet subnet delete --resource-group $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME
    
  4. Ta bort det virtuella nätverket:

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

Lösning 3: Uppdatera egenskapen containerNetworkInterfaceConfigurations via Azure CLI

Om det inte går att ta bort nätverksprofilen via Azure Portal och Azure CLI uppdaterar du nätverksprofilegenskapen containerNetworkInterfaceConfigurations till en tom lista:

  1. Hämta nätverksprofil-ID:

    NETWORK_PROFILE_ID=$(az network profile list --resource-group <resource-group-name> --query [0].id --output tsv)
    
  2. Uppdatera nätverksprofilen:

    az resource update --ids $NETWORK_PROFILE_ID --set properties.containerNetworkInterfaceConfigurations=[]
    
  3. Ta bort nätverksprofilen och undernätet.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.