通过AZ cli添加vnet规则失败,出现500个错误

时间:2017-11-20 12:38:45

标签: azure-container-service azure-sql-server

我正在尝试使用Azure AKS,我遇到了通过Azure CLI为我的SQL服务器添加vnet规则的问题。它死了一个错误:

  

请求中出错。,RetryError:   HTTPSConnectionPool(host ='management.azure.com',port = 443):最大   url:

超出了重试次数      

/ subscriptions / ...路径省略... / mysql / virtualNetworkRules / my-vnet-rule?api-version = 2015-05-01-preview   (由ResponseError引起('太多500错误响应',))

这是我到目前为止所做的:

az group create --name myrg --location centralus
az aks create -n mycluster  -g myrg --generate-ssh-keys
az aks get-credentials -g myrg -n mycluster
az sql server create --name mysql  -g myrg  --location centralus  --admin-user myuser --admin-password mypassword

此时我最终得到两个RG,一个名为“myrg”,另一个名为“CM_myrg_mycluster_centralus”。我的SQL服务器是“myrg”,CM_ *中有一个vnet“aks-vnet-1234567”。 vnet包含子网“aks-subnet”。

然后我尝试添加vnet规则:

az sql server vnet-rule create --name my-vnet-rule --server mysql --vnet "MC_myrg_mycluster_centralus/aks-vnet" -g mygroup --subnet "aks-subnet"

并得到上述错误。

我也尝试过指定包含后缀号码的vnet(例如aks-vnet-1234567),但错误相同。

这可能意味着我没有在某处使用正确的语法。有人可以澄清吗?

AZ CLI 2.0.21 Linux(Ubuntu)

1 个答案:

答案 0 :(得分:1)

我这样解决了:

  1. 在此之前,我需要将sql添加到服务端点:

    az network vnet subnet update -n aks-subnet -g myrg --vnet-name aks-vnet-xxx --service-endpoints "Microsoft.Sql"

  2. 重新设计查询以使用--subnet ID代替--subnet NAME--vnet-name。它也应该可以使用以前的语法。

  3. Vnet-name将类似于/subscriptions/.../resourceGroups.../aks-subnet

    现在应该创建您的规则。您还可以在规则创建期间使用-i忽略服务端点,但我相信最终会使用已禁用的规则。