Impossibile eliminare una rete virtuale o una subnet usata da Istanze di Azure Container
Questo articolo illustra gli errori che si verificano quando si elimina una rete virtuale (VNet) o una subnet usata da Istanze di Azure Container (ACI) e fornisce soluzioni alternative.
Sintomi
Quando si elimina una subnet usata da ACI, si ricevono errori simili a quelli seguenti:
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.
Quando si elimina una rete virtuale usata da ACI, viene visualizzato l'errore seguente:
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.'
Causa 1: Un collegamento di associazione del servizio blocca l'eliminazione della rete virtuale o della subnet
La delega della subnet richiesta da ACI deve fare riferimento a un collegamento di associazione del servizio residuo, che impedisce l'eliminazione della rete virtuale o della subnet usata da ACI.
Soluzione alternativa: eliminare il collegamento all'associazione del servizio
Passare alla subnet nella portale di Azure.
Modificare la delega della subnet in Nessuno.
Eliminare i profili di rete usando il
az network profile delete
comando per assicurarsi che nessun profilo di rete sia collegato alla subnet.Se il comando nel passaggio 3 ha esito negativo, potrebbe esserci un profilo di rete persistente. Per eliminare un profilo di rete persistente, usare il comando seguente:
az network profile delete --id resourceIdOfNetworkProfile
Se i profili di rete bloccano ancora l'aggiornamento della subnet, provare a impostare di nuovo la delega della subnet su Nessuno .
Se i passaggi precedenti non sono utili, provare a eliminare il collegamento all'associazione dei servizi tramite l'interfaccia della riga di comando di Azure usando una versione api specificata, ad esempio la versione 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
Causa 2: I profili di rete bloccano l'eliminazione della rete virtuale/subnet
Quando si rimuove il gruppo di contenitori, il profilo di rete creato da ACI durante la creazione del gruppo di contenitori potrebbe non essere eliminato correttamente. Ciò comporta un elemento rimanente all'interno della rete virtuale o della subnet, che blocca determinate operazioni di eliminazione.
Soluzione alternativa 1: Eliminare il profilo di rete del gruppo di contenitori dal portale di Azure
Dopo aver eliminato tutti i gruppi di contenitori ACI, seguire questa procedura:
- Passare al gruppo di risorse.
- Selezionare Mostra tipi nascosti. Per impostazione predefinita, i profili di rete sono nascosti nella portale di Azure.
- Selezionare il profilo di rete correlato al gruppo di contenitori.
- Selezionare Elimina.
- Eliminare la rete virtuale o la subnet.
Soluzione alternativa 2: Eliminare il profilo di rete del gruppo di contenitori tramite l'interfaccia della riga di comando di Azure
Dopo aver eliminato tutti i gruppi di contenitori ACI, seguire questa procedura:
Recuperare l'ID del profilo di rete:
NetworkProfile=$(az network vnet subnet show -g $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME -o tsv --query ipConfigurationProfiles[].id)
Eliminare il profilo di rete:
az network profile delete --ids $NetworkProfile --yes
Eliminare la subnet:
az network vnet subnet delete --resource-group $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME
Eliminare la rete virtuale:
az network vnet delete --resource-group $RES_GROUP --name $SUBNET_NAME
Soluzione alternativa 3: Aggiornare la proprietà containerNetworkInterfaceConfigurations tramite l'interfaccia della riga di comando di Azure
Se l'eliminazione del profilo di rete tramite il portale di Azure e l'interfaccia della riga di comando di Azure non riesce, aggiornare la proprietà containerNetworkInterfaceConfigurations
del profilo di rete a un elenco vuoto:
Recuperare l'ID del profilo di rete:
NETWORK_PROFILE_ID=$(az network profile list --resource-group <resource-group-name> --query [0].id --output tsv)
Aggiornare il profilo di rete:
az resource update --ids $NETWORK_PROFILE_ID --set properties.containerNetworkInterfaceConfigurations=[]
Eliminare il profilo di rete e la subnet.
Contattaci per ricevere assistenza
In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.