当我尝试一个来自https://github.com/kubernetes-incubator/client-python/blob/master/examples/exec.py的示例kubernetes python客户端时,当我尝试一个名称“My-a World”时,我得到一个错误,说复制控制器名称必须与正则表达式a-z0-9?(.a-z0-9?)*匹配。根据错误消息中打印的正则表达式,这是意料之中的,但当查看https://kubernetes.io/docs/tutorials/stateless-application/run-stateless-ap-replication-controller/#resizing-a-replication-controller上的Kubernetesdocumentation页面时,我发现名称必须符合RFC1035。现在,错误消息中打印的正则表达式看起来不符合RFC1035正则表达式(Regular Expression for validating DNS label ( host name))。这看起来像是kubernetes中的一个bug。有人能证实这一点吗?
发布于 2017-04-07 15:20:34
TL;DR:
该文档似乎包含旧的无效信息。ReplicationControllers符合RFC 1123。
代码遍历:
为了验证复制控制器,我们使用了ValidateReplicationControllerName,它基本上是一个称为NameIsDNSSubdomain的函数
这又调用了IsDNS1123Subdomain,所以最后一个函数基于RFC1123进行验证。
有一行写着:
DNS-1123子域必须由小写字母数字字符、'-‘或'.’组成,并且必须以字母数字字符开头和结尾
https://stackoverflow.com/questions/43214494
复制相似问题