通过 AZ cli 添加 vnet 规则失败并出现 500 错误
Adding vnet rule through AZ cli fails with 500 errors
我正在试验 Azure AKS,我 运行 遇到了通过 Azure CLI 为我的 SQL 服务器添加 vnet 规则的问题。它死于错误:
Error occurred in request., RetryError:
HTTPSConnectionPool(host='management.azure.com', port=443): Max
retries exceeded with url:
/subscriptions/...path omitted.../mysql/virtualNetworkRules/my-vnet-rule?api-version=2015-05-01-preview
(Caused by ResponseError('too many 500 error responses',))
这是我到目前为止所做的:
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)
我是这样解决的:
在此之前,我需要将 sql 添加到服务端点:
az network vnet subnet update -n aks-subnet -g myrg --vnet-name aks-vnet-xxx --service-endpoints "Microsoft.Sql"
修改了查询以使用 --subnet ID
而不是 --subnet NAME
和 --vnet-name
。使用以前的语法也应该是可行的。
Vnet-name 类似于 /subscriptions/.../resourceGroups.../aks-subnet
您的规则现在应该已创建。您还可以使用 -i
在规则创建期间忽略服务端点,但我相信最终会禁用规则。
我正在试验 Azure AKS,我 运行 遇到了通过 Azure CLI 为我的 SQL 服务器添加 vnet 规则的问题。它死于错误:
Error occurred in request., RetryError: HTTPSConnectionPool(host='management.azure.com', port=443): Max retries exceeded with url:
/subscriptions/...path omitted.../mysql/virtualNetworkRules/my-vnet-rule?api-version=2015-05-01-preview (Caused by ResponseError('too many 500 error responses',))
这是我到目前为止所做的:
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)
我是这样解决的:
在此之前,我需要将 sql 添加到服务端点:
az network vnet subnet update -n aks-subnet -g myrg --vnet-name aks-vnet-xxx --service-endpoints "Microsoft.Sql"
修改了查询以使用
--subnet ID
而不是--subnet NAME
和--vnet-name
。使用以前的语法也应该是可行的。
Vnet-name 类似于 /subscriptions/.../resourceGroups.../aks-subnet
您的规则现在应该已创建。您还可以使用 -i
在规则创建期间忽略服务端点,但我相信最终会禁用规则。