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.'
Orsak 1: En tjänstassociationslänk blockerar borttagningen av VNET/undernätet
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.
Lösning: Ta bort länken för tjänstassociation
Navigera till undernätet i Azure Portal.
Ändra delegeringen av undernätet till Ingen.
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.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
Om nätverksprofiler fortfarande blockerar undernätsuppdateringen kan du försöka ställa in delegeringen av undernätet till Ingen igen.
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:
- Gå till resursgruppen.
- Välj Visa dolda typer. Som standard döljs nätverksprofiler i Azure Portal.
- Välj den nätverksprofil som är relaterad till containergruppen.
- Välj Ta bort.
- 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:
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)
Ta bort nätverksprofil:
az network profile delete --ids $NetworkProfile --yes
Ta bort undernät:
az network vnet subnet delete --resource-group $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME
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:
Hämta nätverksprofil-ID:
NETWORK_PROFILE_ID=$(az network profile list --resource-group <resource-group-name> --query [0].id --output tsv)
Uppdatera nätverksprofilen:
az resource update --ids $NETWORK_PROFILE_ID --set properties.containerNetworkInterfaceConfigurations=[]
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.