4

我尝试在英国西部地区创建一个 Azure 服务容器。我顺利完成了所有步骤,但是在我遇到了几分钟后单击“创建”后:

LocationNotAvailableForResourceType 提供的位置“ukwest”不适用于资源类型“Microsoft.ContainerService/containerServices”。资源类型的可用区域列表为“japaneast,centralus,eastus2,japanwest,eastasia,southcentralus,australiaeast,australiasoutheast,brazilsouth,southeastasia,westus,northcentralus,westeurope,northeurope,eastus”。

好的,我意识到这是我的错误,并继续在西欧创建容器。

现在,当我尝试创建容器时,我遇到了同样的错误,尽管将位置设置为西欧。

我努力了 :

  1. 艰难的刷新并再次经历整个过程。
  2. 清除我的网络缓存并再次完成整个过程。
  3. 打开一个隐身窗口并再次完成整个过程。

我还确保在我的订阅 ID 上注册了 Azure 容器服务和 Azure 容器注册表。最初我尝试部署的资源组设置为 UK West,但是在西欧删除并重新创建后,我仍然无法创建服务容器。

更新:

我在这个案例上获得了 Microsoft Azure 支持。似乎存在一个问题,即我的订阅 ID 无法在西欧地区创建服务容器。这已提交给技术团队。收到后我会在这里发布解决方案。

4

3 回答 3

0

西欧地区支持 Azure 容器服务,您可以在此链接中查看服务的支持情况:

您显然没有展示您是如何创建集群的,我们需要有关您所遵循的步骤和一些屏幕截图的更多信息。但正如您所知, 它确实有效,我刚刚在Az cli 2.0上使用以下命令将一个 kubernetes 集群部署到“westeurope”区域:

RG=stackoverflowtest
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/stackoverflowtest/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": "stackoverflowtest"
}

而且,这是关于如何部署 Kubernetes ACS 的官方文档:

于 2017-03-14T21:05:36.600 回答
0
  1. 即使它通过了所有验证检查,告诉我部署失败很好。改了dns就好了。

现在不应发生这种情况,因为 ACS 已开始显示更详细的错误消息。此外,ACS 目前正在推出另一项关于 DNS 名称已发生错误的更改,应该会在大约 2 周内在全球范围内可用。通过此更改,错误消息应该更加详细和可操作。

  1. 确保您已在订阅 ID 上注册了 Azure 容器服务和 Azure 容器注册表。

除非他们的场景需要,否则用户无需注册 ACR 即可使用 ACS。

  1. 确保您正在部署到实际支持您的功能的区域,不仅要确保您的资源组位于同一有效区域中。(它允许您通过所有验证,选择位于无效区域中的资源组)

我假设您使用门户进行部署。在某一时刻,门户显示所有公共 Azure 区域,而不仅仅是 ACS 区域。此后,此问题已得到解决。

  1. 确保您的资源组不是由先前失败的部署创建的。

这是设计使然(即使资源组名称在全球范围内是唯一的,也会在资源组所在的区域中创建 ACS)。

  1. 尝试将您的 dns 更改为其他内容,它可能以某种方式无效。虽然它不会告诉你这一点,但只是让部署失败。

已创建的 ACS 资源不允许用户更改 DNS 名称前缀。如果您不介意共享操作 ID/资源名称,我可以查看此内容并回复您。

于 2017-04-06T22:20:19.570 回答
0

好的,所以我已经和我一起获得了 MSFT 支持几个星期。解决方案!

我有一个您无法使用的 dns。即使它通过了所有验证检查,告诉我部署失败很好。

改了dns就好了。

所以总结一下你需要做的所有事情,它没有在任何地方说明:

  • 确保您已在订阅 ID 上注册了 Azure 容器服务和 Azure 容器注册表。

  • 确保您正在部署到实际支持您的功能的区域,不仅要确保您的资源组位于同一有效区域中。(它允许您通过所有验证,选择位于无效区域中的资源组)

  • 确保您的资源组不是由先前失败的部署创建的。

  • 尝试将您的 dns 更改为其他内容,它可能以某种方式无效。尽管它不会告诉您这一点,但部署失败即可。

  • 本质上根本不信任 Azure 上的验证。它会告诉你你能够做事并且一切都很好,而实际上并非如此。

我将使用收到的任何进一步相关更新来编辑此答案。

于 2017-03-29T10:08:51.077 回答