无法删除子网

Failed to delete subnet

我通过 Azure CLI 创建了一个带有新 vnet 和子网的新 Azure 容器实例 (ACI)

我从 Azure 门户删除了 ACI,现在我尝试删除子网,但出现以下错误:

无法删除子网 'SubnetNAme'。错误:aci-network-profile-VNETNAME-SubnetNAme/eth0/ipconfigprofile 正在使用子网 SubnetNAme,无法删除。要删除子网,请删除子网内的所有资源。参见别名。ms/deletesubnet.

如果我尝试访问 aci-network-profile-VNETNAME-SubnetNAme/eth0/ipconfigprofile,它告诉我不存在此资源:

详情 找不到资源,它可能已被删除。如果这是从仪表板上的固定磁贴启动的,则应将其删除。

好吧,我认为您最好的选择是尝试找到挥之不去的资源并将其删除(休息 api 可能在这里最有效)。另一种选择是重新创建具有相同名称的 ACI,并在删除之前删除与网络的绑定。

最后一个选择是联系支持人员 ;)

对于您的问题,您需要通过 Azure CLI 命令删除网络配置文件,而不是在门户中找到 aci-network-profile-VNETNAME-SubnetNAme/eth0/ipconfigprofile

NETWORK_PROFILE_ID=$(az network profile list --resource-group yourResourceGroup --query [0].id --output tsv)

az network profile delete --id $NETWORK_PROFILE_ID -y

删除网络配置文件后,您可以根据需要删除子网。有关详细信息,请参阅 Delete network resources

我遇到了同样的问题,我帮助执行了以下步骤以删除带有垃圾容器 nic 的 aci 子网和 vnet:

1st - 通过命令查找问题网络配置文件的名称 -> az network profile list --query [].name -o tsv

2 - 通过 terraform 创建资源 -> resource "azurerm_network_profile" "example" 使用相同的网络配置文件名称和问题子网 ID。

3rd - 在 terraform 成功创建网络配置文件后,通过 -> az network profile delete --id 删除它 ...(您可以通过 az network profile list --query [].id -o tsv 找到 id)

4 - 转到门户并将子网委托从容器更改为 none,保存后我可以删除子网和 vnet。

下面是解决方法。有时尝试只删除是行不通的。请按照以下步骤进行操作,这些步骤已经过测试并且对我有用。

NETWORK_PROFILE_ID=$(az network profile list --resource-group yourResourceGroup --query [0].id --output tsv)

az network profile delete --id $NETWORK_PROFILE_ID -y

这是一个已知问题,Microsoft 正在处理它。对我有用的解决方法是将网络配置文件属性中的 containerNetworkInterfaceConfigurations 属性 更新为空列表

# Get network profile ID
NETWORK_PROFILE_ID=$(az network profile list --resource-group <reource-group-name> --query [0].id --output tsv)

az resource update --ids $NETWORK_PROFILE_ID --set properties.containerNetworkInterfaceConfigurations=[]

然后删除就可以了

az network profile delete --id $NETWORK_PROFILE_ID -y