无法创建 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'.

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

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

我试过了:

  1. 辛苦的刷新一遍,整个过程又一遍。
  2. 正在清除我的网络缓存并再次执行整个过程。
  3. 打开隐身模式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 上的验证。它会告诉您您可以做事并且一切都很好,但实际上并非如此。

我会根据收到的任何进一步的相关更新来编辑此答案。

  1. 尽管它通过了所有验证检查并告诉我部署失败没问题。 换了dns就好了

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

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

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

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

我假设您使用门户进行部署。门户网站一度显示所有 public Azure 区域,而不仅仅是 ACS 区域。此问题已得到修复。

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

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

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

已创建的 ACS 资源不允许用户更改 DNS 名称前缀。如果您不介意分享操作 id/resource 名称,我可以调查一下并回复您。