【问题标题】:InvalidDomainNameLabel when creating a Azure CS Cluster in a RG with Underscores在带有下划线的 RG 中创建 Azure CS 群集时出现 InvalidDomainNameLabel
【发布时间】:2017-06-21 23:43:21
【问题描述】:

对不起,这个神秘的标题,请让我解释一下。

我正在尝试在名为 Foo_Bar_BAZ 的资源组中使用 Azure 容器服务创建 Kubernetes 集群

 az acs create --orchestrator-type=kubernetes --resource-group 
    Foo_Bar_BAZ --name=someCluster --generate-ssh-keys

这失败了:

 At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details. {
  "error": {
    "code": "InvalidDomainNameLabel",
    "message": "Provisioning of resource(s) for container service 'zipkinCluster' in resource group 'Foo_Bar_BAZ' failed.\nMessage: 'The domain name label somecluster-Foo_Bar_BAZ-16b263 is invalid. It must conform to the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$.'.\nDetails: '[]'"
  }
}  Correlation ID: fd8fa3fd-6ab8-4b10-8825-9e8bf28d1cdf

问题出在这里:'The domain name label somecluster-Foo_Bar_BAZ-16b263 is invalid. 下划线不符合正则表达式,但它来自资源组。

回顾一下:

  • 下划线适用于资源组,但在重复用于创建域名时,它们不符合验证正则表达式。

另一种选择是显式分配符合正则表达式的域名,但我找不到通过 Azure CLI 2.0 执行此操作的方法。 也许我错过了争论。

这个愚蠢的错误可能需要创建一个不带下划线的新 RG。

谢谢

编辑:创建了不带 _ 的新 RG 作为解决方法。不过如果有解决方案就好了。

【问题讨论】:

  • 你说得对,我们不能用_来命名dns,只能使用数字、小写字母和破折号。

标签: azure azure-active-directory azure-container-service azure-cli2


【解决方案1】:

在 Azure 中,DNS 名称只允许使用数字、小写字母和破折号,该值必须以小写字母开头,不能以斜杠结尾,并且还必须少于 63 个字符 log。

当我们使用 CLI 2.0 创建 Azure ACS k8s 时,我们可以使用这个参数--dns-prefix 来指定 DNS 名称。像这样:

az acs create --orchestrator-type=kubernetes --resource-group Foo_Bar_BAZ --name=someCluster --dns-prefix XXXX --generate-ssh-keys

【讨论】:

  • 如果是这种情况,并且资源组中允许使用下划线,那么默认命名策略不应该盲目使用资源组名称。至少用破折号替换它们。
猜你喜欢
  • 2015-04-12
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-22
  • 1970-01-01
相关资源
最近更新 更多