Nie można usunąć sieci wirtualnej lub podsieci używanej przez usługę Azure Container Instances
W tym artykule omówiono błędy występujące podczas usuwania sieci wirtualnej (VNet) lub podsieci używanej przez usługę Azure Container Instances (ACI) i zapewnia obejścia.
Symptomy
Podczas usuwania podsieci używanej przez usługę ACI występują błędy podobne do następujących:
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.
Podczas usuwania sieci wirtualnej używanej przez usługę ACI zostanie wyświetlony następujący błąd:
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.'
Przyczyna 1. Łącze skojarzenia usługi blokuje usunięcie sieci wirtualnej/podsieci
Delegowanie podsieci wymagane przez usługę ACI musi odwoływać się do łącza pozostałego skojarzenia usługi, co uniemożliwia usunięcie sieci wirtualnej lub podsieci używanej przez usługę ACI.
Obejście: Usuń łącze skojarzenia usługi
Przejdź do podsieci w witrynie Azure Portal.
Zmień delegowanie podsieci na Brak.
Usuń profile sieciowe przy użyciu
az network profile delete
polecenia , aby upewnić się, że żadne profile sieciowe nie są połączone z podsiecią.Jeśli polecenie w kroku 3 zakończy się niepowodzeniem, może istnieć utrzymujący się profil sieciowy. Aby usunąć utrzymujący się profil sieciowy, użyj następującego polecenia:
az network profile delete --id resourceIdOfNetworkProfile
Jeśli profile sieciowe nadal blokują aktualizację podsieci, spróbuj ponownie ustawić delegowanie podsieci na Brak .
Jeśli poprzednie kroki nie pomogą, spróbuj usunąć link skojarzenia usługi za pośrednictwem interfejsu wiersza polecenia platformy Azure przy użyciu określonej wersji interfejsu API, takiej jak wersja 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
Przyczyna 2. Profile sieciowe blokują usunięcie sieci wirtualnej/podsieci
Po usunięciu grupy kontenerów profil sieciowy utworzony przez usługę ACI podczas tworzenia grupy kontenerów może nie zostać prawidłowo usunięty. Spowoduje to pozostanie w sieci wirtualnej lub podsieci, co blokuje niektóre operacje usuwania.
Obejście 1. Usuwanie profilu sieciowego grupy kontenerów z witryny Azure Portal
Po usunięciu wszystkich grup kontenerów usługi ACI wykonaj następujące kroki:
- Przejdź do grupy zasobów.
- Wybierz pozycję Pokaż ukryte typy. Domyślnie profile sieciowe są ukryte w witrynie Azure Portal.
- Wybierz profil sieciowy powiązany z grupą kontenerów.
- Wybierz Usuń.
- Usuń sieć wirtualną lub podsieć.
Obejście 2. Usuwanie profilu sieciowego grupy kontenerów za pomocą interfejsu wiersza polecenia platformy Azure
Po usunięciu wszystkich grup kontenerów usługi ACI wykonaj następujące kroki:
Pobierz identyfikator profilu sieciowego:
NetworkProfile=$(az network vnet subnet show -g $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME -o tsv --query ipConfigurationProfiles[].id)
Usuń profil sieciowy:
az network profile delete --ids $NetworkProfile --yes
Usuń podsieć:
az network vnet subnet delete --resource-group $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME
Usuń sieć wirtualną:
az network vnet delete --resource-group $RES_GROUP --name $SUBNET_NAME
Obejście 3. Aktualizowanie właściwości containerNetworkInterfaceConfigurations za pomocą interfejsu wiersza polecenia platformy Azure
Jeśli usunięcie profilu sieciowego za pośrednictwem witryny Azure Portal i interfejsu wiersza polecenia platformy Azure zakończy się niepowodzeniem, zaktualizuj właściwość containerNetworkInterfaceConfigurations
profilu sieciowego do pustej listy:
Pobierz identyfikator profilu sieciowego:
NETWORK_PROFILE_ID=$(az network profile list --resource-group <resource-group-name> --query [0].id --output tsv)
Zaktualizuj profil sieciowy:
az resource update --ids $NETWORK_PROFILE_ID --set properties.containerNetworkInterfaceConfigurations=[]
Usuń profil sieciowy i podsieć.
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.