无法创建 Azure 服务容器
Cannot create Azure Service Container
我尝试在英国西部地区创建一个 Azure 服务容器。我毫无问题地完成了所有步骤,但是在我点击 'Create' 片刻后,我遇到了:
LocationNotAvailableForResourceTypeThe provided location 'ukwest' is not available for resource type 'Microsoft.ContainerService/containerServices'. List of available regions for the resource type is 'japaneast,centralus,eastus2,japanwest,eastasia,southcentralus,australiaeast,australiasoutheast,brazilsouth,southeastasia,westus,northcentralus,westeurope,northeurope,eastus'.
好吧,我意识到这是我的错误并继续在西欧创建容器。
现在,当我尝试创建容器时,我遇到了同样的错误,尽管将位置设置为西欧。
我试过了:
- 辛苦的刷新一遍,整个过程又一遍。
- 正在清除我的网络缓存并再次执行整个过程。
- 打开隐身模式window并完成整个过程
再次.
我还确保在我的订阅 ID 上注册了 Azure 容器服务和 Azure 容器注册表。最初我尝试部署的资源组设置为英国西部,但是在西欧删除并重新创建后,我仍然无法创建服务容器。
更新:
我在这个案例中获得了 Microsoft Azure 支持。似乎存在一个问题,即我的订阅 ID 无法在西欧区域创建服务容器。这已提交给技术团队。当我收到它时,我会 post 解决方案在这里。
西欧地区支持 Azure 容器服务,您可以在这个 link:
中看到服务的支持
您显然没有展示您是如何创建集群的,我们需要有关您正在执行的步骤的更多信息和一些屏幕截图。但正如你所知,它确实有效,我刚刚在 Az cli 2.0 上使用以下命令将一个 kubernetes 集群部署到 'westeurope' 区域:
RG=Whosebugtest
LOCATION=westeurope
az group create --name=$RG --location=$LOCATION
az acs create --orchestrator-type=kubernetes --resource-group $RG --name=$CLUSTER_NAME --dns-prefix=$DNS_PREFIX
这是你在 5-10 分钟后得到的结果是这样的:
creating service principal.........done
waiting for AAD role to propagate.done
{
"id": "/subscriptions/xxxxxxxx-xxx-xxxx-xxx-xxxxxxxxxxxd/resourceGroups/Whosebugtest/providers/Microsoft.Resources/deployments/azureclixx.xx",
"name": "azureclixx.xx",
"properties": {
"correlationId": "xxxxxxx-xxxx-xxx-xxxx-xxxxxxxxxx",
"debugSetting": null,
"dependencies": [],
"mode": "Incremental",
"outputs": null,
"parameters": {
"clientSecret": {
"type": "SecureString"
}
},
"parametersLink": null,
"providers": [
{
"id": null,
"namespace": "Microsoft.ContainerService",
"registrationState": null,
"resourceTypes": [
{
"aliases": null,
"apiVersions": null,
"locations": [
"westeurope"
],
"properties": null,
"resourceType": "containerServices"
}
]
}
],
"provisioningState": "Succeeded",
"template": null,
"templateLink": null,
"timestamp": "2017-03-14T21:00:39.066034+00:00"
},
"resourceGroup": "Whosebugtest"
}
而且,这是关于如何部署 kubernetes ACS 的官方文档:
好吧,我已经有几个星期的 MSFT 支持了。解决方案!
我有一个你无法使用的 DNS。尽管它通过了所有验证检查,告诉我部署失败没问题。
换了dns,没问题。
所以总结一下你需要做的所有事情,它没有在任何地方说明:
确保您已在订阅 ID 上注册了 Azure 容器服务和 Azure 容器注册表。
确保您部署到实际支持您的功能的区域,不仅要确保您的资源组位于同一有效区域。 (它允许您通过选择位于无效区域中的资源组的所有验证)
确保您的资源组不是由之前失败的部署创建的。
尝试将您的 dns 更改为其他内容,它可能以某种方式无效。虽然它不会告诉你这个,但只是部署失败。
基本上根本不信任 Azure 上的验证。它会告诉您您可以做事并且一切都很好,但实际上并非如此。
我会根据收到的任何进一步的相关更新来编辑此答案。
- 尽管它通过了所有验证检查并告诉我部署失败没问题。
换了dns就好了
现在应该不会发生这种情况,因为 ACS 已经开始显示更详细的错误消息。此外,ACS 目前正在推出另一项关于 DNS 名称已出错的更改,应该会在大约 2 周内在全球范围内提供。通过此更改,错误消息应该更加详细和可操作。
- 确保您已经在订阅 ID 上注册了 Azure 容器服务和 Azure 容器注册表。
用户无需注册 ACR 即可使用 ACS,除非他们的场景需要它。
- 确保您正在部署到实际支持您的功能的区域,不仅要确保您的资源组位于同一有效区域。 (它允许您通过选择位于无效区域中的资源组的所有验证)
我假设您使用门户进行部署。门户网站一度显示所有 public Azure 区域,而不仅仅是 ACS 区域。此问题已得到修复。
- 确保您的资源组不是由之前失败的部署创建的。
这是设计使然(ACS 将在资源组所在的区域中创建,即使资源组名称在全球范围内是唯一的)。
- 尝试将您的 dns 更改为其他内容,它可能以某种方式无效。虽然它不会告诉你这个,只是部署失败。
已创建的 ACS 资源不允许用户更改 DNS 名称前缀。如果您不介意分享操作 id/resource 名称,我可以调查一下并回复您。
我尝试在英国西部地区创建一个 Azure 服务容器。我毫无问题地完成了所有步骤,但是在我点击 'Create' 片刻后,我遇到了:
LocationNotAvailableForResourceTypeThe provided location 'ukwest' is not available for resource type 'Microsoft.ContainerService/containerServices'. List of available regions for the resource type is 'japaneast,centralus,eastus2,japanwest,eastasia,southcentralus,australiaeast,australiasoutheast,brazilsouth,southeastasia,westus,northcentralus,westeurope,northeurope,eastus'.
好吧,我意识到这是我的错误并继续在西欧创建容器。
现在,当我尝试创建容器时,我遇到了同样的错误,尽管将位置设置为西欧。
我试过了:
- 辛苦的刷新一遍,整个过程又一遍。
- 正在清除我的网络缓存并再次执行整个过程。
- 打开隐身模式window并完成整个过程 再次.
我还确保在我的订阅 ID 上注册了 Azure 容器服务和 Azure 容器注册表。最初我尝试部署的资源组设置为英国西部,但是在西欧删除并重新创建后,我仍然无法创建服务容器。
更新:
我在这个案例中获得了 Microsoft Azure 支持。似乎存在一个问题,即我的订阅 ID 无法在西欧区域创建服务容器。这已提交给技术团队。当我收到它时,我会 post 解决方案在这里。
西欧地区支持 Azure 容器服务,您可以在这个 link:
中看到服务的支持您显然没有展示您是如何创建集群的,我们需要有关您正在执行的步骤的更多信息和一些屏幕截图。但正如你所知,它确实有效,我刚刚在 Az cli 2.0 上使用以下命令将一个 kubernetes 集群部署到 'westeurope' 区域:
RG=Whosebugtest
LOCATION=westeurope
az group create --name=$RG --location=$LOCATION
az acs create --orchestrator-type=kubernetes --resource-group $RG --name=$CLUSTER_NAME --dns-prefix=$DNS_PREFIX
这是你在 5-10 分钟后得到的结果是这样的:
creating service principal.........done
waiting for AAD role to propagate.done
{
"id": "/subscriptions/xxxxxxxx-xxx-xxxx-xxx-xxxxxxxxxxxd/resourceGroups/Whosebugtest/providers/Microsoft.Resources/deployments/azureclixx.xx",
"name": "azureclixx.xx",
"properties": {
"correlationId": "xxxxxxx-xxxx-xxx-xxxx-xxxxxxxxxx",
"debugSetting": null,
"dependencies": [],
"mode": "Incremental",
"outputs": null,
"parameters": {
"clientSecret": {
"type": "SecureString"
}
},
"parametersLink": null,
"providers": [
{
"id": null,
"namespace": "Microsoft.ContainerService",
"registrationState": null,
"resourceTypes": [
{
"aliases": null,
"apiVersions": null,
"locations": [
"westeurope"
],
"properties": null,
"resourceType": "containerServices"
}
]
}
],
"provisioningState": "Succeeded",
"template": null,
"templateLink": null,
"timestamp": "2017-03-14T21:00:39.066034+00:00"
},
"resourceGroup": "Whosebugtest"
}
而且,这是关于如何部署 kubernetes ACS 的官方文档:
好吧,我已经有几个星期的 MSFT 支持了。解决方案!
我有一个你无法使用的 DNS。尽管它通过了所有验证检查,告诉我部署失败没问题。
换了dns,没问题。
所以总结一下你需要做的所有事情,它没有在任何地方说明:
确保您已在订阅 ID 上注册了 Azure 容器服务和 Azure 容器注册表。
确保您部署到实际支持您的功能的区域,不仅要确保您的资源组位于同一有效区域。 (它允许您通过选择位于无效区域中的资源组的所有验证)
确保您的资源组不是由之前失败的部署创建的。
尝试将您的 dns 更改为其他内容,它可能以某种方式无效。虽然它不会告诉你这个,但只是部署失败。
基本上根本不信任 Azure 上的验证。它会告诉您您可以做事并且一切都很好,但实际上并非如此。
我会根据收到的任何进一步的相关更新来编辑此答案。
- 尽管它通过了所有验证检查并告诉我部署失败没问题。 换了dns就好了
现在应该不会发生这种情况,因为 ACS 已经开始显示更详细的错误消息。此外,ACS 目前正在推出另一项关于 DNS 名称已出错的更改,应该会在大约 2 周内在全球范围内提供。通过此更改,错误消息应该更加详细和可操作。
- 确保您已经在订阅 ID 上注册了 Azure 容器服务和 Azure 容器注册表。
用户无需注册 ACR 即可使用 ACS,除非他们的场景需要它。
- 确保您正在部署到实际支持您的功能的区域,不仅要确保您的资源组位于同一有效区域。 (它允许您通过选择位于无效区域中的资源组的所有验证)
我假设您使用门户进行部署。门户网站一度显示所有 public Azure 区域,而不仅仅是 ACS 区域。此问题已得到修复。
- 确保您的资源组不是由之前失败的部署创建的。
这是设计使然(ACS 将在资源组所在的区域中创建,即使资源组名称在全球范围内是唯一的)。
- 尝试将您的 dns 更改为其他内容,它可能以某种方式无效。虽然它不会告诉你这个,只是部署失败。
已创建的 ACS 资源不允许用户更改 DNS 名称前缀。如果您不介意分享操作 id/resource 名称,我可以调查一下并回复您。