Не удалось удалить виртуальную сеть или подсеть, используемую Экземпляры контейнеров Azure
В этой статье рассматриваются ошибки, возникающие при удалении виртуальной сети (виртуальной сети) или подсети, используемой Экземпляры контейнеров Azure (ACI), и предоставляются обходные пути.
Симптомы
При удалении подсети, используемой ACI, возникают ошибки, похожие на следующие:
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.
При удалении виртуальной сети, используемой ACI, возникает следующая ошибка:
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.'
Причина 1. Ссылка на связь службы блокирует удаление виртуальной сети или подсети
Делегирование подсети, требуемое ACI, должно ссылаться на остаточное соединение службы, что предотвращает удаление виртуальной сети или подсети, используемой ACI.
Обходной путь. Удаление ссылки связи между службами
Перейдите к подсети в портал Azure.
Измените делегирование подсети на None.
Удалите сетевые
az network profile delete
профили с помощью команды, чтобы убедиться, что профили сети не связаны с подсетью.Если команда на шаге 3 завершается ошибкой, может возникнуть задержка сетевого профиля. Чтобы удалить затяжной сетевой профиль, используйте следующую команду:
az network profile delete --id resourceIdOfNetworkProfile
Если сетевые профили по-прежнему блокируют обновление подсети, попробуйте снова задать делегирование подсети значение None .
Если предыдущие шаги не помогают, попробуйте удалить ссылку ассоциации служб с помощью Azure CLI с помощью указанной версии API, например версии 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
Причина 2. Профили сети блокируют удаление виртуальной сети или подсети
При удалении группы контейнеров сетевой профиль, созданный ACI во время создания группы контейнеров, может быть неправильно удален. Это приводит к тому, что в виртуальной сети или подсети остается что-то, что блокирует определенные операции удаления.
Решение 1. Удаление сетевого профиля группы контейнеров из портал Azure
После удаления всех групп контейнеров ACI выполните следующие действия.
- Перейдите в группу ресурсов.
- Выберите Показать скрытые типы. По умолчанию сетевые профили скрыты в портал Azure.
- Выберите сетевой профиль, связанный с группой контейнеров.
- Выберите команду Удалить.
- Удалите виртуальную сеть или подсеть.
Решение 2. Удаление сетевого профиля группы контейнеров с помощью Azure CLI
После удаления всех групп контейнеров ACI выполните следующие действия.
Получите идентификатор сетевого профиля:
NetworkProfile=$(az network vnet subnet show -g $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME -o tsv --query ipConfigurationProfiles[].id)
Удалите сетевой профиль:
az network profile delete --ids $NetworkProfile --yes
Удалите подсеть:
az network vnet subnet delete --resource-group $RES_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME
Удаление виртуальной сети:
az network vnet delete --resource-group $RES_GROUP --name $SUBNET_NAME
Обходное решение 3. Обновление свойства containerNetworkInterfaceConfigurations с помощью Azure CLI
Если удаление сетевого профиля через портал Azure и Azure CLI завершается ошибкой, обновите свойство containerNetworkInterfaceConfigurations
сетевого профиля до пустого списка:
Получите идентификатор сетевого профиля:
NETWORK_PROFILE_ID=$(az network profile list --resource-group <resource-group-name> --query [0].id --output tsv)
Обновите сетевой профиль:
az resource update --ids $NETWORK_PROFILE_ID --set properties.containerNetworkInterfaceConfigurations=[]
Удалите профиль сети и подсеть.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.