Nie można usunąć sieci wirtualnej lub podsieci używanej przez Azure Container Instances

W tym artykule omówiono błędy występujące podczas usuwania sieci wirtualnej lub podsieci używanej przez Azure Container Instances (ACI) i przedstawiono obejścia.

Symptomy

  • Po usunięciu 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.
    
  • Po usunięciu sieci wirtualnej używanej przez usługę ACI występuje 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.'
    

Delegowanie podsieci wymagane przez usługę ACI musi odwoływać się do pozostałego linku skojarzenia usługi, co uniemożliwia usunięcie sieci wirtualnej lub podsieci używanej przez usługę ACI.

  1. Przejdź do podsieci w Azure Portal.

  2. Zmień delegowanie podsieci na Brak.

  3. Usuń profile sieciowe za pomocą az network profile delete polecenia , aby upewnić się, że żadne profile sieciowe nie są połączone z podsiecią.

  4. Jeśli polecenie w kroku 3 nie powiedzie się, 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
    
  5. Jeśli profile sieciowe nadal blokują aktualizację podsieci, spróbuj ponownie ustawić delegowanie podsieci na Brak .

  6. 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ć poprawnie usunięty. Spowoduje to pozostanie w sieci wirtualnej lub podsieci, co blokuje niektóre operacje usuwania.

Obejście 1: Usuń profil sieciowy grupy kontenerów z Azure Portal

Po usunięciu wszystkich grup kontenerów usługi ACI wykonaj następujące kroki:

  1. Przejdź do grupy zasobów.
  2. Wybierz pozycję Pokaż ukryte typy. Domyślnie profile sieciowe są ukryte w Azure Portal.
  3. Wybierz profil sieciowy powiązany z grupą kontenerów.
  4. Wybierz pozycję Usuń.
  5. Usuń sieć wirtualną lub podsieć.

Obejście 2. Usuwanie profilu sieciowego grupy kontenerów za pośrednictwem interfejsu wiersza polecenia platformy Azure

Po usunięciu wszystkich grup kontenerów usługi ACI wykonaj następujące kroki:

  1. 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)
    
  2. Usuń profil sieciowy:

    az network profile delete --ids $NetworkProfile --yes
    
  3. Usuń podsieć:

    az network vnet subnet delete --resource-group $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME
    
  4. Usuń sieć wirtualną:

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

Obejście 3. Aktualizowanie właściwości containerNetworkInterfaceConfigurations za pośrednictwem interfejsu wiersza polecenia platformy Azure

Jeśli usunięcie profilu sieciowego za pośrednictwem Azure Portal i interfejsu wiersza polecenia platformy Azure zakończy się niepowodzeniem, zaktualizuj właściwość containerNetworkInterfaceConfigurations profilu sieciowego do pustej listy:

  1. Pobierz identyfikator profilu sieciowego:

    NETWORK_PROFILE_ID=$(az network profile list --resource-group <resource-group-name> --query [0].id --output tsv)
    
  2. Zaktualizuj profil sieciowy:

    az resource update --ids $NETWORK_PROFILE_ID --set properties.containerNetworkInterfaceConfigurations=[]
    
  3. 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 platformy Azure.