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.'
Oorzaak 1: Een koppeling naar de service blokkeert het verwijderen van het VNET/subnet
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.
Tijdelijke oplossing: de koppeling naar de servicekoppeling verwijderen
Navigeer naar het subnet in Azure Portal.
Wijzig de subnetdelegering in None.
Verwijder netwerkprofielen met behulp van de
az network profile delete
opdracht om ervoor te zorgen dat er geen netwerkprofielen aan het subnet zijn gekoppeld.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
Als netwerkprofielen de subnetupdate nog steeds blokkeren, probeert u de subnetdelegering opnieuw in te stellen op Geen .
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:
- Ga naar de resourcegroep.
- Selecteer Verborgen typen weergeven. Netwerkprofielen zijn standaard verborgen in Azure Portal.
- Selecteer het netwerkprofiel dat is gerelateerd aan de containergroep.
- Selecteer Verwijderen.
- 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:
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)
Het netwerkprofiel verwijderen:
az network profile delete --ids $NetworkProfile --yes
Het subnet verwijderen:
az network vnet subnet delete --resource-group $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME
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:
Id voor netwerkprofiel ophalen:
NETWORK_PROFILE_ID=$(az network profile list --resource-group <resource-group-name> --query [0].id --output tsv)
Werk het netwerkprofiel bij:
az resource update --ids $NETWORK_PROFILE_ID --set properties.containerNetworkInterfaceConfigurations=[]
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.