对不起,标题神秘,请让我解释一下。
我正在尝试在名为 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作为解决方法。不过,有一个解决方案会很棒。
在 Azure 中,仅允许使用 DNS 名称的数字、小写字母和短划线,值必须以小写字母开头,不能以斜杠结尾,并且日志数也必须少于 63 个字符。
当我们使用 CLI 2.0 创建 Azure ACS k8 时,我们可以使用此参数--dns-prefix
指定 DNS 名称。喜欢这个:
az acs create --orchestrator-type=kubernetes --resource-group Foo_Bar_BAZ --name=someCluster --dns-prefix XXXX --generate-ssh-keys